diff --git a/addons/godot-xr-tools/CONTRIBUTORS.md b/addons/godot-xr-tools/CONTRIBUTORS.md new file mode 100644 index 0000000..f7f8691 --- /dev/null +++ b/addons/godot-xr-tools/CONTRIBUTORS.md @@ -0,0 +1,20 @@ +Contributors +============ + +The main author of this project is [Bastiaan Olij](https://github.com/BastiaanOlij) who manages the source repository found at: +https://github.com/GodotVR/godot-xr-tools + +Other people who have helped out by submitting fixes, enhancements, etc are: +- [Florian Jung](https://github.com/Windfisch) +- [RMKD](https://github.com/RMKD) +- [Alessandro Schillaci](https://github.com/silverslade) +- [jtank4](https://github.com/jtank4) +- [Malcolm Nixon](https://github.com/malcolmnixon) +- [Sam Sarette](https://github.com/lunarcloud) +- [Henodude](https://github.com/Henodude) +- [Miodrag Sejic](https://github.com/DigitalN8m4r3) +- [Carlos Padial](https://github.com/surreal6) +- [Julian Todd](https://github.com/goatchurchprime) +- [Kai Tödter](https://github.com/toedter) + +Want to be on this list? We would love your help. diff --git a/addons/godot-xr-tools/LICENSE b/addons/godot-xr-tools/LICENSE new file mode 100644 index 0000000..f8f1c82 --- /dev/null +++ b/addons/godot-xr-tools/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018-2023 Bastiaan Olij and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/addons/godot-xr-tools/VERSIONS.md b/addons/godot-xr-tools/VERSIONS.md new file mode 100644 index 0000000..79640a6 --- /dev/null +++ b/addons/godot-xr-tools/VERSIONS.md @@ -0,0 +1,177 @@ +# 4.2.1 +- Fixed snap-zones showing highlight when disabled. +- Fixed pickup leaving target highlighted after picking up. +- Fixed collision hands getting stuck too far from the real hands. + +# 4.2.0 +- Environments can now be set normally in scenes loaded through the staging system. +- Fixed issue with not being able to push rigid bodies when colliding with them. +- Fixed player movement on slopes. +- Fixed lag in finger-poke. +- Added initial collision hand support. +- Added support for custom materials for 2D in 3D viewport +- Updated pointer to support visibility properties and events +- Modified virtual keyboard to expose viewport controls and default to unshaded +- Cleaned up teleport and added more properties for customization +- Modified pickup highlighting to support pickables in snap-zones +- Added "UI Objects" layer 23 for viewports to support interaction by pointer and poking +- Fixed player scaling issues with crouching and poke +- **minor-breakage** Added support for passing user data between staged scenes with default handling for spawn-points +- Moved teleport logic to player and added teleport area node +- Change pointer event dispatching +- Added multi-touch on 2D in 3D viewports and virtual-keyboard +- Added option to disable laser-pointers when close to specific bodies/areas + +# 4.1.0 +- Enhanced grappling to support collision and target layers +- Added Godot Editor XR Tools menu for layers and openxr configuration +- Improved gliding to support roll-turning while flapping +- Added render_target_size_multiplier to StartXR (requires Godot 4.1+) + +# 4.0.0 +- Conversion to Godot 4 +- Fixed footstep resource leak and added jump sounds and footstep signal +- Added grab-point switching to pickable objects +- Added return-to-snap-zone feature + +# 3.4.0 +- Fixed footstep resource leak and added jump sounds and footstep signal +- Added grab-point switching to pickable objects +- Added return-to-snap-zone feature + +# 3.3.0 +- Added reset-scene and scene-control functions to scene-base +- Fixed snap-zones stealing objects picked out of other near-by snap-zones +- Improved player body so it can be used to child objects to +- Updated scene/script default physics layers to match recommendations on website + +# 3.2.0 +- Minimum supported Godot version set to 3.5 +- Added glide option for turning with arm-roll +- Added physics gravity effects on the player so they can walk around a planet +- Added wall-walking movement provider +- Cleaned the code to pass gdlint code checks +- Modified to work with both WebXR and OpenXR +- Added enable property to pickable objects +- Added support for snap-on-drop to snap-zones +- Added glide options for gaining altitude when flapping arms +- Added option to disable snap-turn repeating by setting the delay to 0 +- Added capability for pointer function to auto-switch between controllers + +# 3.1.0 +- Improvements to our 2D in 3D viewport for filtering, unshaded, and transparency options +- Fixed editor preview system for our 2D in 3D viewport +- Use value based grip input with threshold +- Improved pointer demo supporting left hand with switching +- Enhanced pointer laser visibility options for colliding with targets +- Implement poke feature (finger interaction) +- Improvements to snap turning +- Moved staging solution into plugin so it can be re-used +- Allow setting different animations for hands +- Added enable/disable to snap-zones +- Added XR settings as Godot editor plugin and the ability to load and save the settings +- Added crouching movement provider +- Modified climbing to use the hand which most recently grabbed the climbing object +- Added enable/disable to pickup function +- Added ability to override hand material +- Added realistic hand models and textures +- Added ability to override hand animations +- Added additional search functions to find nodes +- Added support for viewport 2D in 3D to support 2D scenes instanced in the tree +- Added sprinting movement provider +- Added support for setting hand-poses when the hand enters an area +- Added support for setting grab-points on objects, and the grab-points supporting different hand-poses + +# 3.0.0 +- Included demo project with test scenes to evaluate features +- Standardized class naming convention for all scripts to "XRTools" +- Standardized file naming convention to "snake_case_name.ext" +- Added many explicit type specifiers in preparation for GDScript 2.0 +- Renamed some functions to avoid name-collisions with Godot 4.0 + +# 2.6.0 +- Fixed enforcement of direct-movement maximum speed +- Added editor icons for all nodes +- Added collision bouncing to PlayerBody + +# 2.5.0 +- Added advanced player height control +- Modified climbing to collapse player to a sphere to allow mounting climbed objects +- Added crouch movement provider +- Added example fall damage detection +- Added moving platform support to player body +- Fixed player height-clamping to work in player-units +- Fixed glide T-pose detection to work in player-units +- Fixed jump detection to work in player-units +- Added valid-layer checking to teleport movement +- Modified hand meshes (blend and glb) to be scaled, so the hand scenes can be 1:1 scaled +- Modified hands to scale with world_scale (required for godot-openxr 1.3.0 and later) +- Added physics hands with PhysicsBody bones +- Fixed disabling of `_process` in XRToolsPickable script + +# 2.4.1 +- Fixed grab distance +- Fixed snap-zone instance drop and free issue +- Movement provides react properly when disabled +- Hiding grapple target when disabled + +# 2.4.0 +- Added configuration setting for head height in player body. +- Added Function_JumpDetect_movement to detect jumping via the players body and/or arms +- Improved responsiveness of snap-turning +- Moved flight logic from Function_Direct_movement to Function_Flight_movement +- Added option to disable player sliding on slopes +- Added support for remote grabbing +- Moved turning logic from Function_Direct_movement to Function_Turn_movement +- Fixed movement provider servicing so disabled/bypassed providers can report their finished events +- Added grappling movement provider +- Added snap-zones + +# 2.3.0 +- Added vignette +- Moved player physics into new PlayerBody asset (breaking change) +- Moved Function_Direct_movement settings for player physics into PlayerBody +- Added Function_Glide_movement to allow the player to glide +- Added Function_Jump_movement to allow the player to jump +- Added Function_Climb_movement to allow the player to climb +- Redid the setup of the hands to make it easier to extend to other gestures +- Improved pickup and throwing logic + +# 2.2 +- Changed default physics layers to make more sense (minor breaking change) +- Replaced Center On Node property with PickupCenter node you can place +- Made Object_pickable script work by itself and registers as class `XRToolsPickable` +- New Object_interactable convenience script that registers as class `XRToolsInteractable` that reacts to our pointer function +- Removed ducktype switch from pointer, pointer will use signals over ducktyping automatically (minor breaking change) + +# 2.1 +- added option to highlight object that can be picked up +- added option to snap object to given location (if reset transform is true) +- added callback when shader cache has finished +- using proper UI for layers +- added hand controllers that react on trigger and grip input +- fixed delta on move and slide (breaking change!) +- letting go of an object now adds angular velocity + +# 2.0 +- Renamed add on to **godot-xr-tools** +- Add enums to our export variables +- Add a switch on pickable objects to keep their current positioning when picked up +- Move direct movement player collision slightly backwards based on player radius +- Added switch between step turning and smooth turning +- Fixed sizing issue with teleport +- Added option to change pickup range + +# 1.2 +- Assign button to teleport function and no longer need to set origin +- Added pickable object support +- Fixed positioning of direct movement collision shape +- Added strafe and fly mode for directional +- Added ability to enable/disable the movement functions +- Added 2D in 3D viewport for UI +- Improved throwing by assigning linear velocity + +# 1.1* +- previous versions were not tracked + +* Note that version history before 1.2 was not kept and is thus incomplete diff --git a/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png b/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png new file mode 100644 index 0000000..7a4956f Binary files /dev/null and b/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png differ diff --git a/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import b/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import new file mode 100644 index 0000000..172212e --- /dev/null +++ b/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ocyj01x5mtt7" +path.s3tc="res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.s3tc.ctex" +path.etc2="res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/assets/misc/Hold trigger to continue.png" +dest_files=["res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.s3tc.ctex", "res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/assets/misc/progress_bar.png b/addons/godot-xr-tools/assets/misc/progress_bar.png new file mode 100644 index 0000000..febeb1b Binary files /dev/null and b/addons/godot-xr-tools/assets/misc/progress_bar.png differ diff --git a/addons/godot-xr-tools/assets/misc/progress_bar.png.import b/addons/godot-xr-tools/assets/misc/progress_bar.png.import new file mode 100644 index 0000000..45517bb --- /dev/null +++ b/addons/godot-xr-tools/assets/misc/progress_bar.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clbtsf0ahb3fm" +path.s3tc="res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.s3tc.ctex" +path.etc2="res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/assets/misc/progress_bar.png" +dest_files=["res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.s3tc.ctex", "res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/audio/area_audio.gd b/addons/godot-xr-tools/audio/area_audio.gd new file mode 100644 index 0000000..fcd55ce --- /dev/null +++ b/addons/godot-xr-tools/audio/area_audio.gd @@ -0,0 +1,53 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/audio.svg") +class_name XRToolsAreaAudio +extends AudioStreamPlayer3D + + +## XRTools Area Audio +## +## This node is attached as a child of a Area3D, +## since all the interactables are actualy Extensions of the Area3D, +## this node will work on those as well + + +## XRToolsAreaAudioType to associate with this Area Audio +@export var area_audio_type : XRToolsAreaAudioType + +@onready var area : Area3D = get_parent() + + +# Add support for is_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsAreaAudio" + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + # Listen for enter + area.body_entered.connect(_on_body_entered) + # Listen for exit + area.body_exited.connect(_on_body_exited) + + +func _on_body_entered(_body): + if playing: + stop() + stream = area_audio_type.touch_sound + play() + + +func _on_body_exited(_body): + if playing: + stop() + + +# This method checks for configuration issues. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + if !area_audio_type: + warnings.append("Area audio type not specified") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/audio/area_audio.tscn b/addons/godot-xr-tools/audio/area_audio.tscn new file mode 100644 index 0000000..f58aa33 --- /dev/null +++ b/addons/godot-xr-tools/audio/area_audio.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://duqehif60vcjg"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/audio/area_audio.gd" id="1_q1jr0"] + +[node name="AreaAudio" type="AudioStreamPlayer3D"] +unit_size = 3.0 +max_distance = 100.0 +script = ExtResource("1_q1jr0") diff --git a/addons/godot-xr-tools/audio/area_audio_type.gd b/addons/godot-xr-tools/audio/area_audio_type.gd new file mode 100644 index 0000000..3f2b2b7 --- /dev/null +++ b/addons/godot-xr-tools/audio/area_audio_type.gd @@ -0,0 +1,28 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/audio.svg") +class_name XRToolsAreaAudioType +extends Resource + + +## XRTools Area Audio Type Resource +## +## This resource defines the audio stream to play when +## a objects enters it + + +## Surface name +@export var name : String = "" + +## Optional audio stream to play when the player lands on this surface +@export var touch_sound : AudioStream + + +# This method checks for configuration issues. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + if name == "": + warnings.append("Area audio type must have a name") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/audio/pickable_audio.gd b/addons/godot-xr-tools/audio/pickable_audio.gd new file mode 100644 index 0000000..baec23a --- /dev/null +++ b/addons/godot-xr-tools/audio/pickable_audio.gd @@ -0,0 +1,79 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/audio.svg") +class_name XRToolsPickableAudio +extends AudioStreamPlayer3D + + +## XRTools Pickable Audio +## +## This node is attached as a child of a Pickable, +## it plays audio for drop and hit based on velocity, +## along with a audio for when the object is being picked up. + + +## XRToolsPickableAudioType to associate with this pickable +@export var pickable_audio_type : XRToolsPickableAudioType + +## delta throttle is 1/10 of delta +@onready var delta_throttle : float = 0.1 + +@onready var _pickable : XRToolsPickable = get_parent() + + +# Add support for is_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsPickableAudio" + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + # Listen for when this object enters a body + _pickable.body_entered.connect(_on_body_entered) + # Listen for when this object is picked up or dropped + _pickable.picked_up.connect(_on_picked_up) + _pickable.dropped.connect(_on_dropped) + + +func _physics_process(_delta): + if !_pickable.sleeping: + if _pickable.linear_velocity.length() > 5: + volume_db = 0 + else: + volume_db -= _pickable.linear_velocity.length() * delta_throttle + + +# Called when this object is picked up +func _on_picked_up(_pickable) -> void: + volume_db = 0 + if playing: + stop() + stream = pickable_audio_type.grab_sound + play() + + +# Called when this object is dropped +func _on_dropped(_pickable) -> void: + for body in _pickable.get_colliding_bodies(): + if playing: + stop() + + +func _on_body_entered(_body): + if playing: + stop() + if _pickable.is_picked_up(): + stream = pickable_audio_type.hit_sound + else: + stream = pickable_audio_type.drop_sound + play() + + +# This method checks for configuration issues. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + if !pickable_audio_type: + warnings.append("Pickable audio type not specified") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/audio/pickable_audio.tscn b/addons/godot-xr-tools/audio/pickable_audio.tscn new file mode 100644 index 0000000..3b2a8f9 --- /dev/null +++ b/addons/godot-xr-tools/audio/pickable_audio.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=3 uid="uid://bikkxsbo8x7sd"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/audio/pickable_audio.gd" id="1_cfg1k"] + +[node name="PickableAudio" type="AudioStreamPlayer3D"] +unit_size = 3.0 +max_db = 1.0 +max_distance = 100.0 +script = ExtResource("1_cfg1k") diff --git a/addons/godot-xr-tools/audio/pickable_audio_type.gd b/addons/godot-xr-tools/audio/pickable_audio_type.gd new file mode 100644 index 0000000..f13a547 --- /dev/null +++ b/addons/godot-xr-tools/audio/pickable_audio_type.gd @@ -0,0 +1,34 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/audio.svg") +class_name XRToolsPickableAudioType +extends Resource + + +## XRTools Pickable Audio Type Resource +## +## This resource defines the audio streams to play when +## the pickable is being picked up/ dropped/ hit something while being held + + +## Surface name +@export var name : String = "" + +## Optional audio stream to play when the player picks up the pickable +@export var grab_sound : AudioStream + +## Optional audio stream to play when the player drops the pickable +@export var drop_sound : AudioStream + +## Optional audio stream to play when the item is beign held by the player +@export var hit_sound : AudioStream + + +# This method checks for configuration issues. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + if name == "": + warnings.append("Pickable audio type must have a name") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/audio/surface_audio.gd b/addons/godot-xr-tools/audio/surface_audio.gd new file mode 100644 index 0000000..9d339c4 --- /dev/null +++ b/addons/godot-xr-tools/audio/surface_audio.gd @@ -0,0 +1,32 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/foot.svg") +class_name XRToolsSurfaceAudio +extends Node + + +## XRTools Surface Audio Node +## +## This node is attached as a child of a StaticObject to give it a surface +## audio type. This will cause the XRToolsMovementFootStep to play the correct +## foot-step sounds when walking on the object. + + +## XRToolsSurfaceAudioType to associate with this surface +@export var surface_audio_type : XRToolsSurfaceAudioType + + +# Add support for is_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsSurfaceAudio" + + +# This method checks for configuration issues. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify the camera + if !surface_audio_type: + warnings.append("Surface audio type not specified") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/audio/surface_audio.tscn b/addons/godot-xr-tools/audio/surface_audio.tscn new file mode 100644 index 0000000..81fdcb9 --- /dev/null +++ b/addons/godot-xr-tools/audio/surface_audio.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/godot-xr-tools/audio/surface_audio.gd" type="Script" id=1] + +[node name="SurfaceAudio" type="Node"] +script = ExtResource( 1 ) diff --git a/addons/godot-xr-tools/audio/surface_audio_type.gd b/addons/godot-xr-tools/audio/surface_audio_type.gd new file mode 100644 index 0000000..f991d74 --- /dev/null +++ b/addons/godot-xr-tools/audio/surface_audio_type.gd @@ -0,0 +1,41 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/body.svg") +class_name XRToolsSurfaceAudioType +extends Resource + + +## XRTools Surface Type Resource +## +## This resource defines a type of surface, and the audio streams to play when +## the user steps on it + + +## Surface name +@export var name : String = "" + +## Optional audio stream to play when the player jumps on this surface +@export var jump_sound : AudioStream + +## Optional audio stream to play when the player lands on this surface +@export var hit_sound : AudioStream + +## Audio streams to play when the player walks on this surface +@export var walk_sounds :Array[AudioStream] = [] + +## Walking sound minimum pitch (to randomize steps) +@export_range(0.5, 1.0) var walk_pitch_minimum : float = 0.8 + +## Walking sound maximum pitch (to randomize steps) +@export_range(1.0, 2.0) var walk_pitch_maximum : float = 1.2 + + +# This method checks for configuration issues. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify the camera + if name == "": + warnings.append("Surface audio type must have a name") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/editor/icons/LICENSE b/addons/godot-xr-tools/editor/icons/LICENSE new file mode 100644 index 0000000..1625c17 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/LICENSE @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. \ No newline at end of file diff --git a/addons/godot-xr-tools/editor/icons/audio.svg b/addons/godot-xr-tools/editor/icons/audio.svg new file mode 100644 index 0000000..81449d5 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/audio.svg @@ -0,0 +1,48 @@ + + + + + + diff --git a/addons/godot-xr-tools/editor/icons/audio.svg.import b/addons/godot-xr-tools/editor/icons/audio.svg.import new file mode 100644 index 0000000..6b68a74 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/audio.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhnfbf4p0s74" +path="res://.godot/imported/audio.svg-20d7f0b624a1b2ef54f1b4d12970c8d0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot-xr-tools/editor/icons/audio.svg" +dest_files=["res://.godot/imported/audio.svg-20d7f0b624a1b2ef54f1b4d12970c8d0.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/addons/godot-xr-tools/editor/icons/body.svg b/addons/godot-xr-tools/editor/icons/body.svg new file mode 100644 index 0000000..315f25c --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/body.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot-xr-tools/editor/icons/body.svg.import b/addons/godot-xr-tools/editor/icons/body.svg.import new file mode 100644 index 0000000..787be50 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/body.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyg33jxco0rh6" +path="res://.godot/imported/body.svg-324e141d452c32f3136ca97c338025b4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot-xr-tools/editor/icons/body.svg" +dest_files=["res://.godot/imported/body.svg-324e141d452c32f3136ca97c338025b4.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/addons/godot-xr-tools/editor/icons/foot.svg b/addons/godot-xr-tools/editor/icons/foot.svg new file mode 100644 index 0000000..f10fa92 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/foot.svg @@ -0,0 +1,43 @@ + + + + + + + diff --git a/addons/godot-xr-tools/editor/icons/foot.svg.import b/addons/godot-xr-tools/editor/icons/foot.svg.import new file mode 100644 index 0000000..15c8f09 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/foot.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfkcd3fkyahqu" +path="res://.godot/imported/foot.svg-9e361563e010aa07be49bfb25fdb6639.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot-xr-tools/editor/icons/foot.svg" +dest_files=["res://.godot/imported/foot.svg-9e361563e010aa07be49bfb25fdb6639.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/addons/godot-xr-tools/editor/icons/function.svg b/addons/godot-xr-tools/editor/icons/function.svg new file mode 100644 index 0000000..4d4b901 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/function.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot-xr-tools/editor/icons/function.svg.import b/addons/godot-xr-tools/editor/icons/function.svg.import new file mode 100644 index 0000000..2e4ed63 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/function.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5vxil50s0ofi" +path="res://.godot/imported/function.svg-52c5f936037e0f38a4da2b1e16ae67fe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot-xr-tools/editor/icons/function.svg" +dest_files=["res://.godot/imported/function.svg-52c5f936037e0f38a4da2b1e16ae67fe.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/addons/godot-xr-tools/editor/icons/hand.svg b/addons/godot-xr-tools/editor/icons/hand.svg new file mode 100644 index 0000000..a81dd06 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot-xr-tools/editor/icons/hand.svg.import b/addons/godot-xr-tools/editor/icons/hand.svg.import new file mode 100644 index 0000000..c59f938 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/hand.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://beko1qhyybx7e" +path="res://.godot/imported/hand.svg-a05486d804ef16320d6cf54e06292b8f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot-xr-tools/editor/icons/hand.svg" +dest_files=["res://.godot/imported/hand.svg-a05486d804ef16320d6cf54e06292b8f.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/addons/godot-xr-tools/editor/icons/movement_provider.svg b/addons/godot-xr-tools/editor/icons/movement_provider.svg new file mode 100644 index 0000000..d7ff1a9 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/movement_provider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot-xr-tools/editor/icons/movement_provider.svg.import b/addons/godot-xr-tools/editor/icons/movement_provider.svg.import new file mode 100644 index 0000000..65c9b74 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/movement_provider.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://04fn15h4x333" +path="res://.godot/imported/movement_provider.svg-3c994cf0a3775c20f333be563d69fbf8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot-xr-tools/editor/icons/movement_provider.svg" +dest_files=["res://.godot/imported/movement_provider.svg-3c994cf0a3775c20f333be563d69fbf8.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/addons/godot-xr-tools/editor/icons/node.svg b/addons/godot-xr-tools/editor/icons/node.svg new file mode 100644 index 0000000..7cccd7e --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/node.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot-xr-tools/editor/icons/node.svg.import b/addons/godot-xr-tools/editor/icons/node.svg.import new file mode 100644 index 0000000..87553f5 --- /dev/null +++ b/addons/godot-xr-tools/editor/icons/node.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6gwa6o27pbry" +path="res://.godot/imported/node.svg-37d53571b4a4459efefcc791c5402b4f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot-xr-tools/editor/icons/node.svg" +dest_files=["res://.godot/imported/node.svg-37d53571b4a4459efefcc791c5402b4f.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/addons/godot-xr-tools/effects/vignette.gd b/addons/godot-xr-tools/effects/vignette.gd new file mode 100644 index 0000000..c8bb62a --- /dev/null +++ b/addons/godot-xr-tools/effects/vignette.gd @@ -0,0 +1,195 @@ +@tool +class_name XRToolsVignette +extends Node3D + +@export var radius : float = 1.0: set = set_radius +@export var fade : float = 0.05: set = set_fade +@export var steps : int = 32: set = set_steps + +@export var auto_adjust : bool = true: set = set_auto_adjust +@export var auto_inner_radius : float = 0.35 +@export var auto_fade_out_factor : float = 1.5 +@export var auto_fade_delay : float = 1.0 +@export var auto_rotation_limit : float = 20.0: set = set_auto_rotation_limit +@export var auto_velocity_limit : float = 10.0 + +var material : ShaderMaterial = preload("res://addons/godot-xr-tools/effects/vignette.tres") + +var auto_first = true +var fade_delay = 0.0 +var origin_node = null +var last_origin_basis : Basis +var last_location : Vector3 +@onready var auto_rotation_limit_rad = deg_to_rad(auto_rotation_limit) + +func set_radius(new_radius : float) -> void: + radius = new_radius + if is_inside_tree(): + _update_radius() + +func _update_radius() -> void: + if radius < 1.0: + if material: + material.set_shader_parameter("radius", radius * sqrt(2)) + $Mesh.visible = true + else: + $Mesh.visible = false + +func set_fade(new_fade : float) -> void: + fade = new_fade + if is_inside_tree(): + _update_fade() + +func _update_fade() -> void: + if material: + material.set_shader_parameter("fade", fade) + + +func set_steps(new_steps : int) -> void: + steps = new_steps + if is_inside_tree(): + _update_mesh() + +func _update_mesh() -> void: + var vertices : PackedVector3Array + var indices : PackedInt32Array + + vertices.resize(2 * steps) + indices.resize(6 * steps) + for i in steps: + var v : Vector3 = Vector3.RIGHT.rotated(Vector3.FORWARD, deg_to_rad((360.0 * i) / steps)) + vertices[i] = v + vertices[steps+i] = v * 2.0 + + var off = i * 6 + var i2 = ((i + 1) % steps) + indices[off + 0] = steps + i + indices[off + 1] = steps + i2 + indices[off + 2] = i2 + indices[off + 3] = steps + i + indices[off + 4] = i2 + indices[off + 5] = i + + # update our mesh + var arr_mesh = ArrayMesh.new() + var arr : Array + arr.resize(ArrayMesh.ARRAY_MAX) + arr[ArrayMesh.ARRAY_VERTEX] = vertices + arr[ArrayMesh.ARRAY_INDEX] = indices + arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arr) + arr_mesh.custom_aabb = AABB(Vector3(-1.0, -1.0, -1.0), Vector3(1.0, 1.0, 1.0)) + + $Mesh.mesh = arr_mesh + $Mesh.set_surface_override_material(0, material) + +func set_auto_adjust(new_auto_adjust : bool) -> void: + auto_adjust = new_auto_adjust + if is_inside_tree() and !Engine.is_editor_hint(): + _update_auto_adjust() + +func _update_auto_adjust() -> void: + # Turn process on if auto adjust is true. + # Note we don't turn it off here, we want to finish fading out the vignette if needed + if auto_adjust: + set_process(true) + +func set_auto_rotation_limit(new_auto_rotation_limit : float) -> void: + auto_rotation_limit = new_auto_rotation_limit + auto_rotation_limit_rad = deg_to_rad(auto_rotation_limit) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsVignette" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + if !Engine.is_editor_hint(): + origin_node = XRHelpers.get_xr_origin(self) + _update_mesh() + _update_radius() + _update_fade() + _update_auto_adjust() + else: + set_process(false) + +# Called on process +func _process(delta): + if Engine.is_editor_hint(): + return + + if !origin_node: + return + + if !auto_adjust: + # set to true for next time this is enabled + auto_first = true + + # We are done, turn off process + set_process(false) + + return + + if auto_first: + # first time we run process since starting, just record transform + last_origin_basis = origin_node.global_transform.basis + last_location = global_transform.origin + auto_first = false + return + + # Get our delta transform + var delta_b = origin_node.global_transform.basis * last_origin_basis.inverse() + var delta_v = global_transform.origin - last_location + + # Adjust radius based on rotation speed of our origin point (not of head movement). + # We convert our delta rotation to a quaterion. + # A quaternion represents a rotation around an angle. + var q = delta_b.get_rotation_quaternion() + + # We get our angle from our w component and then adjust to get a + # rotation speed per second by dividing by delta + var angle = (2 * acos(q.w)) / delta + + # Calculate what our radius should be for our rotation speed + var target_radius = 1.0 + if auto_rotation_limit > 0: + target_radius = 1.0 - ( + clamp(angle / auto_rotation_limit_rad, 0.0, 1.0) * (1.0 - auto_inner_radius)) + + # Now do the same for speed, this includes players physical speed but there + # isn't much we can do there. + if auto_velocity_limit > 0: + var velocity = delta_v.length() / delta + target_radius = min(target_radius, 1.0 - ( + clamp(velocity / auto_velocity_limit, 0.0, 1.0) * (1.0 - auto_inner_radius))) + + # if our radius is small then our current we apply it + if target_radius < radius: + set_radius(target_radius) + fade_delay = auto_fade_delay + elif fade_delay > 0.0: + fade_delay -= delta + else: + set_radius(clamp(radius + delta / auto_fade_out_factor, 0.0, 1.0)) + + last_origin_basis = origin_node.global_transform.basis + last_location = global_transform.origin + +# This method verifies the vignette has a valid configuration. +# Specifically it checks the following: +# - XROrigin3D is a parent +# - XRCamera3D is our parent +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Check the origin node + if !XRHelpers.get_xr_origin(self): + warnings.append("Parent node must be in a branch from XROrigin3D") + + # check camera node + var parent = get_parent() + if !parent or !parent is XRCamera3D: + warnings.append("Parent node must be an XRCamera3D") + + return warnings diff --git a/addons/godot-xr-tools/effects/vignette.gdshader b/addons/godot-xr-tools/effects/vignette.gdshader new file mode 100644 index 0000000..1309301 --- /dev/null +++ b/addons/godot-xr-tools/effects/vignette.gdshader @@ -0,0 +1,34 @@ +shader_type spatial; +render_mode depth_test_disabled, skip_vertex_transform, unshaded, cull_disabled; + +uniform vec4 color : source_color = vec4(0.0, 0.0, 0.0, 1.0); +uniform float radius = 1.0; +uniform float fade = 0.05; + +varying float dist; + +void vertex() { + vec3 v = VERTEX; + dist = length(v); + + // outer ring is 2.0, inner ring is 1.0, so this scales purely the inner ring + if (dist < 1.5) { + // Adjust by radius + dist = radius; + v *= dist; + + // We don't know our eye center, projecting a center point in the distance gives us a good enough approximation + vec4 eye = PROJECTION_MATRIX * vec4(0.0, 0.0, 100.0, 1.0); + + // and we offset our inner circle + v.xy += eye.xy / eye.z; + } + + // looks like this is broken in Godot 4... + POSITION = vec4(v, 1.0); +} + +void fragment() { + ALBEDO = color.rgb; + ALPHA = clamp((dist - radius) / fade, 0.0, 1.0); +} diff --git a/addons/godot-xr-tools/effects/vignette.tres b/addons/godot-xr-tools/effects/vignette.tres new file mode 100644 index 0000000..0acb398 --- /dev/null +++ b/addons/godot-xr-tools/effects/vignette.tres @@ -0,0 +1,10 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://cesiqdvdfojle"] + +[ext_resource type="Shader" path="res://addons/godot-xr-tools/effects/vignette.gdshader" id="1_x02h0"] + +[resource] +render_priority = 0 +shader = ExtResource("1_x02h0") +shader_parameter/color = Color(0, 0, 0, 1) +shader_parameter/radius = 0.2 +shader_parameter/fade = 0.05 diff --git a/addons/godot-xr-tools/effects/vignette.tscn b/addons/godot-xr-tools/effects/vignette.tscn new file mode 100644 index 0000000..3ac97d3 --- /dev/null +++ b/addons/godot-xr-tools/effects/vignette.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=4 format=3 uid="uid://cc6ngdqie8o8c"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/effects/vignette.gd" id="1"] +[ext_resource type="Material" uid="uid://cesiqdvdfojle" path="res://addons/godot-xr-tools/effects/vignette.tres" id="2_djtaj"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_yyajy"] +_surfaces = [{ +"aabb": AABB(-2, -2, 0, 4, 4, 1e-05), +"format": 4097, +"index_count": 192, +"index_data": PackedByteArray(32, 0, 33, 0, 1, 0, 32, 0, 1, 0, 0, 0, 33, 0, 34, 0, 2, 0, 33, 0, 2, 0, 1, 0, 34, 0, 35, 0, 3, 0, 34, 0, 3, 0, 2, 0, 35, 0, 36, 0, 4, 0, 35, 0, 4, 0, 3, 0, 36, 0, 37, 0, 5, 0, 36, 0, 5, 0, 4, 0, 37, 0, 38, 0, 6, 0, 37, 0, 6, 0, 5, 0, 38, 0, 39, 0, 7, 0, 38, 0, 7, 0, 6, 0, 39, 0, 40, 0, 8, 0, 39, 0, 8, 0, 7, 0, 40, 0, 41, 0, 9, 0, 40, 0, 9, 0, 8, 0, 41, 0, 42, 0, 10, 0, 41, 0, 10, 0, 9, 0, 42, 0, 43, 0, 11, 0, 42, 0, 11, 0, 10, 0, 43, 0, 44, 0, 12, 0, 43, 0, 12, 0, 11, 0, 44, 0, 45, 0, 13, 0, 44, 0, 13, 0, 12, 0, 45, 0, 46, 0, 14, 0, 45, 0, 14, 0, 13, 0, 46, 0, 47, 0, 15, 0, 46, 0, 15, 0, 14, 0, 47, 0, 48, 0, 16, 0, 47, 0, 16, 0, 15, 0, 48, 0, 49, 0, 17, 0, 48, 0, 17, 0, 16, 0, 49, 0, 50, 0, 18, 0, 49, 0, 18, 0, 17, 0, 50, 0, 51, 0, 19, 0, 50, 0, 19, 0, 18, 0, 51, 0, 52, 0, 20, 0, 51, 0, 20, 0, 19, 0, 52, 0, 53, 0, 21, 0, 52, 0, 21, 0, 20, 0, 53, 0, 54, 0, 22, 0, 53, 0, 22, 0, 21, 0, 54, 0, 55, 0, 23, 0, 54, 0, 23, 0, 22, 0, 55, 0, 56, 0, 24, 0, 55, 0, 24, 0, 23, 0, 56, 0, 57, 0, 25, 0, 56, 0, 25, 0, 24, 0, 57, 0, 58, 0, 26, 0, 57, 0, 26, 0, 25, 0, 58, 0, 59, 0, 27, 0, 58, 0, 27, 0, 26, 0, 59, 0, 60, 0, 28, 0, 59, 0, 28, 0, 27, 0, 60, 0, 61, 0, 29, 0, 60, 0, 29, 0, 28, 0, 61, 0, 62, 0, 30, 0, 61, 0, 30, 0, 29, 0, 62, 0, 63, 0, 31, 0, 62, 0, 31, 0, 30, 0, 63, 0, 32, 0, 0, 0, 63, 0, 0, 0, 31, 0), +"primitive": 3, +"vertex_count": 64, +"vertex_data": PackedByteArray(0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 190, 20, 123, 63, 194, 197, 71, 190, 0, 0, 0, 0, 94, 131, 108, 63, 22, 239, 195, 190, 0, 0, 0, 0, 49, 219, 84, 63, 218, 57, 14, 191, 0, 0, 0, 0, 243, 4, 53, 63, 243, 4, 53, 191, 0, 0, 0, 0, 218, 57, 14, 63, 49, 219, 84, 191, 0, 0, 0, 0, 21, 239, 195, 62, 94, 131, 108, 191, 0, 0, 0, 0, 196, 197, 71, 62, 190, 20, 123, 191, 0, 0, 0, 0, 46, 189, 59, 179, 0, 0, 128, 191, 0, 0, 0, 0, 194, 197, 71, 190, 190, 20, 123, 191, 0, 0, 0, 0, 20, 239, 195, 190, 95, 131, 108, 191, 0, 0, 0, 0, 217, 57, 14, 191, 50, 219, 84, 191, 0, 0, 0, 0, 243, 4, 53, 191, 243, 4, 53, 191, 0, 0, 0, 0, 50, 219, 84, 191, 217, 57, 14, 191, 0, 0, 0, 0, 94, 131, 108, 191, 23, 239, 195, 190, 0, 0, 0, 0, 191, 20, 123, 191, 193, 197, 71, 190, 0, 0, 0, 0, 0, 0, 128, 191, 46, 189, 187, 51, 0, 0, 0, 0, 191, 20, 123, 191, 189, 197, 71, 62, 0, 0, 0, 0, 94, 131, 108, 191, 21, 239, 195, 62, 0, 0, 0, 0, 48, 219, 84, 191, 219, 57, 14, 63, 0, 0, 0, 0, 244, 4, 53, 191, 242, 4, 53, 63, 0, 0, 0, 0, 221, 57, 14, 191, 47, 219, 84, 63, 0, 0, 0, 0, 26, 239, 195, 190, 94, 131, 108, 63, 0, 0, 0, 0, 198, 197, 71, 190, 190, 20, 123, 63, 0, 0, 0, 0, 46, 222, 76, 50, 0, 0, 128, 63, 0, 0, 0, 0, 200, 197, 71, 62, 190, 20, 123, 63, 0, 0, 0, 0, 27, 239, 195, 62, 93, 131, 108, 63, 0, 0, 0, 0, 215, 57, 14, 63, 51, 219, 84, 63, 0, 0, 0, 0, 242, 4, 53, 63, 245, 4, 53, 63, 0, 0, 0, 0, 49, 219, 84, 63, 219, 57, 14, 63, 0, 0, 0, 0, 95, 131, 108, 63, 21, 239, 195, 62, 0, 0, 0, 0, 191, 20, 123, 63, 188, 197, 71, 62, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 190, 20, 251, 63, 194, 197, 199, 190, 0, 0, 0, 0, 94, 131, 236, 63, 22, 239, 67, 191, 0, 0, 0, 0, 49, 219, 212, 63, 218, 57, 142, 191, 0, 0, 0, 0, 243, 4, 181, 63, 243, 4, 181, 191, 0, 0, 0, 0, 218, 57, 142, 63, 49, 219, 212, 191, 0, 0, 0, 0, 21, 239, 67, 63, 94, 131, 236, 191, 0, 0, 0, 0, 196, 197, 199, 62, 190, 20, 251, 191, 0, 0, 0, 0, 46, 189, 187, 179, 0, 0, 0, 192, 0, 0, 0, 0, 194, 197, 199, 190, 190, 20, 251, 191, 0, 0, 0, 0, 20, 239, 67, 191, 95, 131, 236, 191, 0, 0, 0, 0, 217, 57, 142, 191, 50, 219, 212, 191, 0, 0, 0, 0, 243, 4, 181, 191, 243, 4, 181, 191, 0, 0, 0, 0, 50, 219, 212, 191, 217, 57, 142, 191, 0, 0, 0, 0, 94, 131, 236, 191, 23, 239, 67, 191, 0, 0, 0, 0, 191, 20, 251, 191, 193, 197, 199, 190, 0, 0, 0, 0, 0, 0, 0, 192, 46, 189, 59, 52, 0, 0, 0, 0, 191, 20, 251, 191, 189, 197, 199, 62, 0, 0, 0, 0, 94, 131, 236, 191, 21, 239, 67, 63, 0, 0, 0, 0, 48, 219, 212, 191, 219, 57, 142, 63, 0, 0, 0, 0, 244, 4, 181, 191, 242, 4, 181, 63, 0, 0, 0, 0, 221, 57, 142, 191, 47, 219, 212, 63, 0, 0, 0, 0, 26, 239, 67, 191, 94, 131, 236, 63, 0, 0, 0, 0, 198, 197, 199, 190, 190, 20, 251, 63, 0, 0, 0, 0, 46, 222, 204, 50, 0, 0, 0, 64, 0, 0, 0, 0, 200, 197, 199, 62, 190, 20, 251, 63, 0, 0, 0, 0, 27, 239, 67, 63, 93, 131, 236, 63, 0, 0, 0, 0, 215, 57, 142, 63, 51, 219, 212, 63, 0, 0, 0, 0, 242, 4, 181, 63, 245, 4, 181, 63, 0, 0, 0, 0, 49, 219, 212, 63, 219, 57, 142, 63, 0, 0, 0, 0, 95, 131, 236, 63, 21, 239, 67, 63, 0, 0, 0, 0, 191, 20, 251, 63, 188, 197, 199, 62, 0, 0, 0, 0) +}] +custom_aabb = AABB(-1, -1, -1, 1, 1, 1) + +[node name="Vignette" type="Node3D"] +script = ExtResource("1") + +[node name="Mesh" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1) +visible = false +cast_shadow = 0 +ignore_occlusion_culling = true +mesh = SubResource("ArrayMesh_yyajy") +surface_material_override/0 = ExtResource("2_djtaj") diff --git a/addons/godot-xr-tools/events/pointer_event.gd b/addons/godot-xr-tools/events/pointer_event.gd new file mode 100644 index 0000000..0941000 --- /dev/null +++ b/addons/godot-xr-tools/events/pointer_event.gd @@ -0,0 +1,134 @@ +class_name XRToolsPointerEvent + +## Types of pointer events +enum Type { + ## Pointer entered target + ENTERED, + + ## Pointer exited target + EXITED, + + ## Pointer pressed target + PRESSED, + + ## Pointer released target + RELEASED, + + ## Pointer moved on target + MOVED +} + +## Type of pointer event +var event_type : Type + +## Pointer generating event +var pointer : Node3D + +## Target of pointer +var target : Node3D + +## Point position +var position : Vector3 + +## Last point position +var last_position : Vector3 + + +## Initialize a new instance of the XRToolsPointerEvent class +func _init( + p_event_type : Type, + p_pointer : Node3D, + p_target : Node3D, + p_position : Vector3, + p_last_position : Vector3) -> void: + event_type = p_event_type + pointer = p_pointer + target = p_target + position = p_position + last_position = p_last_position + + +## Report a pointer entered event +static func entered( + pointer : Node3D, + target : Node3D, + at : Vector3) -> void: + report( + XRToolsPointerEvent.new( + Type.ENTERED, + pointer, + target, + at, + at)) + + +## Report pointer moved event +static func moved( + pointer : Node3D, + target : Node3D, + to : Vector3, + from : Vector3) -> void: + report( + XRToolsPointerEvent.new( + Type.MOVED, + pointer, + target, + to, + from)) + + +## Report pointer pressed event +static func pressed( + pointer : Node3D, + target : Node3D, + at : Vector3) -> void: + report( + XRToolsPointerEvent.new( + Type.PRESSED, + pointer, + target, + at, + at)) + + +## Report pointer released event +static func released( + pointer : Node3D, + target : Node3D, + at : Vector3) -> void: + report( + XRToolsPointerEvent.new( + Type.RELEASED, + pointer, + target, + at, + at)) + + +## Report a pointer exited event +static func exited( + pointer : Node3D, + target : Node3D, + last : Vector3) -> void: + report( + XRToolsPointerEvent.new( + Type.EXITED, + pointer, + target, + last, + last)) + + +## Report a pointer event +static func report(event : XRToolsPointerEvent) -> void: + # Fire event on pointer + if is_instance_valid(event.pointer): + if event.pointer.has_signal("pointing_event"): + event.pointer.emit_signal("pointing_event", event) + + # Fire event/method on the target if it's valid + if is_instance_valid(event.target): + if event.target.has_signal("pointer_event"): + event.target.emit_signal("pointer_event", event) + elif event.target.has_method("pointer_event"): + event.target.pointer_event(event) diff --git a/addons/godot-xr-tools/examples/fall_damage.gd b/addons/godot-xr-tools/examples/fall_damage.gd new file mode 100644 index 0000000..58dd2f5 --- /dev/null +++ b/addons/godot-xr-tools/examples/fall_damage.gd @@ -0,0 +1,92 @@ +@tool +class_name XRToolsFallDamage +extends XRToolsMovementProvider + + +## XR Tools Example Fall Damage Detector +## +## This example script detects the player falling to the ground and +## optionally hitting walls. +## +## It works by tracking the player body velocity to detect velocity +## changes (acceleration) exceeding a threshold. +## +## This doesn't use the usual Acceleration = dV / dT as it doesn't appear +## to work too well considering the "instantaneous" nature of the +## collision. Additionally all it would end up doing is multiplying the +## change in velocity by the physics-frame-rate making it sensitive to +## varying physics timing. +## +## Instead the threshold in terms of delta-velocity makes it easy to work +## out natural values. For example if the player falls under regular gravity +## (9.81 meters per second^2 for 1 second) then hits the ground, they will have fallen around +## 4.9 meters, and will then encounter an instantaneous velocity-change of +## 9.81 meters per second. +## +## This file can handle simple demonstrations, but games will most likely +## want to modify it, for example to ignore damage on certain surfaces. + + +## Signal invoked when the player takes fall damage +signal player_fall_damage(damage) + + +## Movement provider order +@export var order : int = 1000 + +## Ignore damage if player is launched up +@export var ignore_launch : bool = true + +## Only take damage on ground +@export var ground_only : bool = false + +## Acceleration limit +@export var damage_threshold : float = 8.0 + + +## Previous velocity +var _previous_velocity : Vector3 = Vector3.ZERO + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsFallDamage" + + +func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + + # Set as always active + is_active = true + + +func physics_movement(_delta: float, player_body: XRToolsPlayerBody, disabled: bool): + # Skip if not enabled + if disabled or !enabled: + _previous_velocity = player_body.velocity + return + + # Calculate the instantaneous acceleration + var accel_vec := player_body.velocity - _previous_velocity + _previous_velocity = player_body.velocity + + # Ignore launching the player + if ignore_launch: + # Forgive "up" acceleration equal to our "up" speed + var forgive : float = max(0, min(accel_vec.y, player_body.velocity.y)) + accel_vec.y -= forgive + + # Handle ground-only collisions + if ground_only: + # Ignore if not on ground + if not player_body.on_ground: + return + + # Only consider vertical acceleration + accel_vec *= Vector3.UP + + # Detect fall damage + var accel := accel_vec.length() + if accel > damage_threshold: + emit_signal("player_fall_damage", accel) diff --git a/addons/godot-xr-tools/examples/fall_damage.tscn b/addons/godot-xr-tools/examples/fall_damage.tscn new file mode 100644 index 0000000..e1b607d --- /dev/null +++ b/addons/godot-xr-tools/examples/fall_damage.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://d2yejwiwab3wv"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/examples/fall_damage.gd" id="1"] + +[node name="FallDamage" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/function_pickup.gd b/addons/godot-xr-tools/functions/function_pickup.gd new file mode 100644 index 0000000..93c4c3d --- /dev/null +++ b/addons/godot-xr-tools/functions/function_pickup.gd @@ -0,0 +1,431 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/function.svg") +class_name XRToolsFunctionPickup +extends Node3D + + +## XR Tools Function Pickup Script +## +## This script implements picking up of objects. Most pickable +## objects are instances of the [XRToolsPickable] class. +## +## Additionally this script can work in conjunction with the +## [XRToolsMovementProvider] class support climbing. Most climbable objects are +## instances of the [XRToolsClimbable] class. + + +## Signal emitted when the pickup picks something up +signal has_picked_up(what) + +## Signal emitted when the pickup drops something +signal has_dropped + + +# Default pickup collision mask of 3:pickable and 19:handle +const DEFAULT_GRAB_MASK := 0b0000_0000_0000_0100_0000_0000_0000_0100 + +# Default pickup collision mask of 3:pickable +const DEFAULT_RANGE_MASK := 0b0000_0000_0000_0000_0000_0000_0000_0100 + +# Constant for worst-case grab distance +const MAX_GRAB_DISTANCE2: float = 1000000.0 + + +## Pickup enabled property +@export var enabled : bool = true + +## Grip controller axis +@export var pickup_axis_action : String = "grip" + +## Action controller button +@export var action_button_action : String = "trigger_click" + +## Grab distance +@export var grab_distance : float = 0.3: set = _set_grab_distance + +## Grab collision mask +@export_flags_3d_physics \ + var grab_collision_mask : int = DEFAULT_GRAB_MASK: set = _set_grab_collision_mask + +## If true, ranged-grabbing is enabled +@export var ranged_enable : bool = true + +## Ranged-grab distance +@export var ranged_distance : float = 5.0: set = _set_ranged_distance + +## Ranged-grab angle +@export_range(0.0, 45.0) var ranged_angle : float = 5.0: set = _set_ranged_angle + +## Ranged-grab collision mask +@export_flags_3d_physics \ + var ranged_collision_mask : int = DEFAULT_RANGE_MASK: set = _set_ranged_collision_mask + +## Throw impulse factor +@export var impulse_factor : float = 1.0 + +## Throw velocity averaging +@export var velocity_samples: int = 5 + + +# Public fields +var closest_object : Node3D = null +var picked_up_object : Node3D = null +var picked_up_ranged : bool = false +var grip_pressed : bool = false + +# Private fields +var _object_in_grab_area := Array() +var _object_in_ranged_area := Array() +var _velocity_averager := XRToolsVelocityAverager.new(velocity_samples) +var _grab_area : Area3D +var _grab_collision : CollisionShape3D +var _ranged_area : Area3D +var _ranged_collision : CollisionShape3D + + +## Controller +@onready var _controller := XRHelpers.get_xr_controller(self) + +## Grip threshold (from configuration) +@onready var _grip_threshold : float = XRTools.get_grip_threshold() + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsFunctionPickup" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Skip creating grab-helpers if in the editor + if Engine.is_editor_hint(): + return + + # Create the grab collision shape + _grab_collision = CollisionShape3D.new() + _grab_collision.set_name("GrabCollisionShape") + _grab_collision.shape = SphereShape3D.new() + _grab_collision.shape.radius = grab_distance + + # Create the grab area + _grab_area = Area3D.new() + _grab_area.set_name("GrabArea") + _grab_area.collision_layer = 0 + _grab_area.collision_mask = grab_collision_mask + _grab_area.add_child(_grab_collision) + _grab_area.area_entered.connect(_on_grab_entered) + _grab_area.body_entered.connect(_on_grab_entered) + _grab_area.area_exited.connect(_on_grab_exited) + _grab_area.body_exited.connect(_on_grab_exited) + add_child(_grab_area) + + # Create the ranged collision shape + _ranged_collision = CollisionShape3D.new() + _ranged_collision.set_name("RangedCollisionShape") + _ranged_collision.shape = CylinderShape3D.new() + _ranged_collision.transform.basis = Basis(Vector3.RIGHT, PI/2) + + # Create the ranged area + _ranged_area = Area3D.new() + _ranged_area.set_name("RangedArea") + _ranged_area.collision_layer = 0 + _ranged_area.collision_mask = ranged_collision_mask + _ranged_area.add_child(_ranged_collision) + _ranged_area.area_entered.connect(_on_ranged_entered) + _ranged_area.body_entered.connect(_on_ranged_entered) + _ranged_area.area_exited.connect(_on_ranged_exited) + _ranged_area.body_exited.connect(_on_ranged_exited) + add_child(_ranged_area) + + # Update the colliders + _update_colliders() + + # Monitor Grab Button + _controller.connect("button_pressed", _on_button_pressed) + _controller.connect("button_released", _on_button_released) + + +# Called on each frame to update the pickup +func _process(delta): + # Do not process if in the editor + if Engine.is_editor_hint(): + return + + # Skip if disabled, or the controller isn't active + if !enabled or !_controller.get_is_active(): + return + + # Handle our grip + var grip_value = _controller.get_float(pickup_axis_action) + if (grip_pressed and grip_value < (_grip_threshold - 0.1)): + grip_pressed = false + _on_grip_release() + elif (!grip_pressed and grip_value > (_grip_threshold + 0.1)): + grip_pressed = true + _on_grip_pressed() + + # Calculate average velocity + if is_instance_valid(picked_up_object) and picked_up_object.is_picked_up(): + # Average velocity of picked up object + _velocity_averager.add_transform(delta, picked_up_object.global_transform) + else: + # Average velocity of this pickup + _velocity_averager.add_transform(delta, global_transform) + + _update_closest_object() + + +## Find an [XRToolsFunctionPickup] node. +## +## This function searches from the specified node for an [XRToolsFunctionPickup] +## assuming the node is a sibling of the pickup under an [XRController3D]. +static func find_instance(node : Node) -> XRToolsFunctionPickup: + return XRTools.find_xr_child( + XRHelpers.get_xr_controller(node), + "*", + "XRToolsFunctionPickup") as XRToolsFunctionPickup + + +## Find the left [XRToolsFunctionPickup] node. +## +## This function searches from the specified node for the left controller +## [XRToolsFunctionPickup] assuming the node is a sibling of the [XOrigin3D]. +static func find_left(node : Node) -> XRToolsFunctionPickup: + return XRTools.find_xr_child( + XRHelpers.get_left_controller(node), + "*", + "XRToolsFunctionPickup") as XRToolsFunctionPickup + + +## Find the right [XRToolsFunctionPickup] node. +## +## This function searches from the specified node for the right controller +## [XRToolsFunctionPickup] assuming the node is a sibling of the [XROrigin3D]. +static func find_right(node : Node) -> XRToolsFunctionPickup: + return XRTools.find_xr_child( + XRHelpers.get_right_controller(node), + "*", + "XRToolsFunctionPickup") as XRToolsFunctionPickup + + +## Get the [XRController3D] driving this pickup. +func get_controller() -> XRController3D: + return _controller + + +# Called when the grab distance has been modified +func _set_grab_distance(new_value: float) -> void: + grab_distance = new_value + if is_inside_tree(): + _update_colliders() + + +# Called when the grab collision mask has been modified +func _set_grab_collision_mask(new_value: int) -> void: + grab_collision_mask = new_value + if is_inside_tree() and _grab_collision: + _grab_collision.collision_mask = new_value + + +# Called when the ranged-grab distance has been modified +func _set_ranged_distance(new_value: float) -> void: + ranged_distance = new_value + if is_inside_tree(): + _update_colliders() + + +# Called when the ranged-grab angle has been modified +func _set_ranged_angle(new_value: float) -> void: + ranged_angle = new_value + if is_inside_tree(): + _update_colliders() + + +# Called when the ranged-grab collision mask has been modified +func _set_ranged_collision_mask(new_value: int) -> void: + ranged_collision_mask = new_value + if is_inside_tree() and _ranged_collision: + _ranged_collision.collision_mask = new_value + + +# Update the colliders geometry +func _update_colliders() -> void: + # Update the grab sphere + if _grab_collision: + _grab_collision.shape.radius = grab_distance + + # Update the ranged-grab cylinder + if _ranged_collision: + _ranged_collision.shape.radius = tan(deg_to_rad(ranged_angle)) * ranged_distance + _ranged_collision.shape.height = ranged_distance + _ranged_collision.transform.origin.z = -ranged_distance * 0.5 + + +# Called when an object enters the grab sphere +func _on_grab_entered(target: Node3D) -> void: + # reject objects which don't support picking up + if not target.has_method('pick_up'): + return + + # ignore objects already known + if _object_in_grab_area.find(target) >= 0: + return + + # Add to the list of objects in grab area + _object_in_grab_area.push_back(target) + + +# Called when an object enters the ranged-grab cylinder +func _on_ranged_entered(target: Node3D) -> void: + # reject objects which don't support picking up rangedly + if not 'can_ranged_grab' in target or not target.can_ranged_grab: + return + + # ignore objects already known + if _object_in_ranged_area.find(target) >= 0: + return + + # Add to the list of objects in grab area + _object_in_ranged_area.push_back(target) + + +# Called when an object exits the grab sphere +func _on_grab_exited(target: Node3D) -> void: + _object_in_grab_area.erase(target) + + +# Called when an object exits the ranged-grab cylinder +func _on_ranged_exited(target: Node3D) -> void: + _object_in_ranged_area.erase(target) + + +# Update the closest object field with the best choice of grab +func _update_closest_object() -> void: + # Find the closest object we can pickup + var new_closest_obj: Node3D = null + if not picked_up_object: + # Find the closest in grab area + new_closest_obj = _get_closest_grab() + if not new_closest_obj and ranged_enable: + # Find closest in ranged area + new_closest_obj = _get_closest_ranged() + + # Skip if no change + if closest_object == new_closest_obj: + return + + # remove highlight on old object + if is_instance_valid(closest_object): + closest_object.request_highlight(self, false) + + # add highlight to new object + closest_object = new_closest_obj + if is_instance_valid(closest_object): + closest_object.request_highlight(self, true) + + +# Find the pickable object closest to our hand's grab location +func _get_closest_grab() -> Node3D: + var new_closest_obj: Node3D = null + var new_closest_distance := MAX_GRAB_DISTANCE2 + for o in _object_in_grab_area: + # skip objects that can not be picked up + if not o.can_pick_up(self): + continue + + # Save if this object is closer than the current best + var distance_squared := global_transform.origin.distance_squared_to( + o.global_transform.origin) + if distance_squared < new_closest_distance: + new_closest_obj = o + new_closest_distance = distance_squared + + # Return best object + return new_closest_obj + + +# Find the rangedly-pickable object closest to our hand's pointing direction +func _get_closest_ranged() -> Node3D: + var new_closest_obj: Node3D = null + var new_closest_angle_dp := cos(deg_to_rad(ranged_angle)) + var hand_forwards := -global_transform.basis.z + for o in _object_in_ranged_area: + # skip objects that can not be picked up + if not o.can_pick_up(self): + continue + + # Save if this object is closer than the current best + var object_direction: Vector3 = o.global_transform.origin - global_transform.origin + object_direction = object_direction.normalized() + var angle_dp := hand_forwards.dot(object_direction) + if angle_dp > new_closest_angle_dp: + new_closest_obj = o + new_closest_angle_dp = angle_dp + + # Return best object + return new_closest_obj + + +## Drop the currently held object +func drop_object() -> void: + if not is_instance_valid(picked_up_object): + return + + # let go of this object + picked_up_object.let_go( + _velocity_averager.linear_velocity() * impulse_factor, + _velocity_averager.angular_velocity()) + picked_up_object = null + emit_signal("has_dropped") + + +func _pick_up_object(target: Node3D) -> void: + # check if already holding an object + if is_instance_valid(picked_up_object): + # skip if holding the target object + if picked_up_object == target: + return + # holding something else? drop it + drop_object() + + # skip if target null or freed + if not is_instance_valid(target): + return + + # Handle snap-zone + var snap := target as XRToolsSnapZone + if snap: + target = snap.picked_up_object + snap.drop_object() + + # Pick up our target. Note, target may do instant drop_and_free + picked_up_ranged = not _object_in_grab_area.has(target) + picked_up_object = target + target.pick_up(self, _controller) + + # If object picked up then emit signal + if is_instance_valid(picked_up_object): + picked_up_object.request_highlight(self, false) + emit_signal("has_picked_up", picked_up_object) + + +func _on_button_pressed(p_button) -> void: + if p_button == action_button_action: + if is_instance_valid(picked_up_object) and picked_up_object.has_method("action"): + picked_up_object.action() + + +func _on_button_released(_p_button) -> void: + pass + + +func _on_grip_pressed() -> void: + if is_instance_valid(picked_up_object) and !picked_up_object.press_to_hold: + drop_object() + elif is_instance_valid(closest_object): + _pick_up_object(closest_object) + + +func _on_grip_release() -> void: + if is_instance_valid(picked_up_object) and picked_up_object.press_to_hold: + drop_object() diff --git a/addons/godot-xr-tools/functions/function_pickup.tscn b/addons/godot-xr-tools/functions/function_pickup.tscn new file mode 100644 index 0000000..9414a6d --- /dev/null +++ b/addons/godot-xr-tools/functions/function_pickup.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://b4ysuy43poobf"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_pickup.gd" id="1"] + +[node name="FunctionPickup" type="Node3D"] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/function_pointer.gd b/addons/godot-xr-tools/functions/function_pointer.gd new file mode 100644 index 0000000..536eb09 --- /dev/null +++ b/addons/godot-xr-tools/functions/function_pointer.gd @@ -0,0 +1,511 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/function.svg") +class_name XRToolsFunctionPointer +extends Node3D + + +## XR Tools Function Pointer Script +## +## This script implements a pointer function for a players controller. Pointer +## events (entered, exited, pressed, release, and movement) are delivered by +## invoking signals on the target node. +## +## Pointer target nodes commonly extend from [XRToolsInteractableArea] or +## [XRToolsInteractableBody]. + + +## Signal emitted when this object points at another object +signal pointing_event(event) + + +## Enumeration of laser show modes +enum LaserShow { + HIDE = 0, ## Hide laser + SHOW = 1, ## Show laser + COLLIDE = 2, ## Only show laser on collision +} + +## Enumeration of laser length modes +enum LaserLength { + FULL = 0, ## Full length + COLLIDE = 1 ## Draw to collision +} + + +## Default pointer collision mask of 21:pointable and 23:ui-objects +const DEFAULT_MASK := 0b0000_0000_0101_0000_0000_0000_0000_0000 + +## Default pointer collision mask of 23:ui-objects +const SUPPRESS_MASK := 0b0000_0000_0100_0000_0000_0000_0000_0000 + + +@export_group("General") + +## Pointer enabled +@export var enabled : bool = true: set = set_enabled + +## Y Offset for pointer +@export var y_offset : float = -0.013: set = set_y_offset + +## Pointer distance +@export var distance : float = 10: set = set_distance + +## Active button action +@export var active_button_action : String = "trigger_click" + +@export_group("Laser") + +## Controls when the laser is visible +@export var show_laser : LaserShow = LaserShow.SHOW: set = set_show_laser + +## Controls the length of the laser +@export var laser_length : LaserLength = LaserLength.FULL: set = set_laser_length + +## Laser pointer material +@export var laser_material : StandardMaterial3D = null : set = set_laser_material + +## Laser pointer material when hitting target +@export var laser_hit_material : StandardMaterial3D = null : set = set_laser_hit_material + +@export_group("Target") + +## If true, the pointer target is shown +@export var show_target : bool = false: set = set_show_target + +## Controls the target radius +@export var target_radius : float = 0.05: set = set_target_radius + +## Target material +@export var target_material : StandardMaterial3D = null : set = set_target_material + +@export_group("Collision") + +## Pointer collision mask +@export_flags_3d_physics var collision_mask : int = DEFAULT_MASK: set = set_collision_mask + +## Enable pointer collision with bodies +@export var collide_with_bodies : bool = true: set = set_collide_with_bodies + +## Enable pointer collision with areas +@export var collide_with_areas : bool = false: set = set_collide_with_areas + +@export_group("Suppression") + +## Suppress radius +@export var suppress_radius : float = 0.2: set = set_suppress_radius + +## Suppress mask +@export_flags_3d_physics var suppress_mask : int = SUPPRESS_MASK: set = set_suppress_mask + + +## Current target node +var target : Node3D = null + +## Last target node +var last_target : Node3D = null + +## Last collision point +var last_collided_at : Vector3 = Vector3.ZERO + +# World scale +var _world_scale : float = 1.0 + +# Left controller node +var _controller_left_node : XRController3D + +# Right controller node +var _controller_right_node : XRController3D + +# Parent controller (if this pointer is childed to a specific controller) +var _controller : XRController3D + +# The currently active controller +var _active_controller : XRController3D + + +## Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsFunctionPointer" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Do not initialise if in the editor + if Engine.is_editor_hint(): + return + + # Read the initial world-scale + _world_scale = XRServer.world_scale + + # Check for a parent controller + _controller = XRHelpers.get_xr_controller(self) + if _controller: + # Set as active on the parent controller + _active_controller = _controller + + # Get button press feedback from our parent controller + _controller.button_pressed.connect(_on_button_pressed.bind(_controller)) + _controller.button_released.connect(_on_button_released.bind(_controller)) + else: + # Get the left and right controllers + _controller_left_node = XRHelpers.get_left_controller(self) + _controller_right_node = XRHelpers.get_right_controller(self) + + # Start out right hand controller + _active_controller = _controller_right_node + + # Get button press feedback from both left and right controllers + _controller_left_node.button_pressed.connect( + _on_button_pressed.bind(_controller_left_node)) + _controller_left_node.button_released.connect( + _on_button_released.bind(_controller_left_node)) + _controller_right_node.button_pressed.connect( + _on_button_pressed.bind(_controller_right_node)) + _controller_right_node.button_released.connect( + _on_button_released.bind(_controller_right_node)) + + # init our state + _update_y_offset() + _update_distance() + _update_pointer() + _update_target_radius() + _update_target_material() + _update_collision_mask() + _update_collide_with_bodies() + _update_collide_with_areas() + _update_suppress_radius() + _update_suppress_mask() + + +# Called on each frame to update the pickup +func _process(_delta): + # Do not process if in the editor + if Engine.is_editor_hint() or !is_inside_tree(): + return + + # Track the active controller (if this pointer is not childed to a controller) + if _controller == null and _active_controller != null: + transform = _active_controller.transform + + # Handle world-scale changes + var new_world_scale := XRServer.world_scale + if (_world_scale != new_world_scale): + _world_scale = new_world_scale + _update_y_offset() + + # Find the new pointer target + var new_target : Node3D + var new_at : Vector3 + var suppress_area := $SuppressArea + if (enabled and + not $SuppressArea.has_overlapping_bodies() and + not $SuppressArea.has_overlapping_areas() and + $RayCast.is_colliding()): + new_at = $RayCast.get_collision_point() + if target: + # Locked to 'target' even if we're colliding with something else + new_target = target + else: + # Target is whatever the raycast is colliding with + new_target = $RayCast.get_collider() + + # If no current or previous collisions then skip + if not new_target and not last_target: + return + + # Handle pointer changes + if new_target and not last_target: + # Pointer entered new_target + XRToolsPointerEvent.entered(self, new_target, new_at) + + # Pointer moved on new_target for the first time + XRToolsPointerEvent.moved(self, new_target, new_at, new_at) + + # Update visible artifacts for hit + _visible_hit(new_at) + elif not new_target and last_target: + # Pointer exited last_target + XRToolsPointerEvent.exited(self, last_target, last_collided_at) + + # Update visible artifacts for miss + _visible_miss() + elif new_target != last_target: + # Pointer exited last_target + XRToolsPointerEvent.exited(self, last_target, last_collided_at) + + # Pointer entered new_target + XRToolsPointerEvent.entered(self, new_target, new_at) + + # Pointer moved on new_target + XRToolsPointerEvent.moved(self, new_target, new_at, new_at) + + # Move visible artifacts + _visible_move(new_at) + elif new_at != last_collided_at: + # Pointer moved on new_target + XRToolsPointerEvent.moved(self, new_target, new_at, last_collided_at) + + # Move visible artifacts + _visible_move(new_at) + + # Update last values + last_target = new_target + last_collided_at = new_at + + +# Set pointer enabled property +func set_enabled(p_enabled : bool) -> void: + enabled = p_enabled + if is_inside_tree(): + _update_pointer() + + +# Set pointer y_offset property +func set_y_offset(p_offset : float) -> void: + y_offset = p_offset + if is_inside_tree(): + _update_y_offset() + + +# Set pointer distance property +func set_distance(p_new_value : float) -> void: + distance = p_new_value + if is_inside_tree(): + _update_distance() + + +# Set pointer show_laser property +func set_show_laser(p_show : LaserShow) -> void: + show_laser = p_show + if is_inside_tree(): + _update_pointer() + + +# Set pointer laser_length property +func set_laser_length(p_laser_length : LaserLength) -> void: + laser_length = p_laser_length + if is_inside_tree(): + _update_pointer() + + +# Set pointer laser_material property +func set_laser_material(p_laser_material : StandardMaterial3D) -> void: + laser_material = p_laser_material + if is_inside_tree(): + _update_pointer() + + +# Set pointer laser_hit_material property +func set_laser_hit_material(p_laser_hit_material : StandardMaterial3D) -> void: + laser_hit_material = p_laser_hit_material + if is_inside_tree(): + _update_pointer() + + +# Set pointer show_target property +func set_show_target(p_show_target : bool) -> void: + show_target = p_show_target + if is_inside_tree(): + $Target.visible = enabled and show_target and last_target + + +# Set pointer target_radius property +func set_target_radius(p_target_radius : float) -> void: + target_radius = p_target_radius + if is_inside_tree(): + _update_target_radius() + + +# Set pointer target_material property +func set_target_material(p_target_material : StandardMaterial3D) -> void: + target_material = p_target_material + if is_inside_tree(): + _update_target_material() + + +# Set pointer collision_mask property +func set_collision_mask(p_new_mask : int) -> void: + collision_mask = p_new_mask + if is_inside_tree(): + _update_collision_mask() + + +# Set pointer collide_with_bodies property +func set_collide_with_bodies(p_new_value : bool) -> void: + collide_with_bodies = p_new_value + if is_inside_tree(): + _update_collide_with_bodies() + + +# Set pointer collide_with_areas property +func set_collide_with_areas(p_new_value : bool) -> void: + collide_with_areas = p_new_value + if is_inside_tree(): + _update_collide_with_areas() + + +# Set suppress radius property +func set_suppress_radius(p_suppress_radius : float) -> void: + suppress_radius = p_suppress_radius + if is_inside_tree(): + _update_suppress_radius() + + +func set_suppress_mask(p_suppress_mask : int) -> void: + suppress_mask = p_suppress_mask + if is_inside_tree(): + _update_suppress_mask() + + +# Pointer Y offset update handler +func _update_y_offset() -> void: + $Laser.position.y = y_offset * _world_scale + $RayCast.position.y = y_offset * _world_scale + + +# Pointer distance update handler +func _update_distance() -> void: + $RayCast.target_position.z = -distance + _update_pointer() + + +# Pointer target radius update handler +func _update_target_radius() -> void: + $Target.mesh.radius = target_radius + $Target.mesh.height = target_radius * 2 + + +# Pointer target_material update handler +func _update_target_material() -> void: + $Target.set_surface_override_material(0, target_material) + + +# Pointer collision_mask update handler +func _update_collision_mask() -> void: + $RayCast.collision_mask = collision_mask + + +# Pointer collide_with_bodies update handler +func _update_collide_with_bodies() -> void: + $RayCast.collide_with_bodies = collide_with_bodies + + +# Pointer collide_with_areas update handler +func _update_collide_with_areas() -> void: + $RayCast.collide_with_areas = collide_with_areas + + +# Pointer suppress_radius update handler +func _update_suppress_radius() -> void: + $SuppressArea/CollisionShape3D.shape.radius = suppress_radius + + +# Pointer suppress_mask update handler +func _update_suppress_mask() -> void: + $SuppressArea.collision_mask = suppress_mask + + +# Pointer visible artifacts update handler +func _update_pointer() -> void: + if enabled and last_target: + _visible_hit(last_collided_at) + else: + _visible_miss() + + +# Pointer-activation button pressed handler +func _button_pressed() -> void: + if $RayCast.is_colliding(): + # Report pressed + target = $RayCast.get_collider() + last_collided_at = $RayCast.get_collision_point() + XRToolsPointerEvent.pressed(self, target, last_collided_at) + + +# Pointer-activation button released handler +func _button_released() -> void: + if target: + # Report release + XRToolsPointerEvent.released(self, target, last_collided_at) + target = null + last_collided_at = Vector3(0, 0, 0) + + +# Button pressed handler +func _on_button_pressed(p_button : String, controller : XRController3D) -> void: + if p_button == active_button_action and enabled: + if controller == _active_controller: + _button_pressed() + else: + _active_controller = controller + + +# Button released handler +func _on_button_released(p_button : String, _controller : XRController3D) -> void: + if p_button == active_button_action and target: + _button_released() + + +# Update the laser active material +func _update_laser_active_material(hit : bool) -> void: + if hit and laser_hit_material: + $Laser.set_surface_override_material(0, laser_hit_material) + else: + $Laser.set_surface_override_material(0, laser_material) + + +# Update the visible artifacts to show a hit +func _visible_hit(at : Vector3) -> void: + # Show target if enabled + if show_target: + $Target.global_transform.origin = at + $Target.visible = true + + # Control laser visibility + if show_laser != LaserShow.HIDE: + # Ensure the correct laser material is set + _update_laser_active_material(true) + + # Adjust laser length + if laser_length == LaserLength.COLLIDE: + var collide_len : float = at.distance_to(global_transform.origin) + $Laser.mesh.size.z = collide_len + $Laser.position.z = collide_len * -0.5 + else: + $Laser.mesh.size.z = distance + $Laser.position.z = distance * -0.5 + + # Show laser + $Laser.visible = true + else: + # Ensure laser is hidden + $Laser.visible = false + + +# Move the visible pointer artifacts to the target +func _visible_move(at : Vector3) -> void: + # Move target if configured + if show_target: + $Target.global_transform.origin = at + + # Adjust laser length if set to collide-length + if laser_length == LaserLength.COLLIDE: + var collide_len : float = at.distance_to(global_transform.origin) + $Laser.mesh.size.z = collide_len + $Laser.position.z = collide_len * -0.5 + + +# Update the visible artifacts to show a miss +func _visible_miss() -> void: + # Ensure target is hidden + $Target.visible = false + + # Ensure the correct laser material is set + _update_laser_active_material(false) + + # Hide laser if not set to show always + $Laser.visible = show_laser == LaserShow.SHOW + + # Restore laser length if set to collide-length + $Laser.mesh.size.z = distance + $Laser.position.z = distance * -0.5 diff --git a/addons/godot-xr-tools/functions/function_pointer.tscn b/addons/godot-xr-tools/functions/function_pointer.tscn new file mode 100644 index 0000000..969da9b --- /dev/null +++ b/addons/godot-xr-tools/functions/function_pointer.tscn @@ -0,0 +1,44 @@ +[gd_scene load_steps=6 format=3 uid="uid://cqhw276realc"] + +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/pointer.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_pointer.gd" id="2"] + +[sub_resource type="BoxMesh" id="1"] +resource_local_to_scene = true +material = ExtResource("1") +size = Vector3(0.002, 0.002, 10) +subdivide_depth = 20 + +[sub_resource type="SphereMesh" id="2"] +material = ExtResource("1") +radius = 0.05 +height = 0.1 +radial_segments = 16 +rings = 8 + +[sub_resource type="SphereShape3D" id="SphereShape3D_k3gfm"] +radius = 0.2 + +[node name="FunctionPointer" type="Node3D"] +script = ExtResource("2") + +[node name="RayCast" type="RayCast3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.013, 0) +target_position = Vector3(0, 0, -10) +collision_mask = 5242880 + +[node name="Laser" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.013, -5) +cast_shadow = 0 +mesh = SubResource("1") + +[node name="Target" type="MeshInstance3D" parent="."] +visible = false +mesh = SubResource("2") + +[node name="SuppressArea" type="Area3D" parent="."] +collision_layer = 0 +collision_mask = 4194304 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="SuppressArea"] +shape = SubResource("SphereShape3D_k3gfm") diff --git a/addons/godot-xr-tools/functions/function_pose_detector.gd b/addons/godot-xr-tools/functions/function_pose_detector.gd new file mode 100644 index 0000000..e399c8d --- /dev/null +++ b/addons/godot-xr-tools/functions/function_pose_detector.gd @@ -0,0 +1,99 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsFunctionPoseDetector +extends Node3D + + +## XR Tools Function Pose Area +## +## This area works with the XRToolsHandPoseArea to control the pose +## of the VR hands. + + +# Default pose detector collision mask of 22:pose-area +const DEFAULT_MASK := 0b0000_0000_0010_0000_0000_0000_0000_0000 + + +## Collision mask to detect hand pose areas +@export_flags_3d_physics var collision_mask : int = DEFAULT_MASK: set = set_collision_mask + + +## Hand controller +@onready var _controller := XRHelpers.get_xr_controller(self) + +## Hand to control +@onready var _hand := XRToolsHand.find_instance(self) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsFunctionPoseDetector" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Connect signals (if controller and hand are valid) + if _controller and _hand: + if $SenseArea.area_entered.connect(_on_area_entered): + push_error("Unable to connect area_entered signal") + if $SenseArea.area_exited.connect(_on_area_exited): + push_error("Unable to connect area_exited signal") + + # Update collision mask + _update_collision_mask() + + +# This method verifies the pose area has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + if !XRHelpers.get_xr_controller(self): + warnings.append("Node must be within a branch of an XRController3D node") + + # Verify hand can be found + if !XRToolsHand.find_instance(self): + warnings.append("Node must be a within a branch of an XRController node with a hand") + + # Pass basic validation + return warnings + + +func set_collision_mask(mask : int) -> void: + collision_mask = mask + if is_inside_tree(): + _update_collision_mask() + + +func _update_collision_mask() -> void: + $SenseArea.collision_mask = collision_mask + + +## Signal handler called when this XRToolsFunctionPoseArea enters an area +func _on_area_entered(area : Area3D) -> void: + # Igjnore if the area is not a hand-pose area + var pose_area := area as XRToolsHandPoseArea + if !pose_area: + return + + # Set the appropriate poses + if _controller.tracker == "left_hand" and pose_area.left_pose: + _hand.add_pose_override( + pose_area, + pose_area.pose_priority, + pose_area.left_pose) + elif _controller.tracker == "right_hand" and pose_area.right_pose: + _hand.add_pose_override( + pose_area, + pose_area.pose_priority, + pose_area.right_pose) + + +## Signal handler called when this XRToolsFunctionPoseArea leaves an area +func _on_area_exited(area : Area3D) -> void: + # Ignore if the area is not a hand-pose area + var pose_area := area as XRToolsHandPoseArea + if !pose_area: + return + + # Remove any overrides set from this hand-pose area + _hand.remove_pose_override(pose_area) diff --git a/addons/godot-xr-tools/functions/function_pose_detector.tscn b/addons/godot-xr-tools/functions/function_pose_detector.tscn new file mode 100644 index 0000000..714db38 --- /dev/null +++ b/addons/godot-xr-tools/functions/function_pose_detector.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=3 format=3 uid="uid://bft3xyxs31ci3"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_pose_detector.gd" id="1"] + +[sub_resource type="CapsuleShape3D" id="1"] +radius = 0.08 +height = 0.24 + +[node name="FunctionPoseDetector" type="Node3D"] +script = ExtResource("1") + +[node name="SenseArea" type="Area3D" parent="."] +collision_layer = 0 +collision_mask = 2097152 +monitorable = false + +[node name="CollisionShape" type="CollisionShape3D" parent="SenseArea"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, -0.04, 0.08) +shape = SubResource("1") diff --git a/addons/godot-xr-tools/functions/function_teleport.gd b/addons/godot-xr-tools/functions/function_teleport.gd new file mode 100644 index 0000000..66591f1 --- /dev/null +++ b/addons/godot-xr-tools/functions/function_teleport.gd @@ -0,0 +1,495 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/function.svg") +class_name XRToolsFunctionTeleport +extends Node3D + + +## XR Tools Function Teleport Script +## +## This script provides teleport functionality. +## +## Add this scene as a sub scene of your [XRController3D] node to implement +## a teleport function on that controller. + + +# Default teleport collision mask of all +const DEFAULT_MASK := 0b1111_1111_1111_1111_1111_1111_1111_1111 + +# Default material +# gdlint:ignore = load-constant-name +const _DefaultMaterial := preload("res://addons/godot-xr-tools/materials/capsule.tres") + + +## If true, teleporting is enabled +@export var enabled : bool = true: set = set_enabled + +## Teleport button action +@export var teleport_button_action : String = "trigger_click" + +## Teleport rotation action +@export var rotation_action : String = "primary" + +# Teleport Path Group +@export_group("Visuals") + +## Teleport allowed color property +@export var can_teleport_color : Color = Color(0.0, 1.0, 0.0, 1.0) + +## Teleport denied color property +@export var cant_teleport_color : Color = Color(1.0, 0.0, 0.0, 1.0) + +## Teleport no-collision color property +@export var no_collision_color : Color = Color(45.0 / 255.0, 80.0 / 255.0, 220.0 / 255.0, 1.0) + +## Teleport-arc strength +@export var strength : float = 5.0 + +## Teleport texture +@export var arc_texture : Texture2D \ + = preload("res://addons/godot-xr-tools/images/teleport_arrow.png") \ + : set = set_arc_texture + +## Target texture +@export var target_texture : Texture2D \ + = preload("res://addons/godot-xr-tools/images/teleport_target.png") \ + : set = set_target_texture + +# Player Group +@export_group("Player") + +## Player height property +@export var player_height : float = 1.8: set = set_player_height + +## Player radius property +@export var player_radius : float = 0.4: set = set_player_radius + +## Player scene +@export var player_scene : PackedScene: set = set_player_scene + +# Target Group +@export_group("Collision") + +## Maximum floor slope +@export var max_slope : float = 20.0 + +## Collision mask +@export_flags_3d_physics var collision_mask : int = 1023 + +## Valid teleport layer mask +@export_flags_3d_physics var valid_teleport_mask : int = DEFAULT_MASK + + +## Player capsule material (ignored for custom player scenes) +var player_material : StandardMaterial3D = _DefaultMaterial : set = set_player_material + + +var is_on_floor : bool = true +var is_teleporting : bool = false +var can_teleport : bool = true +var teleport_rotation : float = 0.0; +var floor_normal : Vector3 = Vector3.UP +var last_target_transform : Transform3D = Transform3D() +var collision_shape : Shape3D +var step_size : float = 0.5 + + +# Custom player scene +var player : Node3D + + +# World scale +@onready var ws : float = XRServer.world_scale + +## Capsule shown when not using a custom player mesh +@onready var capsule : MeshInstance3D = $Target/Player_figure/Capsule + +## [XRToolsPlayerBody] node. +@onready var player_body := XRToolsPlayerBody.find_instance(self) + +## [XRController3D] node. +@onready var controller := XRHelpers.get_xr_controller(self) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsFunctionTeleport" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Do not initialise if in the editor + if Engine.is_editor_hint(): + return + + # It's inactive when we start + $Teleport.visible = false + $Target.visible = false + + # Scale to our world scale + $Teleport.mesh.size = Vector2(0.05 * ws, 1.0) + $Target.mesh.size = Vector2(ws, ws) + $Target/Player_figure.scale = Vector3(ws, ws, ws) + + # get our capsule shape + collision_shape = CapsuleShape3D.new() + + # Apply properties + _update_arc_texture() + _update_target_texture() + _update_player_scene() + _update_player_height() + _update_player_radius() + _update_player_material() + + +func _physics_process(delta): + # Do not process physics if in the editor + if Engine.is_editor_hint(): + return + + # Skip if required nodes are missing + if !player_body or !controller: + return + + # if we're not enabled no point in doing mode + if !enabled: + # reset these + is_teleporting = false; + $Teleport.visible = false + $Target.visible = false + + # and stop this from running until we enable again + set_physics_process(false) + return + + # check if our world scale has changed.. + var new_ws := XRServer.world_scale + if ws != new_ws: + ws = new_ws + $Teleport.mesh.size = Vector2(0.05 * ws, 1.0) + $Target.mesh.size = Vector2(ws, ws) + $Target/Player_figure.scale = Vector3(ws, ws, ws) + + if controller and controller.get_is_active() and \ + controller.is_button_pressed(teleport_button_action): + if !is_teleporting: + is_teleporting = true + $Teleport.visible = true + $Target.visible = true + teleport_rotation = 0.0 + + # get our physics engine state + var state := get_world_3d().direct_space_state + var query := PhysicsShapeQueryParameters3D.new() + + # init stuff about our query that doesn't change + query.collision_mask = collision_mask + query.margin = collision_shape.margin + query.shape_rid = collision_shape.get_rid() + + # make a transform for offsetting our shape, it's always + # lying on its side by default... + var shape_transform := Transform3D( + Basis(), + Vector3(0.0, player_height / 2.0, 0.0)) + + # update location + var teleport_global_transform : Transform3D = $Teleport.global_transform + var target_global_origin := teleport_global_transform.origin + var up := player_body.up_player + var down := -up.normalized() / ws + + ############################################################ + # New teleport logic + # We're going to use test move in steps to find out where we hit something... + # This can be optimised loads by determining the lenght based on the angle + # between sections extending the length when we're in a flat part of the arch + # Where we do get a collission we may want to fine tune the collision + var cast_length := 0.0 + var fine_tune := 1.0 + var hit_something := false + var max_slope_cos := cos(deg_to_rad(max_slope)) + for i in range(1,26): + var new_cast_length := cast_length + (step_size / fine_tune) + var global_target := Vector3(0.0, 0.0, -new_cast_length) + + # our quadratic values + var t := global_target.z / strength + var t2 := t * t + + # target to world space + global_target = teleport_global_transform * global_target + + # adjust for gravity + global_target += down * t2 + + # test our new location for collisions + query.transform = Transform3D( + player_body.global_transform.basis, + global_target) * shape_transform + var cast_result := state.collide_shape(query, 10) + if cast_result.is_empty(): + # we didn't collide with anything so check our next section... + cast_length = new_cast_length + target_global_origin = global_target + elif (fine_tune <= 16.0): + # try again with a small step size + fine_tune *= 2.0 + else: + # if we don't collide make sure we keep using our current origin point + var collided_at := target_global_origin + + # check for collision + var step_delta := global_target - target_global_origin + if up.dot(step_delta) > 0: + # if we're moving up, we hit the ceiling of something, we + # don't really care what + is_on_floor = false + else: + # now we cast a ray downwards to see if we're on a surface + var ray_query := PhysicsRayQueryParameters3D.new() + ray_query.from = target_global_origin + (up * 0.5 * player_height) + ray_query.to = target_global_origin - (up * 1.1 * player_height) + ray_query.collision_mask = collision_mask + + var intersects := state.intersect_ray(ray_query) + if intersects.is_empty(): + is_on_floor = false + else: + # did we collide with a floor or a wall? + floor_normal = intersects["normal"] + var dot := up.dot(floor_normal) + + if dot > max_slope_cos: + is_on_floor = true + else: + is_on_floor = false + + # Update our collision point if it's moved enough, this + # solves a little bit of jittering + var diff : Vector3 = collided_at - intersects["position"] + + if diff.length() > 0.1: + collided_at = intersects["position"] + + # Fail if the hit target isn't in our valid mask + var collider_mask : int = intersects["collider"].collision_layer + if not valid_teleport_mask & collider_mask: + is_on_floor = false + + # we are colliding, find our if we're colliding on a wall or + # floor, one we can do, the other nope... + cast_length += (collided_at - target_global_origin).length() + target_global_origin = collided_at + hit_something = true + break + + # and just update our shader + $Teleport.get_surface_override_material(0).set_shader_parameter("scale_t", 1.0 / strength) + $Teleport.get_surface_override_material(0).set_shader_parameter("down", down) + $Teleport.get_surface_override_material(0).set_shader_parameter("length", cast_length) + if hit_something: + var color := can_teleport_color + var normal := up + if is_on_floor: + # if we're on the floor we'll reorientate our target to match. + normal = floor_normal + can_teleport = true + else: + can_teleport = false + color = cant_teleport_color + + # check our axis to see if we need to rotate + teleport_rotation += (delta * controller.get_vector2(rotation_action).x * -4.0) + + # update target and colour + var target_basis := Basis() + target_basis.y = normal + target_basis.x = teleport_global_transform.basis.x.slide(normal).normalized() + target_basis.z = target_basis.x.cross(target_basis.y) + + target_basis = target_basis.rotated(normal, teleport_rotation) + last_target_transform.basis = target_basis + last_target_transform.origin = target_global_origin + up * 0.001 + $Target.global_transform = last_target_transform + + $Teleport.get_surface_override_material(0).set_shader_parameter("mix_color", color) + $Target.get_surface_override_material(0).albedo_color = color + $Target.visible = can_teleport + else: + can_teleport = false + $Target.visible = false + $Teleport.get_surface_override_material(0).set_shader_parameter("mix_color", no_collision_color) + elif is_teleporting: + if can_teleport: + + # Make our target using the players up vector + var new_transform := last_target_transform + new_transform.basis.y = player_body.up_player + new_transform.basis.x = new_transform.basis.y.cross(new_transform.basis.z).normalized() + new_transform.basis.z = new_transform.basis.x.cross(new_transform.basis.y).normalized() + + # Teleport the player + player_body.teleport(new_transform) + + # and disable + is_teleporting = false; + $Teleport.visible = false + $Target.visible = false + + +# This method verifies the teleport has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify we can find the XRToolsPlayerBody + if !XRToolsPlayerBody.find_instance(self): + warnings.append("This node must be within a branch of an XRToolsPlayerBody node") + + # Verify we can find the XRController3D + if !XRHelpers.get_xr_controller(self): + warnings.append("This node must be within a branch of an XRController3D node") + + # Return warnings + return warnings + + +# Provide custom property information +func _get_property_list() -> Array[Dictionary]: + return [ + { + "name" : "Player", + "type" : TYPE_NIL, + "usage" : PROPERTY_USAGE_GROUP + }, + { + "name" : "player_material", + "class_name" : "StandardMaterial3D", + "type" : TYPE_OBJECT, + "usage" : PROPERTY_USAGE_NO_EDITOR if player_scene else PROPERTY_USAGE_DEFAULT, + "hint" : PROPERTY_HINT_RESOURCE_TYPE, + "hint_string" : "StandardMaterial3D" + } + ] + + +# Allow revert of custom properties +func _property_can_revert(property : StringName) -> bool: + return property == "player_material" + + +# Provide revert values for custom properties +func _property_get_revert(property : StringName): # Variant + if property == "player_material": + return _DefaultMaterial + + +# Set enabled property +func set_enabled(new_value : bool) -> void: + enabled = new_value + if enabled: + # make sure our physics process is on + set_physics_process(true) + else: + # we turn this off in physics process just in case we want to do some cleanup + pass + + +# Set the arc texture +func set_arc_texture(p_arc_texture : Texture2D) -> void: + arc_texture = p_arc_texture + if is_inside_tree(): + _update_arc_texture() + + +# Set the target texture +func set_target_texture(p_target_texture : Texture2D) -> void: + target_texture = p_target_texture + if is_inside_tree(): + _update_target_texture() + + +# Set player height property +func set_player_height(p_height : float) -> void: + player_height = p_height + if is_inside_tree(): + _update_player_height() + + +# Set player radius property +func set_player_radius(p_radius : float) -> void: + player_radius = p_radius + if is_inside_tree(): + _update_player_radius() + + +# Set the player scene +func set_player_scene(p_player_scene : PackedScene) -> void: + player_scene = p_player_scene + notify_property_list_changed() + if is_inside_tree(): + _update_player_scene() + + +# Set the player material +func set_player_material(p_player_material : StandardMaterial3D) -> void: + player_material = p_player_material + if is_inside_tree(): + _update_player_material() + + +# Update arc texture +func _update_arc_texture(): + var material : ShaderMaterial = $Teleport.get_surface_override_material(0) + if material and arc_texture: + material.set_shader_parameter("arrow_texture", arc_texture) + + +# Update target texture +func _update_target_texture(): + var material : StandardMaterial3D = $Target.get_surface_override_material(0) + if material and target_texture: + material.albedo_texture = target_texture + + +# Player height update handler +func _update_player_height() -> void: + if collision_shape: + collision_shape.height = player_height - (2.0 * player_radius) + + if capsule: + capsule.mesh.height = player_height + capsule.position = Vector3(0.0, player_height/2.0, 0.0) + + +# Player radius update handler +func _update_player_radius(): + if collision_shape: + collision_shape.height = player_height + collision_shape.radius = player_radius + + if capsule: + capsule.mesh.height = player_height + capsule.mesh.radius = player_radius + + +# Update the player scene +func _update_player_scene() -> void: + # Free the current player + if player: + player.queue_free() + player = null + + # If specified, instantiate a new player + if player_scene: + player = player_scene.instantiate() + $Target/Player_figure.add_child(player) + + # Show the capsule mesh only if we have no player + capsule.visible = player == null + + +# Update player material +func _update_player_material(): + if player_material: + capsule.set_surface_override_material(0, player_material) diff --git a/addons/godot-xr-tools/functions/function_teleport.tscn b/addons/godot-xr-tools/functions/function_teleport.tscn new file mode 100644 index 0000000..db4c2eb --- /dev/null +++ b/addons/godot-xr-tools/functions/function_teleport.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=8 format=3 uid="uid://fiul51tsyoop"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_teleport.gd" id="1"] +[ext_resource type="Material" uid="uid://bk72wfw25ff0v" path="res://addons/godot-xr-tools/materials/teleport.tres" id="2"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/target.tres" id="3"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/capsule.tres" id="4"] + +[sub_resource type="PlaneMesh" id="1"] +size = Vector2(0.05, 1) +subdivide_depth = 40 + +[sub_resource type="PlaneMesh" id="2"] +size = Vector2(1, 1) + +[sub_resource type="CapsuleMesh" id="3"] +radius = 0.4 +height = 1.8 + +[node name="FunctionTeleport" type="Node3D"] +script = ExtResource("1") +player_material = ExtResource("4") + +[node name="Teleport" type="MeshInstance3D" parent="."] +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2") + +[node name="Target" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, -4.92359) +mesh = SubResource("2") +surface_material_override/0 = ExtResource("3") + +[node name="Player_figure" type="Marker3D" parent="Target"] + +[node name="Capsule" type="MeshInstance3D" parent="Target/Player_figure"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0) +mesh = SubResource("3") +surface_material_override/0 = ExtResource("4") diff --git a/addons/godot-xr-tools/functions/movement_climb.gd b/addons/godot-xr-tools/functions/movement_climb.gd new file mode 100644 index 0000000..2916c25 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_climb.gd @@ -0,0 +1,269 @@ +@tool +class_name XRToolsMovementClimb +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Climbing +## +## This script provides climbing movement for the player. To add climbing +## support, the player must also have [XRToolsFunctionPickup] nodes attached +## to the left and right controllers, and an [XRToolsPlayerBody] under the +## [XROrigin3D]. +## +## Climbable objects can inherit from the climbable scene, or be [StaticBody] +## objects with the [XRToolsClimbable] script attached to them. +## +## When climbing, the global velocity of the [XRToolsPlayerBody] is averaged, +## and upon release the velocity is applied to the [XRToolsPlayerBody] with an +## optional fling multiplier, so the player can fling themselves up walls if +## desired. + + +## Signal invoked when the player starts climing +signal player_climb_start + +## Signal invoked when the player ends climbing +signal player_climb_end + + +## Distance at which grabs snap +const SNAP_DISTANCE : float = 1.0 + + +## Movement provider order +@export var order : int = 15 + +## Push forward when flinging +@export var forward_push : float = 1.0 + +## Velocity multiplier when flinging up walls +@export var fling_multiplier : float = 1.0 + +## Averages for velocity measurement +@export var velocity_averages : int = 5 + + +# Left climbing handle +var _left_handle : Node3D + +# Right climbing handle +var _right_handle : Node3D + +# Dominant handle (moving the player) +var _dominant : Node3D + + +# Velocity averager +@onready var _averager := XRToolsVelocityAveragerLinear.new(velocity_averages) + +# Left pickup node +@onready var _left_pickup_node := XRToolsFunctionPickup.find_left(self) + +# Right pickup node +@onready var _right_pickup_node := XRToolsFunctionPickup.find_right(self) + +# Left controller +@onready var _left_controller := XRHelpers.get_left_controller(self) + +# Right controller +@onready var _right_controller := XRHelpers.get_right_controller(self) + +# Left collision hand +@onready var _left_collision_hand := XRToolsCollisionHand.find_left(self) + +# Right collision hand +@onready var _right_collision_hand := XRToolsCollisionHand.find_right(self) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementClimb" or super(name) + + +## Called when the node enters the scene tree for the first time. +func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + + # Do not initialise if in the editor + if Engine.is_editor_hint(): + return + + # Connect pickup funcitons + if _left_pickup_node.connect("has_picked_up", _on_left_picked_up): + push_error("Unable to connect left picked up signal") + if _right_pickup_node.connect("has_picked_up", _on_right_picked_up): + push_error("Unable to connect right picked up signal") + if _left_pickup_node.connect("has_dropped", _on_left_dropped): + push_error("Unable to connect left dropped signal") + if _right_pickup_node.connect("has_dropped", _on_right_dropped): + push_error("Unable to connect right dropped signal") + + +## Perform player physics movement +func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bool): + # Disable climbing if requested + if disabled or !enabled: + _set_climbing(false, player_body) + return + + # Check for climbing handles being deleted while held + if not is_instance_valid(_left_handle): + _left_handle = null + if not is_instance_valid(_right_handle): + _right_handle = null + if not is_instance_valid(_dominant): + _dominant = null + + # Snap grabs if too far + if _left_handle: + var left_pickup_pos := _left_controller.global_position + var left_grab_pos = _left_handle.global_position + if left_pickup_pos.distance_to(left_grab_pos) > SNAP_DISTANCE: + _left_pickup_node.drop_object() + if _right_handle: + var right_pickup_pos := _right_controller.global_position + var right_grab_pos := _right_handle.global_position + if right_pickup_pos.distance_to(right_grab_pos) > SNAP_DISTANCE: + _right_pickup_node.drop_object() + + # Update climbing + _set_climbing(_dominant != null, player_body) + + # Skip if not actively climbing + if !is_active: + return + + # Calculate how much the player has moved + var offset := Vector3.ZERO + if _dominant == _left_handle: + var left_pickup_pos := _left_controller.global_position + var left_grab_pos := _left_handle.global_position + offset = left_pickup_pos - left_grab_pos + elif _dominant == _right_handle: + var right_pickup_pos := _right_controller.global_position + var right_grab_pos := _right_handle.global_position + offset = right_pickup_pos - right_grab_pos + + # Move the player by the offset + var old_position := player_body.global_position + player_body.move_and_collide(-offset) + player_body.velocity = Vector3.ZERO + + # Update the players average-velocity data + var distance := player_body.global_position - old_position + _averager.add_distance(delta, distance) + + # Report exclusive motion performed (to bypass gravity) + return true + + +## Start or stop climbing +func _set_climbing(active: bool, player_body: XRToolsPlayerBody) -> void: + # Skip if no change + if active == is_active: + return + + # Update state + is_active = active + + # Handle state change + if is_active: + _averager.clear() + player_body.override_player_height(self, 0.0) + emit_signal("player_climb_start") + else: + # Calculate the forward direction (based on camera-forward) + var dir_forward = -player_body.camera_node.global_transform.basis.z \ + .slide(player_body.up_player) \ + .normalized() + + # Set player velocity based on averaged velocity, fling multiplier, + # and a forward push + var velocity := _averager.velocity() + player_body.velocity = (velocity * fling_multiplier) + (dir_forward * forward_push) + + player_body.override_player_height(self) + emit_signal("player_climb_end") + + +## Handler for left controller picked up +func _on_left_picked_up(what : Node3D) -> void: + # Get the climbable + var climbable = what as XRToolsClimbable + if not climbable: + return + + # Get the handle + _left_handle = climbable.get_grab_handle(_left_pickup_node) + if not _left_handle: + return + + # Switch dominance to the left handle + _dominant = _left_handle + + # If collision hands present then target the handle + if _left_collision_hand: + _left_collision_hand.add_target_override(_left_handle, 0) + + +## Handler for right controller picked up +func _on_right_picked_up(what : Node3D) -> void: + # Get the climbable + var climbable = what as XRToolsClimbable + if not climbable: + return + + # Get the handle + _right_handle = climbable.get_grab_handle(_right_pickup_node) + if not _right_handle: + return + + # Switch dominance to the right handle + _dominant = _right_handle + + # If collision hands present then target the handle + if _right_collision_hand: + _right_collision_hand.add_target_override(_right_handle, 0) + + +## Handler for left controller dropped +func _on_left_dropped() -> void: + # If collision hands present then clear handle target + if _left_collision_hand: + _left_collision_hand.remove_target_override(_left_handle) + + # Release handle and transfer dominance + _left_handle = null + _dominant = _right_handle + + +## Handler for righ controller dropped +func _on_right_dropped() -> void: + # If collision hands present then clear handle target + if _right_collision_hand: + _right_collision_hand.remove_target_override(_right_handle) + + # Release handle and transfer dominance + _right_handle = null + _dominant = _left_handle + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Verify the left controller pickup + if !XRToolsFunctionPickup.find_left(self): + warnings.append("Unable to find left XRToolsFunctionPickup node") + + # Verify the right controller pickup + if !XRToolsFunctionPickup.find_right(self): + warnings.append("Unable to find right XRToolsFunctionPickup node") + + # Verify velocity averages + if velocity_averages < 2: + warnings.append("Minimum of 2 velocity averages needed") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_climb.tscn b/addons/godot-xr-tools/functions/movement_climb.tscn new file mode 100644 index 0000000..e6d60ce --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_climb.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bxm1ply47vaan"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_climb.gd" id="1"] + +[node name="MovementClimb" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_crouch.gd b/addons/godot-xr-tools/functions/movement_crouch.gd new file mode 100644 index 0000000..0b4db5a --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_crouch.gd @@ -0,0 +1,92 @@ +@tool +class_name XRToolsMovementCrouch +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Crouching +## +## This script works with the [XRToolsPlayerBody] attached to the players +## [XROrigin3D]. +## +## While the player presses the crounch button, the height is overridden to +## the specified crouch height. + + +## Enumeration of crouching modes +enum CrouchType { + HOLD_TO_CROUCH, ## Hold button to crouch + TOGGLE_CROUCH, ## Toggle crouching on button press +} + + +## Movement provider order +@export var order : int = 10 + +## Crouch height +@export var crouch_height : float = 1.0 + +## Crouch button +@export var crouch_button_action : String = "primary_click" + +## Type of crouching +@export var crouch_type : CrouchType = CrouchType.HOLD_TO_CROUCH + + +## Crouching flag +var _crouching : bool = false + +## Crouch button down state +var _crouch_button_down : bool = false + + +# Controller node +@onready var _controller := XRHelpers.get_xr_controller(self) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementCrouch" or super(name) + + +# Perform jump movement +func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: bool): + # Skip if the controller isn't active + if !_controller.get_is_active(): + return + + # Detect crouch button down and pressed states + var crouch_button_down := _controller.is_button_pressed(crouch_button_action) + var crouch_button_pressed := crouch_button_down and !_crouch_button_down + _crouch_button_down = crouch_button_down + + # Calculate new crouching state + var crouching := _crouching + match crouch_type: + CrouchType.HOLD_TO_CROUCH: + # Crouch when button down + crouching = crouch_button_down + + CrouchType.TOGGLE_CROUCH: + # Toggle when button pressed + if crouch_button_pressed: + crouching = !crouching + + # Update crouching state + if crouching != _crouching: + _crouching = crouching + if crouching: + player_body.override_player_height(self, crouch_height) + else: + player_body.override_player_height(self) + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Check the controller node + if !XRHelpers.get_xr_controller(self): + warnings.append("This node must be within a branch of an XRController3D node") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_crouch.tscn b/addons/godot-xr-tools/functions/movement_crouch.tscn new file mode 100644 index 0000000..824cfca --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_crouch.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://clt88d5d1dje4"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_crouch.gd" id="1"] + +[node name="MovementCrouch" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_direct.gd b/addons/godot-xr-tools/functions/movement_direct.gd new file mode 100644 index 0000000..c9d5352 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_direct.gd @@ -0,0 +1,87 @@ +@tool +class_name XRToolsMovementDirect +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Direct Movement +## +## This script provides direct movement for the player. This script works +## with the [XRToolsPlayerBody] attached to the players [XROrigin3D]. +## +## The player may have multiple [XRToolsMovementDirect] nodes attached to +## different controllers to provide different types of direct movement. + + +## Movement provider order +@export var order : int = 10 + +## Movement speed +@export var max_speed : float = 3.0 + +## If true, the player can strafe +@export var strafe : bool = false + +## Input action for movement direction +@export var input_action : String = "primary" + + +# Controller node +@onready var _controller := XRHelpers.get_xr_controller(self) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementDirect" or super(name) + + +# Perform jump movement +func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: bool): + # Skip if the controller isn't active + if !_controller.get_is_active(): + return + + ## get input action with deadzone correction applied + var dz_input_action = XRToolsUserSettings.get_adjusted_vector2(_controller, input_action) + + player_body.ground_control_velocity.y += dz_input_action.y * max_speed + if strafe: + player_body.ground_control_velocity.x += dz_input_action.x * max_speed + + # Clamp ground control + var length := player_body.ground_control_velocity.length() + if length > max_speed: + player_body.ground_control_velocity *= max_speed / length + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Check the controller node + if !XRHelpers.get_xr_controller(self): + warnings.append("This node must be within a branch of an XRController3D node") + + # Return warnings + return warnings + + +## Find the left [XRToolsMovementDirect] node. +## +## This function searches from the specified node for the left controller +## [XRToolsMovementDirect] assuming the node is a sibling of the [XROrigin3D]. +static func find_left(node : Node) -> XRToolsMovementDirect: + return XRTools.find_xr_child( + XRHelpers.get_left_controller(node), + "*", + "XRToolsMovementDirect") as XRToolsMovementDirect + + +## Find the right [XRToolsMovementDirect] node. +## +## This function searches from the specified node for the right controller +## [XRToolsMovementDirect] assuming the node is a sibling of the [XROrigin3D]. +static func find_right(node : Node) -> XRToolsMovementDirect: + return XRTools.find_xr_child( + XRHelpers.get_right_controller(node), + "*", + "XRToolsMovementDirect") as XRToolsMovementDirect diff --git a/addons/godot-xr-tools/functions/movement_direct.tscn b/addons/godot-xr-tools/functions/movement_direct.tscn new file mode 100644 index 0000000..c58096b --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_direct.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bl2nuu3qhlb5k"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_direct.gd" id="1"] + +[node name="MovementDirect" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_flight.gd b/addons/godot-xr-tools/functions/movement_flight.gd new file mode 100644 index 0000000..9ffa9a1 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_flight.gd @@ -0,0 +1,229 @@ +@tool +class_name XRToolsMovementFlight +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Flying +## +## This script provides flying movement for the player. The control parameters +## are intended to support a wide variety of flight mechanics. +## +## Pitch and Bearing input devices are selected which produce a "forwards" +## reference frame. The player controls (forwards/backwards and +## left/right) are applied in relation to this reference frame. +## +## The Speed Scale and Traction parameters allow primitive flight where +## the player is in direct control of their speed (in the reference frame). +## This produces an effect described as the "Mary Poppins Flying Umbrella". +## +## The Acceleration, Drag, and Guidance parameters allow for slightly more +## realisitic flying where the player can accelerate in their reference +## frame. The drag is applied against the global reference and can be used +## to construct a terminal velocity. +## +## The Guidance property attempts to lerp the players velocity into flight +## forwards direction as if the player had guide-fins or wings. +## +## The Exclusive property specifies whether flight is exclusive (no further +## physics effects after flying) or whether additional effects such as +## the default player gravity are applied. + + +## Signal emitted when flight starts +signal flight_started() + +## Signal emitted when flight finishes +signal flight_finished() + + +## Enumeration of controller to use for flight +enum FlightController { + LEFT, ## Use left controller + RIGHT, ## Use right controler +} + +## Enumeration of pitch control input +enum FlightPitch { + HEAD, ## Head controls pitch + CONTROLLER, ## Controller controls pitch +} + +## Enumeration of bearing control input +enum FlightBearing { + HEAD, ## Head controls bearing + CONTROLLER, ## Controller controls bearing + BODY, ## Body controls bearing +} + + +## Movement provider order +@export var order : int = 30 + +## Flight controller +@export var controller : FlightController = FlightController.LEFT + +## Flight toggle button +@export var flight_button : String = "by_button" + +## Flight pitch control +@export var pitch : FlightPitch = FlightPitch.CONTROLLER + +## Flight bearing control +@export var bearing : FlightBearing = FlightBearing.CONTROLLER + +## Flight speed from control +@export var speed_scale : float = 5.0 + +## Flight traction pulling flight velocity towards the controlled speed +@export var speed_traction : float = 3.0 + +## Flight acceleration from control +@export var acceleration_scale : float = 0.0 + +## Flight drag +@export var drag : float = 0.1 + +## Guidance effect (virtual fins/wings) +@export var guidance : float = 0.0 + +## If true, flight movement is exclusive preventing further movement functions +@export var exclusive : bool = true + + +## Flight button state +var _flight_button : bool = false + +## Flight controller +var _controller : XRController3D + + +# Node references +@onready var _camera := XRHelpers.get_xr_camera(self) +@onready var _left_controller := XRHelpers.get_left_controller(self) +@onready var _right_controller := XRHelpers.get_right_controller(self) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementFlight" or super(name) + + +func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + + # Get the flight controller + if controller == FlightController.LEFT: + _controller = _left_controller + else: + _controller = _right_controller + + +# Process physics movement for flight +func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bool): + # Disable flying if requested, or if no controller + if disabled or !enabled or !_controller.get_is_active(): + set_flying(false) + return + + # Detect press of flight button + var old_flight_button = _flight_button + _flight_button = _controller.is_button_pressed(flight_button) + if _flight_button and !old_flight_button: + set_flying(!is_active) + + # Skip if not flying + if !is_active: + return + + # Select the pitch vector + var pitch_vector: Vector3 + if pitch == FlightPitch.HEAD: + # Use the vertical part of the 'head' forwards vector + pitch_vector = -_camera.transform.basis.z.y * player_body.up_player + else: + # Use the vertical part of the 'controller' forwards vector + pitch_vector = -_controller.transform.basis.z.y * player_body.up_player + + # Select the bearing vector + var bearing_vector: Vector3 + if bearing == FlightBearing.HEAD: + # Use the horizontal part of the 'head' forwards vector + bearing_vector = -_camera.global_transform.basis.z \ + .slide(player_body.up_player) + elif bearing == FlightBearing.CONTROLLER: + # Use the horizontal part of the 'controller' forwards vector + bearing_vector = -_controller.global_transform.basis.z \ + .slide(player_body.up_player) + else: + # Use the horizontal part of the 'body' forwards vector + var left := _left_controller.global_transform.origin + var right := _right_controller.global_transform.origin + var left_to_right := right - left + bearing_vector = left_to_right \ + .rotated(player_body.up_player, PI/2) \ + .slide(player_body.up_player) + + # Construct the flight bearing + var forwards := (bearing_vector.normalized() + pitch_vector).normalized() + var side := forwards.cross(player_body.up_player) + + # Construct the target velocity + var joy_forwards := _controller.get_vector2("primary").y + var joy_side := _controller.get_vector2("primary").x + var heading := forwards * joy_forwards + side * joy_side + + # Calculate the flight velocity + var flight_velocity := player_body.velocity + flight_velocity *= 1.0 - drag * delta + flight_velocity = flight_velocity.lerp(heading * speed_scale, speed_traction * delta) + flight_velocity += heading * acceleration_scale * delta + + # Apply virtual guidance effect + if guidance > 0.0: + var velocity_forwards := forwards * flight_velocity.length() + flight_velocity = flight_velocity.lerp(velocity_forwards, guidance * delta) + + # If exclusive then perform the exclusive move-and-slide + if exclusive: + player_body.velocity = player_body.move_body(flight_velocity) + return true + + # Update velocity and return for additional effects + player_body.velocity = flight_velocity + return + + +func set_flying(active: bool) -> void: + # Skip if no change + if active == is_active: + return + + # Update state + is_active = active + + # Handle state change + if is_active: + emit_signal("flight_started") + else: + emit_signal("flight_finished") + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Verify the camera + if !XRHelpers.get_xr_camera(self): + warnings.append("Unable to find XRCamera3D") + + # Verify the left controller + if !XRHelpers.get_left_controller(self): + warnings.append("Unable to find left XRController3D node") + + # Verify the right controller + if !XRHelpers.get_right_controller(self): + warnings.append("Unable to find left XRController3D node") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_flight.tscn b/addons/godot-xr-tools/functions/movement_flight.tscn new file mode 100644 index 0000000..deb568c --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_flight.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://kyhaogt0a4q8"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_flight.gd" id="1"] + +[node name="MovementFlight" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_footstep.gd b/addons/godot-xr-tools/functions/movement_footstep.gd new file mode 100644 index 0000000..cc0f5a3 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_footstep.gd @@ -0,0 +1,245 @@ +@tool +class_name XRToolsMovementFootstep +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Footsteps +## +## This movement provider detects walking on different surfaces. +## It plays audio sounds associated with the surface the player is +## currently walking on. + + +## Signal emitted when a footstep is generated +signal footstep(name) + + +# Number of audio players to pool +const AUDIO_POOL_SIZE := 3 + + +## Movement provider order +@export var order : int = 1001 + +## Default XRToolsSurfaceAudioType when not overridden +@export var default_surface_audio_type : XRToolsSurfaceAudioType + +## Speed at which the player is considered walking +@export var walk_speed := 0.4 + +## Step per meter by time +@export var steps_per_meter = 1.0 + + +# step time +var step_time = 0.0 + +# Last on_ground state of the player +var _old_on_ground := true + +# Node representing the location of the players foot +var _foot_spatial : Node3D + +# Pool of idle AudioStreamPlayer3D nodes +var _audio_pool_idle : Array[AudioStreamPlayer3D] + +# Last ground node +var _ground_node : Node + +# Surface audio type associated with last ground node +var _ground_node_audio_type : XRToolsSurfaceAudioType + + +## PlayerBody - Player Physics Body Script +@onready var player_body := XRToolsPlayerBody.find_instance(self) + + +# Add support for is_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementFootstep" or super(name) + + +func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + + # Construct the foot spatial - we will move it around as the player moves. + _foot_spatial = Node3D.new() + _foot_spatial.name = "FootSpatial" + add_child(_foot_spatial) + + # Make the array of players in _audio_pool_idle + for i in AUDIO_POOL_SIZE: + var player = $PlayerSettings.duplicate() + player.name = "PlayerCopy%d" % (i + 1) + _foot_spatial.add_child(player) + _audio_pool_idle.append(player) + player.finished.connect(_on_player_finished.bind(player)) + + # Set as always active + is_active = true + + # Listen for the player jumping + player_body.player_jumped.connect(_on_player_jumped) + + +# This method checks for configuration issues. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Verify player settings node exists + if not $PlayerSettings: + warnings.append("Missing player settings node") + + # Return warnings + return warnings + + +func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: bool): + # Update the spatial location of the foot + _update_foot_spatial() + + # Update the ground audio information + _update_ground_audio() + + # Skip if footsteps have been disabled + if not enabled: + step_time = 0 + return + + # Detect landing on ground + if not _old_on_ground and player_body.on_ground: + # Play the ground hit sound + _play_ground_hit() + + # Update the old on_ground state + _old_on_ground = player_body.on_ground + if not player_body.on_ground: + step_time = 0 # Reset when not on ground + return + + # Handle slow/stopped + if player_body.ground_control_velocity.length() < walk_speed: + step_time = 0 # Reset when slow/stopped + return + + # Count up the step timer, and skip if not take a step yet + step_time += _delta * player_body.ground_control_velocity.length() + if step_time > steps_per_meter: + _play_step_sound() + step_time = 0 + + +# Update the foot spatial to be where the players foot is +func _update_foot_spatial() -> void: + # Project the players camera down to the XZ plane (real-world space) + var local_foot := player_body.camera_node.position.slide(Vector3.UP) + + # Move the foot_spatial to the local foot in the global origin space + _foot_spatial.global_position = player_body.origin_node.global_transform * local_foot + + +# Update the ground audio information +func _update_ground_audio() -> void: + # Skip if no change + if player_body.ground_node == _ground_node: + return + + # Save the new ground node + _ground_node = player_body.ground_node + + # Handle no ground + if not _ground_node: + _ground_node_audio_type = null + return + + # Find the surface audio for the ground (if any) + var ground_audio : XRToolsSurfaceAudio = XRTools.find_xr_child( + _ground_node, "*", "XRToolsSurfaceAudio") + if ground_audio: + _ground_node_audio_type = ground_audio.surface_audio_type + else: + _ground_node_audio_type = default_surface_audio_type + + +# Called when the player jumps +func _on_player_jumped() -> void: + # Skip if no jump sound + if not _ground_node_audio_type: + return + + # Play the jump sound + _play_sound( + _ground_node_audio_type.name, + _ground_node_audio_type.jump_sound) + + +# Play the hit sound made when the player lands on the ground +func _play_ground_hit() -> void: + # Skip if no hit sound + if not _ground_node_audio_type: + return + + # Play the hit sound + _play_sound( + _ground_node_audio_type.name, + _ground_node_audio_type.hit_sound) + + +# Play a step sound for the current ground +func _play_step_sound() -> void: + # Skip if no walk audio + if not _ground_node_audio_type or _ground_node_audio_type.walk_sounds.size() == 0: + return + + # Pick the sound index + var idx := randi() % _ground_node_audio_type.walk_sounds.size() + + # Pick the playback pitck + var pitch := randf_range( + _ground_node_audio_type.walk_pitch_minimum, + _ground_node_audio_type.walk_pitch_maximum) + + # Play the walk sound + _play_sound( + _ground_node_audio_type.name, + _ground_node_audio_type.walk_sounds[idx], + pitch) + + +# Play the specified audio stream at the requested pitch using an +# AudioStreamPlayer3D in the idle pool of players. +func _play_sound(name : String, stream : AudioStream, pitch : float = 1.0) -> void: + # Skip if no stream provided + if not stream: + return + + # Emit the footstep signal + footstep.emit(name) + + # Verify we have an audio player + if _audio_pool_idle.size() == 0: + push_warning("XRToolsMovementFootstep idle audio pool empty") + return + + # Play the sound + var player : AudioStreamPlayer3D = _audio_pool_idle.pop_front() + player.stream = stream + player.pitch_scale = pitch + player.play() + + +# Called when an AudioStreamPlayer3D in our pool finishes playing its sound +func _on_player_finished(player : AudioStreamPlayer3D) -> void: + _audio_pool_idle.append(player) + + +## Find an [XRToolsMovementFootstep] node. +## +## This function searches from the specified node for an [XRToolsMovementFootstep] +## assuming the node is a sibling of the body under an [ARVROrigin]. +static func find_instance(node: Node) -> XRToolsMovementFootstep: + return XRTools.find_xr_child( + XRHelpers.get_xr_origin(node), + "*", + "XRToolsMovementFootstep") as XRToolsMovementFootstep diff --git a/addons/godot-xr-tools/functions/movement_footstep.tscn b/addons/godot-xr-tools/functions/movement_footstep.tscn new file mode 100644 index 0000000..f63cf54 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_footstep.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://0xlsitpu17r1"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_footstep.gd" id="1"] + +[node name="MovementFootstep" type="Node" groups=["movement_providers"]] +script = ExtResource("1") + +[node name="PlayerSettings" type="AudioStreamPlayer3D" parent="."] diff --git a/addons/godot-xr-tools/functions/movement_glide.gd b/addons/godot-xr-tools/functions/movement_glide.gd new file mode 100644 index 0000000..e77b1a2 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_glide.gd @@ -0,0 +1,236 @@ +@tool +class_name XRToolsMovementGlide +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Gliding +## +## This script provides glide mechanics for the player. This script works +## with the [XRToolsPlayerBody] attached to the players [XROrigin3D]. +## +## The player enables flying by moving the controllers apart further than +## 'glide_detect_distance'. +## +## When gliding, the players fall speed will slew to 'glide_fall_speed' and +## the velocity will slew to 'glide_forward_speed' in the direction the +## player is facing. +## +## Gliding is an exclusive motion operation, and so gliding should be ordered +## after any Direct movement providers responsible for turning. + + +## Signal invoked when the player starts gliding +signal player_glide_start + +## Signal invoked when the player ends gliding +signal player_glide_end + +## Signal invoked when the player flaps +signal player_flapped + +## Movement provider order +@export var order : int = 35 + +## Controller separation distance to register as glide +@export var glide_detect_distance : float = 1.0 + +## Minimum falling speed to be considered gliding +@export var glide_min_fall_speed : float = -1.5 + +## Glide falling speed +@export var glide_fall_speed : float = -2.0 + +## Glide forward speed +@export var glide_forward_speed : float = 12.0 + +## Slew rate to transition to gliding +@export var horizontal_slew_rate : float = 1.0 + +## Slew rate to transition to gliding +@export var vertical_slew_rate : float = 2.0 + +## glide rotate with roll angle +@export var turn_with_roll : bool = false + +## Smooth turn speed in radians per second +@export var roll_turn_speed : float = 1 + +## Add vertical impulse by flapping controllers +@export var wings_impulse : bool = false + +## Minimum velocity for flapping +@export var flap_min_speed : float = 0.3 + +## Flapping force multiplier +@export var wings_force : float = 1.0 + +## Minimum distance from controllers to ARVRCamera to rearm flaps. +## if set to 0, you need to reach head level with hands to rearm flaps +@export var rearm_distance_offset : float = 0.2 + + +## Flap activated (when both controllers are near the ARVRCamera height) +var flap_armed : bool = false + +## Last controllers position to calculate flapping velocity +var last_local_left_position : Vector3 +var last_local_right_position : Vector3 + +# True if the controller positions are valid +var _has_controller_positions : bool = false + + +# Left controller +@onready var _left_controller := XRHelpers.get_left_controller(self) + +# Right controller +@onready var _right_controller := XRHelpers.get_right_controller(self) + +# ARVRCamera +@onready var _camera_node := XRHelpers.get_xr_camera(self) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementGlide" or super(name) + + +func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bool): + # Skip if disabled or either controller is off + if disabled or !enabled or \ + !_left_controller.get_is_active() or \ + !_right_controller.get_is_active(): + _set_gliding(false) + return + + # If on the ground, then not gliding + if player_body.on_ground: + _set_gliding(false) + return + + # Get the controller left and right global horizontal positions + var left_position := _left_controller.global_transform.origin + var right_position := _right_controller.global_transform.origin + + # Set default wings impulse to zero + var wings_impulse_velocity := 0.0 + + # If wings impulse is active, calculate flapping impulse + if wings_impulse: + # Check controllers position relative to head + var cam_local_y := _camera_node.position.y + var left_hand_over_head = cam_local_y < _left_controller.position.y + rearm_distance_offset + var right_hand_over_head = cam_local_y < _right_controller.position.y + rearm_distance_offset + if left_hand_over_head && right_hand_over_head: + flap_armed = true + + if flap_armed: + # Get controller local positions + var local_left_position := _left_controller.position + var local_right_position := _right_controller.position + + # Store last frame controller positions for the first step + if not _has_controller_positions: + _has_controller_positions = true + last_local_left_position = local_left_position + last_local_right_position = local_right_position + + # Calculate controllers velocity only when flapping downwards + var left_wing_velocity = 0.0 + var right_wing_velocity = 0.0 + if local_left_position.y < last_local_left_position.y: + left_wing_velocity = local_left_position.distance_to(last_local_left_position) / delta + if local_right_position.y < last_local_right_position.y: + right_wing_velocity = local_right_position.distance_to(last_local_right_position) / delta + + # Calculate wings impulse + if left_wing_velocity > flap_min_speed && right_wing_velocity > flap_min_speed: + wings_impulse_velocity = (left_wing_velocity + right_wing_velocity) / 2 + wings_impulse_velocity = wings_impulse_velocity * wings_force * delta * 50 + emit_signal("player_flapped") + flap_armed = false + + # Store controller position for next frame + last_local_left_position = local_left_position + last_local_right_position = local_right_position + + # Calculate global left to right controller vector + var left_to_right := right_position - left_position + + if turn_with_roll: + var angle = -left_to_right.dot(player_body.up_player) + player_body.rotate_player(roll_turn_speed * delta * angle) + + # If not falling, then not gliding + var vertical_velocity := player_body.velocity.dot(player_body.up_gravity) + vertical_velocity += wings_impulse_velocity + if vertical_velocity >= glide_min_fall_speed && wings_impulse_velocity == 0.0: + _set_gliding(false) + return + + # Set gliding based on hand separation + var separation := left_to_right.length() / XRServer.world_scale + _set_gliding(separation >= glide_detect_distance) + + # Skip if not gliding + if !is_active: + return + + # Lerp the vertical velocity to glide_fall_speed + vertical_velocity = lerp(vertical_velocity, glide_fall_speed, vertical_slew_rate * delta) + + # Lerp the horizontal velocity towards forward_speed + var horizontal_velocity := player_body.velocity.slide(player_body.up_gravity) + var dir_forward := left_to_right \ + .rotated(player_body.up_gravity, PI/2) \ + .slide(player_body.up_gravity) \ + .normalized() + var forward_velocity := dir_forward * glide_forward_speed + horizontal_velocity = horizontal_velocity.lerp(forward_velocity, horizontal_slew_rate * delta) + + # Perform the glide + var glide_velocity := horizontal_velocity + vertical_velocity * player_body.up_gravity + player_body.velocity = player_body.move_body(glide_velocity) + + # Report exclusive motion performed (to bypass gravity) + return true + + +# Set the gliding state and fire any signals +func _set_gliding(active: bool) -> void: + # Skip if no change + if active == is_active: + return + + # Update the is_gliding flag + is_active = active; + + # Report transition + if is_active: + emit_signal("player_glide_start") + else: + emit_signal("player_glide_end") + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Verify the left controller + if !XRHelpers.get_left_controller(self): + warnings.append("Unable to find left XRController3D node") + + # Verify the right controller + if !XRHelpers.get_right_controller(self): + warnings.append("Unable to find right XRController3D node") + + # Check glide parameters + if glide_min_fall_speed > 0: + warnings.append("Glide minimum fall speed must be zero or less") + if glide_fall_speed > 0: + warnings.append("Glide fall speed must be zero or less") + if glide_min_fall_speed < glide_fall_speed: + warnings.append("Glide fall speed must be faster than minimum fall speed") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_glide.tscn b/addons/godot-xr-tools/functions/movement_glide.tscn new file mode 100644 index 0000000..9aed0f3 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_glide.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://cvokcudrffkgc"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_glide.gd" id="1"] + +[node name="MovementGlide" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_grapple.gd b/addons/godot-xr-tools/functions/movement_grapple.gd new file mode 100644 index 0000000..3982e47 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_grapple.gd @@ -0,0 +1,243 @@ +@tool +class_name XRToolsMovementGrapple +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Grapple Movement +## +## This script provide simple grapple based movement - "bat hook" style +## where the player flings a rope to the target and swings on it. +## This script works with the [XRToolsPlayerBody] attached to the players +## [XROrigin3D]. + + +## Signal emitted when grapple starts +signal grapple_started() + +## Signal emitted when grapple finishes +signal grapple_finished() + + +## Grapple state +enum GrappleState { + IDLE, ## Grapple is idle + FIRED, ## Grapple is fired + WINCHING, ## Grapple is winching +} + + +# Default grapple collision mask of 1-5 (world) +const DEFAULT_COLLISION_MASK := 0b0000_0000_0000_0000_0000_0000_0001_1111 + +# Default grapple enable mask of 5:grapple-target +const DEFAULT_ENABLE_MASK := 0b0000_0000_0000_0000_0000_0000_0001_0000 + + +## Movement provider order +@export var order : int = 20 + +## Grapple length - use to adjust maximum distance for possible grapple hooking. +@export var grapple_length : float = 15.0 + +## Grapple collision mask +@export_flags_3d_physics var grapple_collision_mask : int = DEFAULT_COLLISION_MASK: + set = _set_grapple_collision_mask + +## Grapple enable mask +@export_flags_3d_physics var grapple_enable_mask : int = DEFAULT_ENABLE_MASK + +## Impulse speed applied to the player on first grapple +@export var impulse_speed : float = 10.0 + +## Winch speed applied to the player while the grapple is held +@export var winch_speed : float = 2.0 + +## Probably need to add export variables for line size, maybe line material at +## some point so dev does not need to make children editable to do this. +## For now, right click on grapple node and make children editable to edit these +## facets. +@export var rope_width : float = 0.02 + +## Air friction while grappling +@export var friction : float = 0.1 + +## Grapple button (triggers grappling movement). Be sure this button does not +## conflict with other functions. +@export var grapple_button_action : String = "trigger_click" + +# Hook related variables +var hook_object : Node3D = null +var hook_local := Vector3(0,0,0) +var hook_point := Vector3(0,0,0) + +# Grapple button state +var _grapple_button := false + +# Get line creation nodes +@onready var _line_helper : Node3D = $LineHelper +@onready var _line : CSGCylinder3D = $LineHelper/Line + +# Get Controller node - consider way to universalize this if user wanted to +# attach this to a gun instead of player's hand. Could consider variable to +# select controller instead. +@onready var _controller := XRHelpers.get_xr_controller(self) + +# Get Raycast node +@onready var _grapple_raycast : RayCast3D = $Grapple_RayCast + +# Get Grapple Target Node +@onready var _grapple_target : Node3D = $Grapple_Target + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementGrapple" or super(name) + + +# Function run when node is added to scene +func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + + # Skip if running in the editor + if Engine.is_editor_hint(): + return + + # Ensure grapple length is valid + var min_hook_length := 1.5 * XRServer.world_scale + if grapple_length < min_hook_length: + grapple_length = min_hook_length + + # Set ray-cast + _grapple_raycast.target_position = Vector3(0, 0, -grapple_length) * XRServer.world_scale + _grapple_raycast.collision_mask = grapple_collision_mask + + # Deal with line + _line.radius = rope_width + _line.hide() + + +# Update grapple display objects +func _process(_delta: float): + # Skip if running in the editor + if Engine.is_editor_hint(): + return + + # Update grapple line + if is_active: + var line_length := (hook_point - _controller.global_transform.origin).length() + _line_helper.look_at(hook_point, Vector3.UP) + _line.height = line_length + _line.position.z = line_length / -2 + _line.visible = true + else: + _line.visible = false + + # Update grapple target + if enabled and !is_active and _is_raycast_valid(): + _grapple_target.global_transform.origin = _grapple_raycast.get_collision_point() + _grapple_target.global_transform = _grapple_target.global_transform.orthonormalized() + _grapple_target.visible = true + else: + _grapple_target.visible = false + + +# Perform grapple movement +func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bool): + # Disable if requested + if disabled or !enabled or !_controller.get_is_active(): + _set_grappling(false) + return + + # Update grapple button + var old_grapple_button := _grapple_button + _grapple_button = _controller.is_button_pressed(grapple_button_action) + + # Enable/disable grappling + var do_impulse := false + if is_active and !_grapple_button: + _set_grappling(false) + elif _grapple_button and !old_grapple_button and _is_raycast_valid(): + hook_object = _grapple_raycast.get_collider() + hook_point = _grapple_raycast.get_collision_point() + hook_local = hook_point * hook_object.global_transform + do_impulse = true + _set_grappling(true) + + # Skip if not grappling + if !is_active: + return + + # Get hook direction + hook_point = hook_object.global_transform * hook_local + var hook_vector := hook_point - _controller.global_transform.origin + var hook_length := hook_vector.length() + var hook_direction := hook_vector / hook_length + + # Apply gravity + player_body.velocity += player_body.gravity * delta + + # Select the grapple speed + var speed := impulse_speed if do_impulse else winch_speed + if hook_length < 1.0: + speed = 0.0 + + # Ensure velocity is at least winch_speed towards hook + var vdot = player_body.velocity.dot(hook_direction) + if vdot < speed: + player_body.velocity += hook_direction * (speed - vdot) + + # Scale down velocity + player_body.velocity *= 1.0 - friction * delta + + # Perform exclusive movement as we have dealt with gravity + player_body.velocity = player_body.move_body(player_body.velocity) + return true + + +# Called when the grapple collision mask has been modified +func _set_grapple_collision_mask(new_value: int) -> void: + grapple_collision_mask = new_value + if is_inside_tree() and _grapple_raycast: + _grapple_raycast.collision_mask = new_value + + +# Set the grappling state and fire any signals +func _set_grappling(active: bool) -> void: + # Skip if no change + if active == is_active: + return + + # Update the is_active flag + is_active = active; + + # Report transition + if is_active: + emit_signal("grapple_started") + else: + emit_signal("grapple_finished") + + +# Test if the raycast is striking a valid target +func _is_raycast_valid() -> bool: + # Fail if raycast not colliding + if not _grapple_raycast.is_colliding(): + return false + + # Get the target of the raycast + var target : CollisionObject3D = _grapple_raycast.get_collider() + + # Check tartget layer + return true if target.collision_layer & grapple_enable_mask else false + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Check the controller node + if !XRHelpers.get_xr_controller(self): + warnings.append("This node must be within a branch of an XRController3D node") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_grapple.tscn b/addons/godot-xr-tools/functions/movement_grapple.tscn new file mode 100644 index 0000000..a812f11 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_grapple.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=4 format=3 uid="uid://c78tjrtiyqna8"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_grapple.gd" id="1"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/pointer.tres" id="2_n6olo"] + +[sub_resource type="BoxMesh" id="1"] +resource_local_to_scene = true +size = Vector3(0.05, 0.05, 0.05) +subdivide_depth = 20 + +[node name="MovementGrapple" type="Node3D" groups=["movement_providers"]] +script = ExtResource("1") + +[node name="Grapple_RayCast" type="RayCast3D" parent="."] +collision_mask = 3 +debug_shape_custom_color = Color(0.862745, 0.278431, 0.278431, 1) +debug_shape_thickness = 1 + +[node name="Grapple_Target" type="MeshInstance3D" parent="."] +visible = false +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2_n6olo") + +[node name="LineHelper" type="Node3D" parent="."] + +[node name="Line" type="CSGCylinder3D" parent="LineHelper"] +transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, 0, 0, 0) +radius = 0.02 diff --git a/addons/godot-xr-tools/functions/movement_jump.gd b/addons/godot-xr-tools/functions/movement_jump.gd new file mode 100644 index 0000000..2ef5d2a --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_jump.gd @@ -0,0 +1,52 @@ +@tool +class_name XRToolsMovementJump +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Jumping +## +## This script provides jumping mechanics for the player. This script works +## with the [XRToolsPlayerBody] attached to the players [XROrigin3D]. +## +## The player enables jumping by attaching an [XRToolsMovementJump] as a +## child of the appropriate [XRController3D], then configuring the jump button +## and jump velocity. + + +## Movement provider order +@export var order : int = 20 + +## Button to trigger jump +@export var jump_button_action : String = "trigger_click" + + +# Node references +@onready var _controller := XRHelpers.get_xr_controller(self) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementJump" or super(name) + + +# Perform jump movement +func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: bool): + # Skip if the jump controller isn't active + if !_controller.get_is_active(): + return + + # Request jump if the button is pressed + if _controller.is_button_pressed(jump_button_action): + player_body.request_jump() + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Check the controller node + if !XRHelpers.get_xr_controller(self): + warnings.append("This node must be within a branch of an XRController3D node") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_jump.tscn b/addons/godot-xr-tools/functions/movement_jump.tscn new file mode 100644 index 0000000..187612e --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_jump.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://c2q5phg8w08o"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_jump.gd" id="1"] + +[node name="MovementJump" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_physical_jump.gd b/addons/godot-xr-tools/functions/movement_physical_jump.gd new file mode 100644 index 0000000..7839afc --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_physical_jump.gd @@ -0,0 +1,197 @@ +@tool +class_name XRToolsMovementPhysicalJump +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Player Physical Jump Detection +## +## This script can detect jumping based on either the players body jumping, +## or by the player swinging their arms up. +## +## The player body jumping is detected by putting the cameras instantaneous +## Y velocity (in the tracking space) into a sliding-window averager. If the +## average Y velocity exceeds a threshold parameter then the player has +## jumped. +## +## The player arms jumping is detected by putting both controllers instantaneous +## Y velocity (in the tracking space) into a sliding-window averager. If both +## average Y velocities exceed a threshold parameter then the player has +## jumped. + + +## Movement provider order +@export var order : int = 20 + +## If true, jumps are detected via the players body (through the camera) +@export var body_jump_enable : bool = true + +## If true, the player jump is as high as the physical jump(no ground physics) +@export var body_jump_player_only : bool = false + +## Body jump detection threshold (M/S^2) +@export var body_jump_threshold : float = 2.5 + +## If true, jumps are detected via the players arms (through the controllers) +@export var arms_jump_enable : bool = false + +## Arms jump detection threshold (M/S^2) +@export var arms_jump_threshold : float = 5.0 + + +# Node Positions +var _camera_position : float = 0.0 +var _controller_left_position : float = 0.0 +var _controller_right_position : float = 0.0 + +# Node Velocities +var _camera_velocity : SlidingAverage = SlidingAverage.new(5) +var _controller_left_velocity : SlidingAverage = SlidingAverage.new(5) +var _controller_right_velocity : SlidingAverage = SlidingAverage.new(5) + + +# Node references +@onready var _origin_node := XRHelpers.get_xr_origin(self) +@onready var _camera_node := XRHelpers.get_xr_camera(self) +@onready var _controller_left_node := XRHelpers.get_left_controller(self) +@onready var _controller_right_node := XRHelpers.get_right_controller(self) + + +# Sliding Average class +class SlidingAverage: + # Sliding window size + var _size: int + + # Sum of items in the window + var _sum := 0.0 + + # Position + var _pos := 0 + + # Data window + var _data := Array() + + # Constructor + func _init(size: int): + # Set the size and fill the array + _size = size + for i in size: + _data.push_back(0.0) + + # Update the average + func update(entry: float) -> float: + # Add the new entry and subtract the old + _sum += entry + _sum -= _data[_pos] + + # Store the new entry in the array and circularly advance the index + _data[_pos] = entry; + _pos = (_pos + 1) % _size + + # Return the average + return _sum / _size + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementPhysicalJump" or super(name) + + +# Perform jump detection +func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: bool): + # Handle detecting body jump + if body_jump_enable: + _detect_body_jump(delta, player_body) + + # Handle detecting arms jump + if arms_jump_enable: + _detect_arms_jump(delta, player_body) + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Verify the camera + if !XRHelpers.get_xr_origin(self): + warnings.append("This node must be within a branch of an XROrigin3D node") + + # Verify the camera + if !XRHelpers.get_xr_camera(self): + warnings.append("Unable to find XRCamera3D") + + # Verify the left controller + if !XRHelpers.get_left_controller(self): + warnings.append("Unable to find left XRController3D node") + + # Verify the right controller + if !XRHelpers.get_right_controller(self): + warnings.append("Unable to find left XRController3D node") + + # Return warnings + return warnings + + +# Detect the player jumping with their body (using the headset camera) +func _detect_body_jump(delta: float, player_body: XRToolsPlayerBody) -> void: + # Get the camera instantaneous velocity + var new_camera_pos := _camera_node.transform.origin.y + var camera_vel := (new_camera_pos - _camera_position) / delta + _camera_position = new_camera_pos + + # Ignore zero moves (either not tracking, or no update since last physics) + if abs(camera_vel) < 0.001: + return; + + # Correct for world-scale (convert to player units) + camera_vel /= XRServer.world_scale + + # Clamp the camera instantaneous velocity to +/- 2x the jump threshold + camera_vel = clamp(camera_vel, -2.0 * body_jump_threshold, 2.0 * body_jump_threshold) + + # Get the averaged velocity + camera_vel = _camera_velocity.update(camera_vel) + + # Detect a jump + if camera_vel >= body_jump_threshold: + player_body.request_jump(body_jump_player_only) + + +# Detect the player jumping with their arms (using the controllers) +func _detect_arms_jump(delta: float, player_body: XRToolsPlayerBody) -> void: + # Skip if either of the controllers is disabled + if !_controller_left_node.get_is_active() or !_controller_right_node.get_is_active(): + return + + # Get the controllers instantaneous velocity + var new_controller_left_pos := _controller_left_node.transform.origin.y + var new_controller_right_pos := _controller_right_node.transform.origin.y + var controller_left_vel := (new_controller_left_pos - _controller_left_position) / delta + var controller_right_vel := (new_controller_right_pos - _controller_right_position) / delta + _controller_left_position = new_controller_left_pos + _controller_right_position = new_controller_right_pos + + # Ignore zero moves (either not tracking, or no update since last physics) + if abs(controller_left_vel) <= 0.001 and abs(controller_right_vel) <= 0.001: + return + + # Correct for world-scale (convert to player units) + controller_left_vel /= XRServer.world_scale + controller_right_vel /= XRServer.world_scale + + # Clamp the controller instantaneous velocity to +/- 2x the jump threshold + controller_left_vel = clamp( + controller_left_vel, + -2.0 * arms_jump_threshold, + 2.0 * arms_jump_threshold) + controller_right_vel = clamp( + controller_right_vel, + -2.0 * arms_jump_threshold, + 2.0 * arms_jump_threshold) + + # Get the averaged velocity + controller_left_vel = _controller_left_velocity.update(controller_left_vel) + controller_right_vel = _controller_right_velocity.update(controller_right_vel) + + # Detect a jump + if controller_left_vel >= arms_jump_threshold and controller_right_vel >= arms_jump_threshold: + player_body.request_jump() diff --git a/addons/godot-xr-tools/functions/movement_physical_jump.tscn b/addons/godot-xr-tools/functions/movement_physical_jump.tscn new file mode 100644 index 0000000..6386085 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_physical_jump.tscn @@ -0,0 +1,7 @@ +[gd_scene load_steps=2 format=3 uid="uid://ckt118vcpmr6q"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_physical_jump.gd" id="1"] + +[node name="MovementPhysicalJump" type="Node" groups=["movement_providers"]] +script = ExtResource("1") +arms_jump_enable = true diff --git a/addons/godot-xr-tools/functions/movement_provider.gd b/addons/godot-xr-tools/functions/movement_provider.gd new file mode 100644 index 0000000..5ccc1a7 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_provider.gd @@ -0,0 +1,93 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/movement_provider.svg") +class_name XRToolsMovementProvider +extends Node + + +## XR Tools Movement Provider base class +## +## This movement provider class is the base class of all movement providers. +## Movement providers are invoked by the [XRToolsPlayerBody] object in order +## to apply motion to the player. +## +## Movement provider implementations should: +## - Export an 'order' integer to control order of processing +## - Override the physics_movement method to impelment motion + + +## Player body scene +const PLAYER_BODY := preload("res://addons/godot-xr-tools/player/player_body.tscn") + + +## Enable movement provider +@export var enabled : bool = true + + +## If true, the movement provider is actively performing a move +var is_active := false + + +# If missing we need to add our [XRToolsPlayerBody] +func _create_player_body_node(): + # get our origin node + var xr_origin = XRHelpers.get_xr_origin(self) + if !xr_origin: + return + + # Double check if it hasn't already been created by another movement function + var player_body := XRToolsPlayerBody.find_instance(self) + if !player_body: + # create our XRToolsPlayerBody node and add it into our tree + player_body = PLAYER_BODY.instantiate() + player_body.set_name("PlayerBody") + xr_origin.add_child(player_body) + player_body.set_owner(get_tree().get_edited_scene_root()) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementProvider" + + +# Function run when node is added to scene +func _ready(): + # If we're in the editor, help the user out by creating our XRToolsPlayerBody node + # automatically when needed. + if Engine.is_editor_hint(): + var player_body = XRToolsPlayerBody.find_instance(self) + if !player_body: + # This call needs to be deferred, we can't add nodes during scene construction + call_deferred("_create_player_body_node") + + +## Override this method to perform pre-movement updates to the PlayerBody +func physics_pre_movement(_delta: float, _player_body: XRToolsPlayerBody): + pass + + +## Override this method to apply motion to the PlayerBody +func physics_movement(_delta: float, _player_body: XRToolsPlayerBody, _disabled: bool): + pass + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify we're within the tree of an XROrigin3D node + if !XRHelpers.get_xr_origin(self): + warnings.append("This node must be within a branch on an XROrigin3D node") + + if !XRToolsPlayerBody.find_instance(self): + warnings.append("Missing PlayerBody node on the XROrigin3D") + + # Verify movement provider is in the correct group + if !is_in_group("movement_providers"): + warnings.append("Movement provider not in 'movement_providers' group") + + # Verify order property exists + if !"order" in self: + warnings.append("Movement provider does not expose an order property") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_sprint.gd b/addons/godot-xr-tools/functions/movement_sprint.gd new file mode 100644 index 0000000..6cd96b3 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_sprint.gd @@ -0,0 +1,169 @@ +@tool +class_name XRToolsMovementSprint +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Sprinting +## +## This script provides sprinting movement for the player. It assumes there is +## a direct movement node in the scene otherwise it will not be functional. +## +## There will not be an error, there just will not be any reason for it to +## have any impact on the player. This node should be a direct child of +## the [XROrigin3D] node rather than to a specific [XRController3D]. + + +## Signal emitted when sprinting starts +signal sprinting_started() + +## Signal emitted when sprinting finishes +signal sprinting_finished() + + +## Enumeration of controller to use for triggering sprinting. This allows the +## developer to assign the sprint button to either controller. +enum SprintController { + LEFT, ## Use left controller + RIGHT, ## Use right controler +} + +## Enumeration of sprinting modes - toggle or hold button +enum SprintType { + HOLD_TO_SPRINT, ## Hold button to sprint + TOGGLE_SPRINT, ## Toggle sprinting on button press +} + + +## Type of sprinting +@export var sprint_type : SprintType = SprintType.HOLD_TO_SPRINT + +## Sprint speed multiplier (multiplier from speed set by direct movement node(s)) +@export_range(1.0, 4.0) var sprint_speed_multiplier : float = 2.0 + +## Movement provider order +@export var order : int = 11 + +## Sprint controller +@export var controller : SprintController = SprintController.LEFT + +## Sprint button +@export var sprint_button : String = "primary_click" + + +# Sprint controller +var _controller : XRController3D + +# Sprint button down state +var _sprint_button_down : bool = false + +# Variable to hold left controller direct movement node original max speed +var _left_controller_original_max_speed : float = 0.0 + +# Variable to hold right controller direct movement node original max speed +var _right_controller_original_max_speed : float = 0.0 + + +# Variable used to cache left controller direct movement function, if any +@onready var _left_controller_direct_move := XRToolsMovementDirect.find_left(self) + +# Variable used to cache right controller direct movement function, if any +@onready var _right_controller_direct_move := XRToolsMovementDirect.find_right(self) + + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementSprint" or super(name) + + +func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + + # Get the sprinting controller + if controller == SprintController.LEFT: + _controller = XRHelpers.get_left_controller(self) + else: + _controller = XRHelpers.get_right_controller(self) + + +# Perform sprinting +func physics_movement(_delta: float, _player_body: XRToolsPlayerBody, disabled: bool): + # Skip if the controller isn't active or is not enabled + if !_controller.get_is_active() or disabled == true or !enabled: + set_sprinting(false) + return + + # Detect sprint button down and pressed states + var sprint_button_down := _controller.is_button_pressed(sprint_button) + var sprint_button_pressed := sprint_button_down and !_sprint_button_down + _sprint_button_down = sprint_button_down + + # Calculate new sprinting state + var sprinting := is_active + match sprint_type: + SprintType.HOLD_TO_SPRINT: + # Sprint when button down + sprinting = sprint_button_down + + SprintType.TOGGLE_SPRINT: + # Toggle when button pressed + if sprint_button_pressed: + sprinting = !sprinting + + # Update sprinting state + if sprinting != is_active: + set_sprinting(sprinting) + + +# Public function used to set sprinting active or not active +func set_sprinting(active: bool) -> void: + # Skip if no change + if active == is_active: + return + + # Update state + is_active = active + + # Handle state change + if is_active: + # We are sprinting + emit_signal("sprinting_started") + + # Since max speeds could be changed while game is running, check + # now for original max speeds of left and right nodes + if _left_controller_direct_move: + _left_controller_original_max_speed = _left_controller_direct_move.max_speed + if _right_controller_direct_move: + _right_controller_original_max_speed = _right_controller_direct_move.max_speed + + # Set both controllers' direct movement functions, if appliable, to + # the sprinting speed + if _left_controller_direct_move: + _left_controller_direct_move.max_speed = \ + _left_controller_original_max_speed * sprint_speed_multiplier + if _right_controller_direct_move: + _right_controller_direct_move.max_speed = \ + _right_controller_original_max_speed * sprint_speed_multiplier + else: + # We are not sprinting + emit_signal("sprinting_finished") + + # Set both controllers' direct movement functions, if applicable, to + # their original speeds + if _left_controller_direct_move: + _left_controller_direct_move.max_speed = _left_controller_original_max_speed + if _right_controller_direct_move: + _right_controller_direct_move.max_speed = _right_controller_original_max_speed + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Make sure player has at least one direct movement node + if !XRToolsMovementDirect.find_left(self) and !XRToolsMovementDirect.find_right(self): + warnings.append("Player missing XRToolsMovementDirect nodes") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_sprint.tscn b/addons/godot-xr-tools/functions/movement_sprint.tscn new file mode 100644 index 0000000..1d71468 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_sprint.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://drs4eeq721ojn"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_sprint.gd" id="1"] + +[node name="MovementSprint" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_turn.gd b/addons/godot-xr-tools/functions/movement_turn.gd new file mode 100644 index 0000000..b64b601 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_turn.gd @@ -0,0 +1,111 @@ +@tool +class_name XRToolsMovementTurn +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Turning +## +## This script provides turning support for the player. This script works +## with the PlayerBody attached to the players XROrigin3D. + + +## Movement mode +enum TurnMode { + DEFAULT, ## Use turn mode from project/user settings + SNAP, ## Use snap-turning + SMOOTH ## Use smooth-turning +} + + +## Movement provider order +@export var order : int = 5 + +## Movement mode property +@export var turn_mode : TurnMode = TurnMode.DEFAULT + +## Smooth turn speed in radians per second +@export var smooth_turn_speed : float = 2.0 + +## Seconds per step (at maximum turn rate) +@export var step_turn_delay : float = 0.2 + +## Step turn angle in degrees +@export var step_turn_angle : float = 20.0 + +## Our directional input +@export var input_action : String = "primary" + +# Turn step accumulator +var _turn_step : float = 0.0 + + +# Controller node +@onready var _controller := XRHelpers.get_xr_controller(self) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementTurn" or super(name) + + +# Perform jump movement +func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: bool): + # Skip if the controller isn't active + if !_controller.get_is_active(): + return + + var deadzone = 0.1 + if _snap_turning(): + deadzone = XRTools.get_snap_turning_deadzone() + + # Read the left/right joystick axis + var left_right := _controller.get_vector2(input_action).x + if abs(left_right) <= deadzone: + # Not turning + _turn_step = 0.0 + return + + # Handle smooth rotation + if !_snap_turning(): + left_right -= deadzone * sign(left_right) + player_body.rotate_player(smooth_turn_speed * delta * left_right) + return + + # Disable repeat snap turning if delay is zero + if step_turn_delay == 0.0 and _turn_step < 0.0: + return + + # Update the next turn-step delay + _turn_step -= abs(left_right) * delta + if _turn_step >= 0.0: + return + + # Turn one step in the requested direction + if step_turn_delay != 0.0: + _turn_step = step_turn_delay + player_body.rotate_player(deg_to_rad(step_turn_angle) * sign(left_right)) + + +# This method verifies the movement provider has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + + # Check the controller node + if !XRHelpers.get_xr_controller(self): + warnings.append("Unable to find XRController3D node") + + # Return warnings + return warnings + + +# Test if snap turning should be used +func _snap_turning(): + match turn_mode: + TurnMode.SNAP: + return true + + TurnMode.SMOOTH: + return false + + _: + return XRToolsUserSettings.snap_turning diff --git a/addons/godot-xr-tools/functions/movement_turn.tscn b/addons/godot-xr-tools/functions/movement_turn.tscn new file mode 100644 index 0000000..8ae0f7d --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_turn.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://b6bk2pj8vbj28"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_turn.gd" id="1"] + +[node name="MovementTurn" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_wall_walk.gd b/addons/godot-xr-tools/functions/movement_wall_walk.gd new file mode 100644 index 0000000..7ccb42b --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_wall_walk.gd @@ -0,0 +1,44 @@ +@tool +class_name XRToolsMovementWallWalk +extends XRToolsMovementProvider + + +# Default wall-walk mask of 4:wall-walk +const DEFAULT_MASK := 0b0000_0000_0000_0000_0000_0000_0000_1000 + + +## Wall walking provider order +@export var order : int = 25 + +## Set our follow layer mask +@export_flags_3d_physics var follow_mask : int = DEFAULT_MASK + +## Wall stick distance +@export var stick_distance : float = 1.0 + +## Wall stick strength +@export var stick_strength : float = 9.8 + + +func physics_pre_movement(_delta: float, player_body: XRToolsPlayerBody): + # Test for collision with wall under feet + var wall_collision := player_body.move_and_collide( + player_body.up_player * -stick_distance, true, true, true) + if !wall_collision: + return + + # Get the wall information + var wall_node := wall_collision.get_collider() + var wall_normal := wall_collision.get_normal() + + # Skip if the wall node doesn't have a collision layer + if not "collision_layer" in wall_node: + return + + # Skip if the wall doesn't match the follow layer + var wall_layer : int = wall_node.collision_layer + if (wall_layer & follow_mask) == 0: + return + + # Modify the player gravity + player_body.gravity = -wall_normal * stick_strength diff --git a/addons/godot-xr-tools/functions/movement_wall_walk.tscn b/addons/godot-xr-tools/functions/movement_wall_walk.tscn new file mode 100644 index 0000000..664f332 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_wall_walk.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bk6ban0hctyym"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_wall_walk.gd" id="1"] + +[node name="MovementWallWalk" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_wind.gd b/addons/godot-xr-tools/functions/movement_wind.gd new file mode 100644 index 0000000..d24a345 --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_wind.gd @@ -0,0 +1,135 @@ +@tool +class_name XRToolsMovementWind +extends XRToolsMovementProvider + + +## XR Tools Movement Provider for Wind +## +## This script provides wind mechanics for the player. This script works +## with the [XRToolsPlayerBody] attached to the players [XROrigin3D]. +## +## When the player enters an [XRToolsWindArea], the wind pushes the player +## around, and can even lift the player into the air. + + +## Signal invoked when changing active wind areas +signal wind_area_changed(active_wind_area) + + +# Default wind area collision mask of 20:player-body +const DEFAULT_MASK := 0b0000_0000_0000_1000_0000_0000_0000_0000 + + +## Movement provider order +@export var order : int = 25 + +## Drag multiplier for the player +@export var drag_multiplier : float = 1.0 + +# Set our collision mask +@export_flags_3d_physics var collision_mask : int = DEFAULT_MASK: set = set_collision_mask + + +# Wind detection area +var _sense_area : Area3D + +# Array of wind areas the player is in +var _in_wind_areas := Array() + +# Currently active wind area +var _active_wind_area : XRToolsWindArea + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementWind" or super(name) + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + + # Skip if running in the editor + if Engine.is_editor_hint(): + return + + # Skip if we don't have a camera + var camera := XRHelpers.get_xr_camera(self) + if !camera: + return + + # Construct the sphere shape + var sphere_shape := SphereShape3D.new() + sphere_shape.radius = 0.3 + + # Construct the collision shape + var collision_shape := CollisionShape3D.new() + collision_shape.set_name("WindSensorShape") + collision_shape.shape = sphere_shape + + # Construct the sense area + _sense_area = Area3D.new() + _sense_area.set_name("WindSensorArea") + _sense_area.collision_mask = collision_mask + _sense_area.add_child(collision_shape) + + # Add the sense area to the camera + camera.add_child(_sense_area) + + # Subscribe to area notifications + _sense_area.area_entered.connect(_on_area_entered) + _sense_area.area_exited.connect(_on_area_exited) + + +func set_collision_mask(new_mask: int) -> void: + collision_mask = new_mask + if is_inside_tree() and _sense_area: + _sense_area.collision_mask = collision_mask + + +func _on_area_entered(area: Area3D): + # Skip if not wind area + var wind_area = area as XRToolsWindArea + if !wind_area: + return + + # Save area and set active + _in_wind_areas.push_front(wind_area) + _active_wind_area = wind_area + + # Report the wind area change + emit_signal("wind_area_changed", _active_wind_area) + + +func _on_area_exited(area: Area3D): + # Erase from the wind area + _in_wind_areas.erase(area) + + # If we didn't leave the active wind area then we're done + if area != _active_wind_area: + return + + # Select a new active wind area + if _in_wind_areas.is_empty(): + _active_wind_area = null + else: + _active_wind_area = _in_wind_areas.front() + + # Report the wind area change + emit_signal("wind_area_changed", _active_wind_area) + + +# Perform wind movement +func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: bool): + # Skip if no active wind area + if !_active_wind_area: + return + + # Calculate the global wind velocity of the wind area + var wind_velocity := _active_wind_area.global_transform.basis * _active_wind_area.wind_vector + + # Drag the player into the wind + var drag_factor := _active_wind_area.drag * drag_multiplier * delta + drag_factor = clamp(drag_factor, 0.0, 1.0) + player_body.velocity = player_body.velocity.lerp(wind_velocity, drag_factor) diff --git a/addons/godot-xr-tools/functions/movement_wind.tscn b/addons/godot-xr-tools/functions/movement_wind.tscn new file mode 100644 index 0000000..2461b1a --- /dev/null +++ b/addons/godot-xr-tools/functions/movement_wind.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bgts3vpmjn6bb"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_wind.gd" id="1"] + +[node name="MovementWind" type="Node" groups=["movement_providers"]] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/hands/About.md b/addons/godot-xr-tools/hands/About.md new file mode 100644 index 0000000..91fe6a5 --- /dev/null +++ b/addons/godot-xr-tools/hands/About.md @@ -0,0 +1,17 @@ +The Hand Mesh was made using the Makehuman Community Edition +It was slightly modified inside Blender 3D and textured inside Substance Painter + +If there should be concerns regarding License issues +https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md + +under point D of the makehuman communtiy edition license +https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md#d-concerning-the-output-from-makehuman +As the assets have been released under CC0, there is no limitation on what you can do with this combined output. +The MakeHuman project makes no claim whatsoever over output such as: + + Exports to files (FBX, OBJ, DAE, MHX2...) + Exports via direct integration (import via MPFB) + Graphical data generated via scripting or plugins + Renderings + Screenshots + Saved model files diff --git a/addons/godot-xr-tools/hands/License.md b/addons/godot-xr-tools/hands/License.md new file mode 100644 index 0000000..baa7dab --- /dev/null +++ b/addons/godot-xr-tools/hands/License.md @@ -0,0 +1,126 @@ +To the extent possible under law, DigitalN8m4r3 aka Miodrag Sejic +has waived all copyright and related or neighboring rights to Hand Models for the Godot XR Tools. +This work is published from: Austria. +Date: 7th November 2022 + +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn b/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn new file mode 100644 index 0000000..3a4374c --- /dev/null +++ b/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn @@ -0,0 +1,81 @@ +[gd_scene load_steps=37 format=3 uid="uid://the6y7swe6j0"] + +[ext_resource type="Animation" uid="uid://dgfeikrugfewi" path="res://addons/godot-xr-tools/hands/animations/left/Cup.res" id="1_7svyl"] +[ext_resource type="Animation" uid="uid://dlxa6f6hwurka" path="res://addons/godot-xr-tools/hands/animations/left/Default pose.res" id="2_ykhfd"] +[ext_resource type="Animation" uid="uid://dqa0h82y3qn1t" path="res://addons/godot-xr-tools/hands/animations/left/Grip 1.res" id="3_y80ds"] +[ext_resource type="Animation" uid="uid://di384xtde8ydf" path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.res" id="4_1nbr8"] +[ext_resource type="Animation" uid="uid://dd67rufxwj2u" path="res://addons/godot-xr-tools/hands/animations/left/Grip 3.res" id="5_28lp1"] +[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="6_uj648"] +[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="7_yxjeh"] +[ext_resource type="Animation" uid="uid://nq3xh1olqipq" path="res://addons/godot-xr-tools/hands/animations/left/Grip Shaft.res" id="8_i0ro5"] +[ext_resource type="Animation" uid="uid://plad1r85f7ws" path="res://addons/godot-xr-tools/hands/animations/left/Grip.res" id="9_811qe"] +[ext_resource type="Animation" uid="uid://bi1l6lre2w2lp" path="res://addons/godot-xr-tools/hands/animations/left/Hold.res" id="10_o5u3q"] +[ext_resource type="Animation" uid="uid://c3e6h0rv2uw2d" path="res://addons/godot-xr-tools/hands/animations/left/Horns.res" id="11_i2b8g"] +[ext_resource type="Animation" uid="uid://dfekure1r6q13" path="res://addons/godot-xr-tools/hands/animations/left/Metal.res" id="12_yoig6"] +[ext_resource type="Animation" uid="uid://b0rhk4r0r0t32" path="res://addons/godot-xr-tools/hands/animations/left/Middle.res" id="13_kvhwh"] +[ext_resource type="Animation" uid="uid://f5k0gh4qnmv5" path="res://addons/godot-xr-tools/hands/animations/left/OK.res" id="14_ofab3"] +[ext_resource type="Animation" uid="uid://1nlkfvitq7ku" path="res://addons/godot-xr-tools/hands/animations/left/Peace.res" id="15_a4q3y"] +[ext_resource type="Animation" uid="uid://dhjb0e334tfwl" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Flat.res" id="16_ixe2d"] +[ext_resource type="Animation" uid="uid://dkjsnihi81b7p" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Large.res" id="17_oifug"] +[ext_resource type="Animation" uid="uid://bn0fdhe2jwq3h" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Middle.res" id="18_2ic2e"] +[ext_resource type="Animation" uid="uid://bo1b8w0s4ci81" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Ring.res" id="19_4a8v4"] +[ext_resource type="Animation" uid="uid://m5x2m8x3tcel" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Tight.res" id="20_ugc01"] +[ext_resource type="Animation" uid="uid://fi23m6i7orhw" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Up.res" id="21_l3kgg"] +[ext_resource type="Animation" uid="uid://c8qmcuyaltdnw" path="res://addons/godot-xr-tools/hands/animations/left/PingPong.res" id="22_j83er"] +[ext_resource type="Animation" uid="uid://bqnoubqq7ogwu" path="res://addons/godot-xr-tools/hands/animations/left/Pinky.res" id="23_sm4sd"] +[ext_resource type="Animation" uid="uid://ddbo6ioa282en" path="res://addons/godot-xr-tools/hands/animations/left/Pistol.res" id="24_r4kss"] +[ext_resource type="Animation" uid="uid://brkptjihht3ae" path="res://addons/godot-xr-tools/hands/animations/left/Ring.res" id="25_2ncut"] +[ext_resource type="Animation" uid="uid://cnng6xumhw7cx" path="res://addons/godot-xr-tools/hands/animations/left/Rounded.res" id="26_02lfv"] +[ext_resource type="Animation" uid="uid://cevirj0eagdrq" path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.res" id="27_o5si3"] +[ext_resource type="Animation" uid="uid://cc6phxovf1ban" path="res://addons/godot-xr-tools/hands/animations/left/Sign 2.res" id="28_ble5k"] +[ext_resource type="Animation" uid="uid://ohthjp8qbcc4" path="res://addons/godot-xr-tools/hands/animations/left/Sign 3.res" id="29_twq1x"] +[ext_resource type="Animation" uid="uid://dmx42g64577g5" path="res://addons/godot-xr-tools/hands/animations/left/Sign 4.res" id="30_eyeuv"] +[ext_resource type="Animation" uid="uid://dhsoxntrktx0p" path="res://addons/godot-xr-tools/hands/animations/left/Sign 5.res" id="31_50jrs"] +[ext_resource type="Animation" uid="uid://c0u2a3yc2vhg8" path="res://addons/godot-xr-tools/hands/animations/left/Sign_Point.res" id="32_7v122"] +[ext_resource type="Animation" uid="uid://4g211my0hoiw" path="res://addons/godot-xr-tools/hands/animations/left/Straight.res" id="33_m3lif"] +[ext_resource type="Animation" uid="uid://d06l7hygl4qt3" path="res://addons/godot-xr-tools/hands/animations/left/Surfer.res" id="34_b3p10"] +[ext_resource type="Animation" uid="uid://bxei4oebd4hu3" path="res://addons/godot-xr-tools/hands/animations/left/Thumb.res" id="35_huikq"] + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_kw48d"] +_data = { +"Cup": ExtResource("1_7svyl"), +"Default pose": ExtResource("2_ykhfd"), +"Grip": ExtResource("9_811qe"), +"Grip 1": ExtResource("3_y80ds"), +"Grip 2": ExtResource("4_1nbr8"), +"Grip 3": ExtResource("5_28lp1"), +"Grip 4": ExtResource("6_uj648"), +"Grip 5": ExtResource("7_yxjeh"), +"Grip Shaft": ExtResource("8_i0ro5"), +"Hold": ExtResource("10_o5u3q"), +"Horns": ExtResource("11_i2b8g"), +"Metal": ExtResource("12_yoig6"), +"Middle": ExtResource("13_kvhwh"), +"OK": ExtResource("14_ofab3"), +"Peace": ExtResource("15_a4q3y"), +"Pinch Flat": ExtResource("16_ixe2d"), +"Pinch Large": ExtResource("17_oifug"), +"Pinch Middle": ExtResource("18_2ic2e"), +"Pinch Ring": ExtResource("19_4a8v4"), +"Pinch Tight": ExtResource("20_ugc01"), +"Pinch Up": ExtResource("21_l3kgg"), +"PingPong": ExtResource("22_j83er"), +"Pinky": ExtResource("23_sm4sd"), +"Pistol": ExtResource("24_r4kss"), +"Ring": ExtResource("25_2ncut"), +"Rounded": ExtResource("26_02lfv"), +"Sign 1": ExtResource("27_o5si3"), +"Sign 2": ExtResource("28_ble5k"), +"Sign 3": ExtResource("29_twq1x"), +"Sign 4": ExtResource("30_eyeuv"), +"Sign 5": ExtResource("31_50jrs"), +"Sign_Point": ExtResource("32_7v122"), +"Straight": ExtResource("33_m3lif"), +"Surfer": ExtResource("34_b3p10"), +"Thumb": ExtResource("35_huikq") +} + +[node name="AnimationPlayer" type="AnimationPlayer"] +libraries = { +"": SubResource("AnimationLibrary_kw48d") +} diff --git a/addons/godot-xr-tools/hands/animations/left/Cup.res b/addons/godot-xr-tools/hands/animations/left/Cup.res new file mode 100644 index 0000000..e9d655a Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Cup.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Default pose.res b/addons/godot-xr-tools/hands/animations/left/Default pose.res new file mode 100644 index 0000000..ac2acd5 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Default pose.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 1.res b/addons/godot-xr-tools/hands/animations/left/Grip 1.res new file mode 100644 index 0000000..690ade7 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip 1.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 2.res b/addons/godot-xr-tools/hands/animations/left/Grip 2.res new file mode 100644 index 0000000..3d79836 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip 2.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 3.res b/addons/godot-xr-tools/hands/animations/left/Grip 3.res new file mode 100644 index 0000000..2330310 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip 3.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 4.res b/addons/godot-xr-tools/hands/animations/left/Grip 4.res new file mode 100644 index 0000000..7b7fa9d Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip 4.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 5.res b/addons/godot-xr-tools/hands/animations/left/Grip 5.res new file mode 100644 index 0000000..4eb375a Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip 5.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Grip Shaft.res b/addons/godot-xr-tools/hands/animations/left/Grip Shaft.res new file mode 100644 index 0000000..65bbbe2 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip Shaft.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Grip.res b/addons/godot-xr-tools/hands/animations/left/Grip.res new file mode 100644 index 0000000..5a0e524 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Hold.res b/addons/godot-xr-tools/hands/animations/left/Hold.res new file mode 100644 index 0000000..3634f03 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Hold.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Horns.res b/addons/godot-xr-tools/hands/animations/left/Horns.res new file mode 100644 index 0000000..6c1afa2 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Horns.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Metal.res b/addons/godot-xr-tools/hands/animations/left/Metal.res new file mode 100644 index 0000000..d05434c Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Metal.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Middle.res b/addons/godot-xr-tools/hands/animations/left/Middle.res new file mode 100644 index 0000000..4c1d230 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Middle.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/OK.res b/addons/godot-xr-tools/hands/animations/left/OK.res new file mode 100644 index 0000000..96e2da2 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/OK.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Peace.res b/addons/godot-xr-tools/hands/animations/left/Peace.res new file mode 100644 index 0000000..2ae48b1 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Peace.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Flat.res b/addons/godot-xr-tools/hands/animations/left/Pinch Flat.res new file mode 100644 index 0000000..5f222d3 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Flat.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Large.res b/addons/godot-xr-tools/hands/animations/left/Pinch Large.res new file mode 100644 index 0000000..ff08be0 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Large.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Middle.res b/addons/godot-xr-tools/hands/animations/left/Pinch Middle.res new file mode 100644 index 0000000..684819b Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Middle.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Ring.res b/addons/godot-xr-tools/hands/animations/left/Pinch Ring.res new file mode 100644 index 0000000..0b953fc Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Ring.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Tight.res b/addons/godot-xr-tools/hands/animations/left/Pinch Tight.res new file mode 100644 index 0000000..b8f5d00 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Tight.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Up.res b/addons/godot-xr-tools/hands/animations/left/Pinch Up.res new file mode 100644 index 0000000..58b935e Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Up.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/PingPong.res b/addons/godot-xr-tools/hands/animations/left/PingPong.res new file mode 100644 index 0000000..999c6a9 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/PingPong.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Pinky.res b/addons/godot-xr-tools/hands/animations/left/Pinky.res new file mode 100644 index 0000000..73fbcc4 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinky.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Pistol.res b/addons/godot-xr-tools/hands/animations/left/Pistol.res new file mode 100644 index 0000000..e8aeb77 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pistol.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Ring.res b/addons/godot-xr-tools/hands/animations/left/Ring.res new file mode 100644 index 0000000..7e2fa72 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Ring.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Rounded.res b/addons/godot-xr-tools/hands/animations/left/Rounded.res new file mode 100644 index 0000000..e737548 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Rounded.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 1.res b/addons/godot-xr-tools/hands/animations/left/Sign 1.res new file mode 100644 index 0000000..fb7d6de Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign 1.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 2.res b/addons/godot-xr-tools/hands/animations/left/Sign 2.res new file mode 100644 index 0000000..b0a774a Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign 2.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 3.res b/addons/godot-xr-tools/hands/animations/left/Sign 3.res new file mode 100644 index 0000000..4564fdd Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign 3.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 4.res b/addons/godot-xr-tools/hands/animations/left/Sign 4.res new file mode 100644 index 0000000..251f28c Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign 4.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 5.res b/addons/godot-xr-tools/hands/animations/left/Sign 5.res new file mode 100644 index 0000000..3205e24 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign 5.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Sign_Point.res b/addons/godot-xr-tools/hands/animations/left/Sign_Point.res new file mode 100644 index 0000000..f3346f0 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign_Point.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Straight.res b/addons/godot-xr-tools/hands/animations/left/Straight.res new file mode 100644 index 0000000..9b1918d Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Straight.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Surfer.res b/addons/godot-xr-tools/hands/animations/left/Surfer.res new file mode 100644 index 0000000..d4b03e4 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Surfer.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/Thumb.res b/addons/godot-xr-tools/hands/animations/left/Thumb.res new file mode 100644 index 0000000..1b40d9f Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Thumb.res differ diff --git a/addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres b/addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres new file mode 100644 index 0000000..ae6f20a --- /dev/null +++ b/addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres @@ -0,0 +1,32 @@ +[gd_resource type="AnimationNodeBlendTree" load_steps=6 format=3 uid="uid://dl8yf7ipqotd1"] + +[sub_resource type="AnimationNodeAnimation" id="1"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="2"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="3"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="4"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="5"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[resource] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("1") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("2") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("3") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("4") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("5") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] diff --git a/addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn b/addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn new file mode 100644 index 0000000..a18d2d2 --- /dev/null +++ b/addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn @@ -0,0 +1,81 @@ +[gd_scene load_steps=37 format=3 uid="uid://bxipj7hyjwy6f"] + +[ext_resource type="Animation" uid="uid://do01jton6rk42" path="res://addons/godot-xr-tools/hands/animations/right/Cup.res" id="1_mq7eu"] +[ext_resource type="Animation" uid="uid://ky28birj4su6" path="res://addons/godot-xr-tools/hands/animations/right/Default pose.res" id="2_kxlaj"] +[ext_resource type="Animation" uid="uid://daqddcrbpam0c" path="res://addons/godot-xr-tools/hands/animations/right/Grip 1.res" id="3_5xubn"] +[ext_resource type="Animation" uid="uid://r8hleealhrqt" path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.res" id="4_y3ovo"] +[ext_resource type="Animation" uid="uid://rs7vpclot07o" path="res://addons/godot-xr-tools/hands/animations/right/Grip 3.res" id="5_0d4pg"] +[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_nabm2"] +[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="7_gy2yb"] +[ext_resource type="Animation" uid="uid://c8dghcftg1thx" path="res://addons/godot-xr-tools/hands/animations/right/Grip Shaft.res" id="8_ffwxq"] +[ext_resource type="Animation" uid="uid://ccds2u22gbxn7" path="res://addons/godot-xr-tools/hands/animations/right/Grip.res" id="9_y16mo"] +[ext_resource type="Animation" uid="uid://bv5tuc1kjv0k5" path="res://addons/godot-xr-tools/hands/animations/right/Hold.res" id="10_g8e21"] +[ext_resource type="Animation" uid="uid://cdjfhqnr4n2mr" path="res://addons/godot-xr-tools/hands/animations/right/Horns.res" id="11_b3lks"] +[ext_resource type="Animation" uid="uid://b1kqsodcr1til" path="res://addons/godot-xr-tools/hands/animations/right/Metal.res" id="12_p14fk"] +[ext_resource type="Animation" uid="uid://cg6fsqb2iuuih" path="res://addons/godot-xr-tools/hands/animations/right/Middle.res" id="13_4i278"] +[ext_resource type="Animation" uid="uid://c3isimdlxg54a" path="res://addons/godot-xr-tools/hands/animations/right/OK.res" id="14_qk7tg"] +[ext_resource type="Animation" uid="uid://bxmc3vlfih764" path="res://addons/godot-xr-tools/hands/animations/right/Peace.res" id="15_ejppt"] +[ext_resource type="Animation" uid="uid://dg4v7rqiaje2h" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Flat.res" id="16_7cyln"] +[ext_resource type="Animation" uid="uid://cuwwpxi44vwpm" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Large.res" id="17_amtgc"] +[ext_resource type="Animation" uid="uid://c6vghurk7t5yb" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Middle.res" id="18_pnqcq"] +[ext_resource type="Animation" uid="uid://mjotm5uukoo3" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Ring.res" id="19_aeaff"] +[ext_resource type="Animation" uid="uid://ca21ej1p3g2yt" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Tight.res" id="20_mghnf"] +[ext_resource type="Animation" uid="uid://cseojxi8rrqc" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Up.res" id="21_1v6tw"] +[ext_resource type="Animation" uid="uid://c8hn123uon74u" path="res://addons/godot-xr-tools/hands/animations/right/PingPong.res" id="22_ueac0"] +[ext_resource type="Animation" uid="uid://b6ra3rqia1gvb" path="res://addons/godot-xr-tools/hands/animations/right/Pinky.res" id="23_7vyi4"] +[ext_resource type="Animation" uid="uid://csp3fdknowmi5" path="res://addons/godot-xr-tools/hands/animations/right/Pistol.res" id="24_nc600"] +[ext_resource type="Animation" uid="uid://2ttepgvf634h" path="res://addons/godot-xr-tools/hands/animations/right/Ring.res" id="25_20nj0"] +[ext_resource type="Animation" uid="uid://wcwa3p1qrhwr" path="res://addons/godot-xr-tools/hands/animations/right/Rounded.res" id="26_648rb"] +[ext_resource type="Animation" uid="uid://bcwx6a6mhsoj2" path="res://addons/godot-xr-tools/hands/animations/right/Sign 1.res" id="27_liq3y"] +[ext_resource type="Animation" uid="uid://btnsp36fjkldf" path="res://addons/godot-xr-tools/hands/animations/right/Sign 2.res" id="28_vdv8x"] +[ext_resource type="Animation" uid="uid://c35i6glt1ov2m" path="res://addons/godot-xr-tools/hands/animations/right/Sign 3.res" id="29_uairn"] +[ext_resource type="Animation" uid="uid://b8mmk2ufmlyf" path="res://addons/godot-xr-tools/hands/animations/right/Sign 4.res" id="30_351lm"] +[ext_resource type="Animation" uid="uid://ddgl3lsnlfiny" path="res://addons/godot-xr-tools/hands/animations/right/Sign 5.res" id="31_o4yst"] +[ext_resource type="Animation" uid="uid://ccy3e7a0hvxyl" path="res://addons/godot-xr-tools/hands/animations/right/Sign_Point.res" id="32_02kj7"] +[ext_resource type="Animation" uid="uid://d3h36bkauutoq" path="res://addons/godot-xr-tools/hands/animations/right/Straight.res" id="33_gpxgh"] +[ext_resource type="Animation" uid="uid://bq7cjxdn28jcv" path="res://addons/godot-xr-tools/hands/animations/right/Surfer.res" id="34_ldn4j"] +[ext_resource type="Animation" uid="uid://d2ukhr3n2r1u8" path="res://addons/godot-xr-tools/hands/animations/right/Thumb.res" id="35_xnxq3"] + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_reqae"] +_data = { +"Cup": ExtResource("1_mq7eu"), +"Default pose": ExtResource("2_kxlaj"), +"Grip": ExtResource("9_y16mo"), +"Grip 1": ExtResource("3_5xubn"), +"Grip 2": ExtResource("4_y3ovo"), +"Grip 3": ExtResource("5_0d4pg"), +"Grip 4": ExtResource("6_nabm2"), +"Grip 5": ExtResource("7_gy2yb"), +"Grip Shaft": ExtResource("8_ffwxq"), +"Hold": ExtResource("10_g8e21"), +"Horns": ExtResource("11_b3lks"), +"Metal": ExtResource("12_p14fk"), +"Middle": ExtResource("13_4i278"), +"OK": ExtResource("14_qk7tg"), +"Peace": ExtResource("15_ejppt"), +"Pinch Flat": ExtResource("16_7cyln"), +"Pinch Large": ExtResource("17_amtgc"), +"Pinch Middle": ExtResource("18_pnqcq"), +"Pinch Ring": ExtResource("19_aeaff"), +"Pinch Tight": ExtResource("20_mghnf"), +"Pinch Up": ExtResource("21_1v6tw"), +"PingPong": ExtResource("22_ueac0"), +"Pinky": ExtResource("23_7vyi4"), +"Pistol": ExtResource("24_nc600"), +"Ring": ExtResource("25_20nj0"), +"Rounded": ExtResource("26_648rb"), +"Sign 1": ExtResource("27_liq3y"), +"Sign 2": ExtResource("28_vdv8x"), +"Sign 3": ExtResource("29_uairn"), +"Sign 4": ExtResource("30_351lm"), +"Sign 5": ExtResource("31_o4yst"), +"Sign_Point": ExtResource("32_02kj7"), +"Straight": ExtResource("33_gpxgh"), +"Surfer": ExtResource("34_ldn4j"), +"Thumb": ExtResource("35_xnxq3") +} + +[node name="AnimationPlayer" type="AnimationPlayer"] +libraries = { +"": SubResource("AnimationLibrary_reqae") +} diff --git a/addons/godot-xr-tools/hands/animations/right/Cup.res b/addons/godot-xr-tools/hands/animations/right/Cup.res new file mode 100644 index 0000000..8c51ec0 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Cup.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Default pose.res b/addons/godot-xr-tools/hands/animations/right/Default pose.res new file mode 100644 index 0000000..0433064 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Default pose.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 1.res b/addons/godot-xr-tools/hands/animations/right/Grip 1.res new file mode 100644 index 0000000..a948e07 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip 1.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 2.res b/addons/godot-xr-tools/hands/animations/right/Grip 2.res new file mode 100644 index 0000000..0edc4bc Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip 2.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 3.res b/addons/godot-xr-tools/hands/animations/right/Grip 3.res new file mode 100644 index 0000000..3217e8f Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip 3.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 4.res b/addons/godot-xr-tools/hands/animations/right/Grip 4.res new file mode 100644 index 0000000..59b168b Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip 4.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 5.res b/addons/godot-xr-tools/hands/animations/right/Grip 5.res new file mode 100644 index 0000000..c856434 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip 5.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Grip Shaft.res b/addons/godot-xr-tools/hands/animations/right/Grip Shaft.res new file mode 100644 index 0000000..af238ac Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip Shaft.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Grip.res b/addons/godot-xr-tools/hands/animations/right/Grip.res new file mode 100644 index 0000000..601dcf7 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Hold.res b/addons/godot-xr-tools/hands/animations/right/Hold.res new file mode 100644 index 0000000..e9e7b20 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Hold.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Horns.res b/addons/godot-xr-tools/hands/animations/right/Horns.res new file mode 100644 index 0000000..dc96a64 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Horns.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Metal.res b/addons/godot-xr-tools/hands/animations/right/Metal.res new file mode 100644 index 0000000..9586df2 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Metal.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Middle.res b/addons/godot-xr-tools/hands/animations/right/Middle.res new file mode 100644 index 0000000..58b0b17 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Middle.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/OK.res b/addons/godot-xr-tools/hands/animations/right/OK.res new file mode 100644 index 0000000..0c34865 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/OK.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Peace.res b/addons/godot-xr-tools/hands/animations/right/Peace.res new file mode 100644 index 0000000..706c365 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Peace.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Flat.res b/addons/godot-xr-tools/hands/animations/right/Pinch Flat.res new file mode 100644 index 0000000..bb79149 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Flat.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Large.res b/addons/godot-xr-tools/hands/animations/right/Pinch Large.res new file mode 100644 index 0000000..868e737 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Large.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Middle.res b/addons/godot-xr-tools/hands/animations/right/Pinch Middle.res new file mode 100644 index 0000000..7bc904e Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Middle.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Ring.res b/addons/godot-xr-tools/hands/animations/right/Pinch Ring.res new file mode 100644 index 0000000..346567a Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Ring.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Tight.res b/addons/godot-xr-tools/hands/animations/right/Pinch Tight.res new file mode 100644 index 0000000..a828be7 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Tight.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Up.res b/addons/godot-xr-tools/hands/animations/right/Pinch Up.res new file mode 100644 index 0000000..edef124 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Up.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/PingPong.res b/addons/godot-xr-tools/hands/animations/right/PingPong.res new file mode 100644 index 0000000..d422d4d Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/PingPong.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Pinky.res b/addons/godot-xr-tools/hands/animations/right/Pinky.res new file mode 100644 index 0000000..818f6d8 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinky.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Pistol.res b/addons/godot-xr-tools/hands/animations/right/Pistol.res new file mode 100644 index 0000000..40c3cde Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pistol.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Ring.res b/addons/godot-xr-tools/hands/animations/right/Ring.res new file mode 100644 index 0000000..9d0e1c3 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Ring.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Rounded.res b/addons/godot-xr-tools/hands/animations/right/Rounded.res new file mode 100644 index 0000000..02e1a7f Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Rounded.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 1.res b/addons/godot-xr-tools/hands/animations/right/Sign 1.res new file mode 100644 index 0000000..b5f12af Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign 1.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 2.res b/addons/godot-xr-tools/hands/animations/right/Sign 2.res new file mode 100644 index 0000000..eb398d6 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign 2.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 3.res b/addons/godot-xr-tools/hands/animations/right/Sign 3.res new file mode 100644 index 0000000..f69a4ad Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign 3.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 4.res b/addons/godot-xr-tools/hands/animations/right/Sign 4.res new file mode 100644 index 0000000..e93f393 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign 4.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 5.res b/addons/godot-xr-tools/hands/animations/right/Sign 5.res new file mode 100644 index 0000000..69f68f4 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign 5.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Sign_Point.res b/addons/godot-xr-tools/hands/animations/right/Sign_Point.res new file mode 100644 index 0000000..8f64870 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign_Point.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Straight.res b/addons/godot-xr-tools/hands/animations/right/Straight.res new file mode 100644 index 0000000..cd658ec Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Straight.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Surfer.res b/addons/godot-xr-tools/hands/animations/right/Surfer.res new file mode 100644 index 0000000..01cfa17 Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Surfer.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/Thumb.res b/addons/godot-xr-tools/hands/animations/right/Thumb.res new file mode 100644 index 0000000..f82ac7f Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Thumb.res differ diff --git a/addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres b/addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres new file mode 100644 index 0000000..f56fb58 --- /dev/null +++ b/addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres @@ -0,0 +1,32 @@ +[gd_resource type="AnimationNodeBlendTree" load_steps=6 format=3 uid="uid://m85b1gogdums"] + +[sub_resource type="AnimationNodeAnimation" id="1"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="2"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="4"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="3"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="5"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[resource] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("1") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("2") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("4") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("3") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("5") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] diff --git a/addons/godot-xr-tools/hands/blend/animations/animations_hand_l.blend b/addons/godot-xr-tools/hands/blend/animations/animations_hand_l.blend new file mode 100644 index 0000000..c052619 Binary files /dev/null and b/addons/godot-xr-tools/hands/blend/animations/animations_hand_l.blend differ diff --git a/addons/godot-xr-tools/hands/blend/animations/animations_hand_r.blend b/addons/godot-xr-tools/hands/blend/animations/animations_hand_r.blend new file mode 100644 index 0000000..cf5e3d4 Binary files /dev/null and b/addons/godot-xr-tools/hands/blend/animations/animations_hand_r.blend differ diff --git a/addons/godot-xr-tools/hands/blend/hand_l.blend b/addons/godot-xr-tools/hands/blend/hand_l.blend new file mode 100644 index 0000000..21e2b2f Binary files /dev/null and b/addons/godot-xr-tools/hands/blend/hand_l.blend differ diff --git a/addons/godot-xr-tools/hands/blend/hand_r.blend b/addons/godot-xr-tools/hands/blend/hand_r.blend new file mode 100644 index 0000000..ef49655 Binary files /dev/null and b/addons/godot-xr-tools/hands/blend/hand_r.blend differ diff --git a/addons/godot-xr-tools/hands/collision_hand.gd b/addons/godot-xr-tools/hands/collision_hand.gd new file mode 100644 index 0000000..7adc474 --- /dev/null +++ b/addons/godot-xr-tools/hands/collision_hand.gd @@ -0,0 +1,228 @@ +@tool +class_name XRToolsCollisionHand +extends XRToolsForceBody + + +## XRTools Collision Hand Container Script +## +## This script implements logic for collision hands. Specifically it tracks +## its ancestor [XRController3D], and can act as a container for hand models +## and pickup functions. + + +## Modes for collision hand +enum CollisionHandMode { + ## Hand is disabled and must be moved externally + DISABLED, + + ## Hand teleports to controller + TELEPORT, + + ## Hand collides with world (based on mask) + COLLIDE +} + +# Default layer of 18:player-hands +const DEFAULT_LAYER := 0b0000_0000_0000_0010_0000_0000_0000_0000 + +# Default mask of 0xFFFF (1..16) +# - 1:static-world +# - 2:dynamic-world +# - 3:pickable-objects +# - 4:wall-walking +# - 5:grappling-target +const DEFAULT_MASK := 0b0000_0000_0000_0000_1111_1111_1111_1111 + +# How much displacement is required for the hand to start orienting to a surface +const ORIENT_DISPLACEMENT := 0.05 + +# Distance to teleport hands +const TELEPORT_DISTANCE := 1.0 + + +## Controls the hand collision mode +@export var mode : CollisionHandMode = CollisionHandMode.COLLIDE + + +# Controller to target (if no target overrides) +var _controller : XRController3D + +# Sorted stack of TargetOverride +var _target_overrides := [] + +# Current target (controller or override) +var _target : Node3D + + +## Target-override class +class TargetOverride: + ## Target of the override + var target : Node3D + + ## Target priority + var priority : int + + ## Target-override constructor + func _init(t : Node3D, p : int): + target = t + priority = p + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsCollisionHand" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Do not initialise if in the editor + if Engine.is_editor_hint(): + return + + # Disconnect from parent transform, as we move to it in the physics step + top_level = true + + # Populate nodes + _controller = XRTools.find_xr_ancestor(self, "*", "XRController3D") + + # Update the target + _update_target() + + +# Handle physics processing +func _physics_process(_delta): + # Do not process if in the editor + if Engine.is_editor_hint(): + return + + # Move to the current target + _move_to_target() + + +## This function adds a target override. The collision hand will attempt to +## move to the highest priority target, or the [XRController3D] if no override +## is specified. +func add_target_override(target : Node3D, priority : int) -> void: + # Remove any existing target override from this source + var modified := _remove_target_override(target) + + # Insert the target override + _insert_target_override(target, priority) + modified = true + + # Update the target + if modified: + _update_target() + + +## This function remove a target override. +func remove_target_override(target : Node3D) -> void: + # Remove the target override + var modified := _remove_target_override(target) + + # Update the pose + if modified: + _update_target() + + +## This function searches from the specified node for an [XRToolsCollisionHand] +## assuming the node is a sibling of the hand under an [XRController3D]. +static func find_instance(node : Node) -> XRToolsCollisionHand: + return XRTools.find_xr_child( + XRHelpers.get_xr_controller(node), + "*", + "XRToolsCollisionHand") as XRToolsCollisionHand + + +## This function searches from the specified node for the left controller +## [XRToolsCollisionHand] assuming the node is a sibling of the [XROrigin3D]. +static func find_left(node : Node) -> XRToolsCollisionHand: + return XRTools.find_xr_child( + XRHelpers.get_left_controller(node), + "*", + "XRToolsCollisionHand") as XRToolsCollisionHand + + +## This function searches from the specified node for the right controller +## [XRToolsCollisionHand] assuming the node is a sibling of the [XROrigin3D]. +static func find_right(node : Node) -> XRToolsCollisionHand: + return XRTools.find_xr_child( + XRHelpers.get_right_controller(node), + "*", + "XRToolsCollisionHand") as XRToolsCollisionHand + + +# This function moves the collision hand to the target node. +func _move_to_target(): + # Handle DISABLED or no target + if mode == CollisionHandMode.DISABLED or not _target: + return + + # Handle TELEPORT + if mode == CollisionHandMode.TELEPORT: + global_transform = _target.global_transform + return + + # Handle too far from target + if global_position.distance_to(_target.global_position) > TELEPORT_DISTANCE: + global_transform = _target.global_transform + return + + # Orient the hand then move + global_transform.basis = _target.global_transform.basis + move_and_slide(_target.global_position - global_position) + + +# This function inserts a target override into the overrides list by priority +# order. +func _insert_target_override(target : Node3D, priority : int) -> void: + # Construct the target override + var override := TargetOverride.new(target, priority) + + # Iterate over all target overrides in the list + for pos in _target_overrides.size(): + # Get the target override + var o : TargetOverride = _target_overrides[pos] + + # Insert as early as possible to not invalidate sorting + if o.priority <= priority: + _target_overrides.insert(pos, override) + return + + # Insert at the end + _target_overrides.push_back(override) + + +# This function removes a target from the overrides list +func _remove_target_override(target : Node) -> bool: + var pos := 0 + var length := _target_overrides.size() + var modified := false + + # Iterate over all pose overrides in the list + while pos < length: + # Get the target override + var o : TargetOverride = _target_overrides[pos] + + # Check for a match + if o.target == target: + # Remove the override + _target_overrides.remove_at(pos) + modified = true + length -= 1 + else: + # Advance down the list + pos += 1 + + # Return the modified indicator + return modified + + +# This function updates the target for hand movement. +func _update_target() -> void: + # Start by assuming the controller + _target = _controller + + # Use first target override if specified + if _target_overrides.size(): + _target = _target_overrides[0].target diff --git a/addons/godot-xr-tools/hands/hand.gd b/addons/godot-xr-tools/hands/hand.gd new file mode 100644 index 0000000..dafb922 --- /dev/null +++ b/addons/godot-xr-tools/hands/hand.gd @@ -0,0 +1,345 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsHand +extends Node3D + + +## XR Tools Hand Script +## +## This script manages a godot-xr-tools hand. It animates the hand blending +## grip and trigger animations based on controller input. +## +## Additionally the hand script detects world-scale changes in the XRServer +## and re-scales the hand appropriately so the hand stays scaled to the +## physical hand of the user. + + +## Signal emitted when the hand scale changes +signal hand_scale_changed(scale) + + +## Blend tree to use +@export var hand_blend_tree : AnimationNodeBlendTree: set = set_hand_blend_tree + +## Override the hand material +@export var hand_material_override : Material: set = set_hand_material_override + +## Default hand pose +@export var default_pose : XRToolsHandPoseSettings: set = set_default_pose + +## Name of the Grip action in the OpenXR Action Map. +@export var grip_action : String = "grip" + +## Name of the Trigger action in the OpenXR Action Map. +@export var trigger_action : String = "trigger" + + +## Last world scale (for scaling hands) +var _last_world_scale : float = 1.0 + +## Controller used for input/tracking +var _controller : XRController3D + +## Initial hand transform (from controller) - used for scaling hands +var _transform : Transform3D + +## Hand mesh +var _hand_mesh : MeshInstance3D + +## Hand animation player +var _animation_player : AnimationPlayer + +## Hand animation tree +var _animation_tree : AnimationTree + +## Animation blend tree +var _tree_root : AnimationNodeBlendTree + +## Sorted stack of PoseOverride +var _pose_overrides := [] + +## Force grip value (< 0 for no force) +var _force_grip := -1.0 + +## Force trigger value (< 0 for no force) +var _force_trigger := -1.0 + + +## Pose-override class +class PoseOverride: + ## Who requested the override + var who : Node + + ## Pose priority + var priority : int + + ## Pose settings + var settings : XRToolsHandPoseSettings + + ## Pose-override constructor + func _init(w : Node, p : int, s : XRToolsHandPoseSettings): + who = w + priority = p + settings = s + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHand" + + +## Called when the node enters the scene tree for the first time. +func _ready() -> void: + # Save the initial hand transform + _transform = transform + + # Find our controller + _controller = XRTools.find_xr_ancestor(self, "*", "XRController3D") + + # Find the relevant hand nodes + _hand_mesh = _find_child(self, "MeshInstance3D") + _animation_player = _find_child(self, "AnimationPlayer") + _animation_tree = _find_child(self, "AnimationTree") + + # Apply all updates + _update_hand_blend_tree() + _update_hand_material_override() + _update_pose() + + +## This method is called on every frame. It checks for world-scale changes and +## scales itself causing the hand mesh and skeleton to scale appropriately. +## It then reads the grip and trigger action values to animate the hand. +func _process(_delta: float) -> void: + # Do not run physics if in the editor + if Engine.is_editor_hint(): + return + + # Scale the hand mesh with the world scale. + if XRServer.world_scale != _last_world_scale: + _last_world_scale = XRServer.world_scale + transform = _transform.scaled(Vector3.ONE * _last_world_scale) + emit_signal("hand_scale_changed", _last_world_scale) + + # Animate the hand mesh with the controller inputs + if _controller: + var grip : float = _controller.get_float(grip_action) + var trigger : float = _controller.get_float(trigger_action) + + # Allow overriding of grip and trigger + if _force_grip >= 0.0: grip = _force_grip + if _force_trigger >= 0.0: trigger = _force_trigger + + $AnimationTree.set("parameters/Grip/blend_amount", grip) + $AnimationTree.set("parameters/Trigger/blend_amount", trigger) + + + +# This method verifies the hand has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Check hand for mesh instance + if not _find_child(self, "MeshInstance3D"): + warnings.append("Hand does not have a MeshInstance3D") + + # Check hand for animation player + if not _find_child(self, "AnimationPlayer"): + warnings.append("Hand does not have a AnimationPlayer") + + # Check hand for animation tree + var tree : AnimationTree = _find_child(self, "AnimationTree") + if not tree: + warnings.append("Hand does not have a AnimationTree") + elif not tree.tree_root: + warnings.append("Hand AnimationTree has no root") + + # Return warnings + return warnings + + +## Find an [XRToolsHand] node. +## +## This function searches from the specified node for an [XRToolsHand] assuming +## the node is a sibling of the hand under an [ARVRController]. +static func find_instance(node : Node) -> XRToolsHand: + return XRTools.find_xr_child( + XRHelpers.get_xr_controller(node), + "*", + "XRToolsHand") as XRToolsHand + + +## Set the blend tree +func set_hand_blend_tree(blend_tree : AnimationNodeBlendTree) -> void: + hand_blend_tree = blend_tree + if is_inside_tree(): + _update_hand_blend_tree() + _update_pose() + + +## Set the hand material override +func set_hand_material_override(material : Material) -> void: + hand_material_override = material + if is_inside_tree(): + _update_hand_material_override() + + +## Set the default open-hand pose +func set_default_pose(pose : XRToolsHandPoseSettings) -> void: + default_pose = pose + if is_inside_tree(): + _update_pose() + + +## Add a pose override +func add_pose_override(who : Node, priority : int, settings : XRToolsHandPoseSettings) -> void: + # Remove any existing pose override from this source + var modified := _remove_pose_override(who) + + # Insert the pose override + if settings: + _insert_pose_override(who, priority, settings) + modified = true + + # Update the pose + if modified: + _update_pose() + + +## Remove a pose override +func remove_pose_override(who : Node) -> void: + # Remove the pose override + var modified := _remove_pose_override(who) + + # Update the pose + if modified: + _update_pose() + + +## Force the grip and trigger values (primarily for preview) +func force_grip_trigger(grip : float = -1.0, trigger : float = -1.0) -> void: + # Save the forced values + _force_grip = grip + _force_trigger = trigger + + # Update the animation if forcing to specific values + if grip >= 0.0: $AnimationTree.set("parameters/Grip/blend_amount", grip) + if trigger >= 0.0: $AnimationTree.set("parameters/Trigger/blend_amount", trigger) + + +func _update_hand_blend_tree() -> void: + # As we're going to make modifications to our animation tree, we need to do + # a deep copy, simply setting resource local to scene does not seem to be enough + if _animation_tree and hand_blend_tree: + _tree_root = hand_blend_tree.duplicate(true) + _animation_tree.tree_root = _tree_root + + +func _update_hand_material_override() -> void: + if _hand_mesh: + _hand_mesh.material_override = hand_material_override + + +func _update_pose() -> void: + # Skip if no blend tree + if !_tree_root: + return + + # Select the pose settings + var pose_settings : XRToolsHandPoseSettings = default_pose + if _pose_overrides.size(): + pose_settings = _pose_overrides[0].settings + + # Get the open and closed pose animations + var open_pose : Animation = pose_settings.open_pose + var closed_pose : Animation = pose_settings.closed_pose + + # Apply the open hand pose in the player and blend tree + if open_pose: + var open_name = _animation_player.find_animation(open_pose) + if open_name == "": + open_name = "open_hand" + if _animation_player.has_animation(open_name): + _animation_player.remove_animation(open_name) + + _animation_player.add_animation(open_name, open_pose) + + var open_hand_obj : AnimationNodeAnimation = _tree_root.get_node("OpenHand") + if open_hand_obj: + open_hand_obj.animation = open_name + + # Apply the closed hand pose in the player and blend tree + if closed_pose: + var closed_name = _animation_player.find_animation(closed_pose) + if closed_name == "": + closed_name = "closed_hand" + if _animation_player.has_animation(closed_name): + _animation_player.remove_animation(closed_name) + + _animation_player.add_animation(closed_name, closed_pose) + + var closed_hand_obj : AnimationNodeAnimation = _tree_root.get_node("ClosedHand1") + if closed_hand_obj: + closed_hand_obj.animation = closed_name + + closed_hand_obj = _tree_root.get_node("ClosedHand2") + if closed_hand_obj: + closed_hand_obj.animation = closed_name + + +func _insert_pose_override(who : Node, priority : int, settings : XRToolsHandPoseSettings) -> void: + # Construct the pose override + var override := PoseOverride.new(who, priority, settings) + + # Iterate over all pose overrides in the list + for pos in _pose_overrides.size(): + # Get the pose override + var pose : PoseOverride = _pose_overrides[pos] + + # Insert as early as possible to not invalidate sorting + if pose.priority <= priority: + _pose_overrides.insert(pos, override) + return + + # Insert at the end + _pose_overrides.push_back(override) + + +func _remove_pose_override(who : Node) -> bool: + var pos := 0 + var length := _pose_overrides.size() + var modified := false + + # Iterate over all pose overrides in the list + while pos < length: + # Get the pose override + var pose : PoseOverride = _pose_overrides[pos] + + # Check for a match + if pose.who == who: + # Remove the override + _pose_overrides.remove_at(pos) + modified = true + length -= 1 + else: + # Advance down the list + pos += 1 + + # Return the modified indicator + return modified + + +static func _find_child(node : Node, type : String) -> Node: + # Iterate through all children + for child in node.get_children(): + # If the child is a match then return it + if child.is_class(type): + return child + + # Recurse into child + var found := _find_child(child, type) + if found: + return found + + # No child found matching type + return null diff --git a/addons/godot-xr-tools/hands/hand_physics_bone.gd b/addons/godot-xr-tools/hands/hand_physics_bone.gd new file mode 100644 index 0000000..998d35d --- /dev/null +++ b/addons/godot-xr-tools/hands/hand_physics_bone.gd @@ -0,0 +1,146 @@ +@tool +class_name XRToolsHandPhysicsBone +extends BoneAttachment3D + + +## XR Tools Physics Hand Bone +## +## This script adds a physics-bone to a godot-xr-tools physics hand. +## +## It extends from [BoneAttachment3D] to track the position of the bone in +## the hand skeleton, and uses this position to move a [CharacterBody3D] +## physics-bone with a [CapsuleShape3D] collider. +## +## The physics-bone is manually driven with to the position and rotation of the +## skeletal-bone. The physics-bone is set as top-level to prevent the +## physics-bone from inheriting any hand scaling as this would scale the +## collider which the physics engine cannot tolerate. +## +## To handle scaling, this script subscribes to the hand_scale_changed signal +## emitted by the [XRToolsHand] script and manually adjusts the [CapsuleShape3D] +## collider of the physics-bone to keep it sized appropriately. +## +## There are additional collision and group settings for this specific +## bone, which allows per-bone collision detection. + + +## Length of the physics-bone +@export var length : float = 0.03 + +## Ratio of bone length to width +@export var width_ratio : float = 0.3 + +## Additional collision layer for this one bone +@export_flags_3d_physics var collision_layer : int = 0 + +## Additional bone group for this one bone +@export var bone_group : String = "" + + +# Physics-bone collider shape +var _bone_shape : CapsuleShape3D + +# Physics-bone body node +var _physics_bone : CharacterBody3D + +# Node attached to the skeletal-bone, and the target of the physics-bone +var _skeletal_bone : Node3D + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHandPhysicsBone" + + +# Called when the node enters the scene tree. This constructs the physics-bone +# nodes and performs initial positioning. +func _ready(): + # Connect the 'hand_scale_changed' signal + var physics_hand := XRToolsHand.find_instance(self) as XRToolsPhysicsHand + if physics_hand: + physics_hand.hand_scale_changed.connect(_on_hand_scale_changed) + + # Construct the physics-bone shape + _bone_shape = CapsuleShape3D.new() + _bone_shape.margin = physics_hand.margin + _on_hand_scale_changed(XRServer.world_scale) + + # Construct the physics-bone collision shape + var bone_collision := CollisionShape3D.new() + bone_collision.set_name("BoneCollision") + bone_collision.shape = _bone_shape + #bone_collision.transform.basis = Basis(Vector3.RIGHT, PI/2) + + # Construct the physics-bone body + _physics_bone = CharacterBody3D.new() + _physics_bone.set_name("BoneBody") + _physics_bone.set_as_top_level(true) + _physics_bone.collision_layer = physics_hand.collision_layer | collision_layer + _physics_bone.collision_mask = 0 + _physics_bone.add_child(bone_collision) + + # Set the optional bone group for all bones in the hand + if not physics_hand.bone_group.is_empty(): + _physics_bone.add_to_group(physics_hand.bone_group) + + # Set the optional bone group for this one bone + if not bone_group.is_empty(): + _physics_bone.add_to_group(bone_group) + + # Construct the bone middle spatial + _skeletal_bone = Node3D.new() + _skeletal_bone.transform.origin = Vector3.UP * length / 2 + + # Add the physics-bone body to this hand bone + add_child(_physics_bone) + add_child(_skeletal_bone) + + # Perform initial teleport of the phsysics-bone to the skeletal-bone + _teleport_bone() + + +# Called during the physics process and moves the physics-bone to follow the +# skeletal-bone. +func _physics_process(delta: float) -> void: + _move_bone(delta) + + +# This method moves the physics-bone to the skeletal-bone by first doing a +# move_and_slide as this works well for collision-interactions. It then +# rotates the physics-bone to match the skeletal-bone. +func _move_bone(delta: float) -> void: + # Get the skeletal-bone transform + var bone_xform := _skeletal_bone.global_transform + + # Get the required velocity to move the physics-bone to the skeletal-bone + var bone_vel := (bone_xform.origin - _physics_bone.global_transform.origin) / delta + + # Move the physics-bone into position + _physics_bone.velocity = bone_vel + _physics_bone.move_and_slide() + + # Rotate the physics-bone into the correct rotation + _physics_bone.global_transform.basis = bone_xform.basis + + +# This method teleports the physics-bone to the skeletal-bone. +func _teleport_bone() -> void: + # Get the bone transform + var bone_xform := _skeletal_bone.global_transform + + # Set the bone position + _physics_bone.global_transform = Transform3D( + Basis(bone_xform.basis.get_rotation_quaternion()), + bone_xform.origin) + + +# This method handles changes to the hand scale by adjusting the +# physics-bone collider shape to match. +func _on_hand_scale_changed(scale: float) -> void: + # Get the scaled length and width + var length_scaled := length * scale + var width_scaled := length_scaled * width_ratio + + # Adjust the shape + _bone_shape.radius = width_scaled + _bone_shape.height = length_scaled diff --git a/addons/godot-xr-tools/hands/materials/african_hands.material b/addons/godot-xr-tools/hands/materials/african_hands.material new file mode 100644 index 0000000..e132a8f Binary files /dev/null and b/addons/godot-xr-tools/hands/materials/african_hands.material differ diff --git a/addons/godot-xr-tools/hands/materials/african_hands_realistic.material b/addons/godot-xr-tools/hands/materials/african_hands_realistic.material new file mode 100644 index 0000000..4f54528 Binary files /dev/null and b/addons/godot-xr-tools/hands/materials/african_hands_realistic.material differ diff --git a/addons/godot-xr-tools/hands/materials/caucasian_hand.material b/addons/godot-xr-tools/hands/materials/caucasian_hand.material new file mode 100644 index 0000000..a0cfb2e Binary files /dev/null and b/addons/godot-xr-tools/hands/materials/caucasian_hand.material differ diff --git a/addons/godot-xr-tools/hands/materials/caucasian_hands_realistic.material b/addons/godot-xr-tools/hands/materials/caucasian_hands_realistic.material new file mode 100644 index 0000000..2f7b83a Binary files /dev/null and b/addons/godot-xr-tools/hands/materials/caucasian_hands_realistic.material differ diff --git a/addons/godot-xr-tools/hands/materials/cleaning_glove.material b/addons/godot-xr-tools/hands/materials/cleaning_glove.material new file mode 100644 index 0000000..798d37d Binary files /dev/null and b/addons/godot-xr-tools/hands/materials/cleaning_glove.material differ diff --git a/addons/godot-xr-tools/hands/materials/ghost_hand.tres b/addons/godot-xr-tools/hands/materials/ghost_hand.tres new file mode 100644 index 0000000..7d7f6c1 --- /dev/null +++ b/addons/godot-xr-tools/hands/materials/ghost_hand.tres @@ -0,0 +1,18 @@ +[gd_resource type="StandardMaterial3D" load_steps=4 format=3 uid="uid://p0q2df2dmy62"] + +[ext_resource type="Texture2D" uid="uid://dgkfppran5j1f" path="res://addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png" id="1_rbe3r"] +[ext_resource type="Texture2D" uid="uid://d2iocwfr47kqp" path="res://addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png" id="2_qqman"] + +[sub_resource type="ORMMaterial3D" id="ORMMaterial3D_wu6j1"] +transparency = 1 +depth_draw_mode = 1 +albedo_texture = ExtResource("1_rbe3r") +orm_texture = ExtResource("2_qqman") + +[resource] +render_priority = -1 +next_pass = SubResource("ORMMaterial3D_wu6j1") +transparency = 1 +no_depth_test = true +shading_mode = 0 +albedo_color = Color(0, 1, 1, 0.25098) diff --git a/addons/godot-xr-tools/hands/materials/glove_african_dark_camo.material b/addons/godot-xr-tools/hands/materials/glove_african_dark_camo.material new file mode 100644 index 0000000..9385f6c Binary files /dev/null and b/addons/godot-xr-tools/hands/materials/glove_african_dark_camo.material differ diff --git a/addons/godot-xr-tools/hands/materials/glove_african_green_camo.material b/addons/godot-xr-tools/hands/materials/glove_african_green_camo.material new file mode 100644 index 0000000..c9a7bf8 Binary files /dev/null and b/addons/godot-xr-tools/hands/materials/glove_african_green_camo.material differ diff --git a/addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material b/addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material new file mode 100644 index 0000000..41019df Binary files /dev/null and b/addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material differ diff --git a/addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material b/addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material new file mode 100644 index 0000000..4b4146d Binary files /dev/null and b/addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material differ diff --git a/addons/godot-xr-tools/hands/materials/labglove.material b/addons/godot-xr-tools/hands/materials/labglove.material new file mode 100644 index 0000000..29dbbe8 Binary files /dev/null and b/addons/godot-xr-tools/hands/materials/labglove.material differ diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf b/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf new file mode 100644 index 0000000..a20f805 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_L", + "rotation" : [ + -0.07576872408390045, + -0.019257033243775368, + -0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + -2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_L", + "rotation" : [ + 0.05564067140221596, + 0.010326135903596878, + 0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + -2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_L", + "rotation" : [ + -0.04595031589269638, + -0.027135659009218216, + -0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_L", + "rotation" : [ + 0.3235369920730591, + -2.565749491623137e-05, + -0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + 0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_L", + "rotation" : [ + -0.052288394421339035, + -0.0005572127993218601, + 0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_L", + "rotation" : [ + 0.014225997030735016, + -0.011990753002464771, + -0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_L", + "rotation" : [ + -0.013683199882507324, + -0.024668212980031967, + -0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_L", + "rotation" : [ + 0.11122288554906845, + -0.0027781203389167786, + 0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_L", + "rotation" : [ + -0.0005887771840207279, + 2.10358793992782e-05, + 0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_L", + "rotation" : [ + 0.013688242062926292, + 7.99239132902585e-05, + 0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_L", + "rotation" : [ + -0.013931511901319027, + -0.00014242221368476748, + -0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + 5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_L", + "rotation" : [ + 0.03945539891719818, + 0.004928736016154289, + -0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + 1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_L", + "rotation" : [ + -0.01194659061729908, + 0.000966736872214824, + -0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + -7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_L", + "rotation" : [ + -0.03585463762283325, + 4.2005005525425076e-05, + 0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_L", + "rotation" : [ + 0.03305169194936752, + -0.006719753611832857, + 0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + 5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_L", + "rotation" : [ + -0.011351789347827435, + 0.012621401809155941, + -0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + -2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_L", + "rotation" : [ + 0.01732625439763069, + 0.01860846020281315, + -0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_L", + "rotation" : [ + -0.05105672776699066, + -0.002022986998781562, + 0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_L", + "rotation" : [ + -0.07119493186473846, + 1.573348527017515e-05, + 0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_L", + "rotation" : [ + 0.015836291015148163, + -0.01933973841369152, + 0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_L", + "rotation" : [ + -0.018054774031043053, + 0.011455277912318707, + -0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + 2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_L", + "rotation" : [ + 0.044925764203071594, + 0.03280799090862274, + -0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + -4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_L", + "rotation" : [ + -0.08928601443767548, + 0.003168066032230854, + -0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_L", + "rotation" : [ + -0.09176954627037048, + 2.456200854794588e-05, + 0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_L", + "rotation" : [ + 0.7065238952636719, + -6.479929197666934e-06, + -8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + 0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_L", + "rotation" : [ + -0.7065169215202332, + 6.472751010733191e-06, + 6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Glove_L", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Glove_L", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 2158, + "max" : [ + 0.03656641021370888, + 0.09075886756181717, + 0.02576880156993866 + ], + "min" : [ + -0.03138250857591629, + -0.06861073523759842, + -0.18647876381874084 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 2158, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 2158, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 2158, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 2158, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 10470, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 25896, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 25896, + "byteOffset" : 25896 + }, + { + "buffer" : 0, + "byteLength" : 17264, + "byteOffset" : 51792 + }, + { + "buffer" : 0, + "byteLength" : 8632, + "byteOffset" : 69056 + }, + { + "buffer" : 0, + "byteLength" : 34528, + "byteOffset" : 77688 + }, + { + "buffer" : 0, + "byteLength" : 20940, + "byteOffset" : 112216 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 133156 + } + ], + "buffers" : [ + { + "byteLength" : 134820, + "uri" : "data:application/octet-stream;base64,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CAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAHBgAABwYAAAcGAAAHBgAABwYAAAcGAAAHBgAABwYAAAcGAAAHBgAABwYAAAcIAAAIBwAABwgAAAcIAAAIBwAACAcAAAgHAAAIBwAABwgAAAgHAAAHBggABwYIAAcGCAAHBgAABwYIAAcGAAAHBgAABwYAAAcGAAAHBgAABwYAAAcAAAAHBgAABwYAAAcGAAAHBgAABwYAAAcGAAAHBgAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAIAAAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAABwgGAAYHAAAGBwAACAAAAAgAAAAIAAAACAAAAAgHAAAHBgAABwYIAAgHAAAHBgAABwgAAAcIAAAIAAAABwgAAAcIAAAHBgAACAAAAAgAAAAIAAAACAAAAAgHAAAHBgAACAcAAAcGCAAGBwAABgcAAAcIBgAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAADA0AAAwNAAAMAAAADA0AAAsMAAALDAAACwwAAAsMAAALDAAACwwAAAsMAAALDAAACwwAAAsMAAALDAAADA0LAAwNCwALDAAACwwAAAsMAAAMDQAADA0AAA0AAAANDAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0MAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADAAAAAsMAAALDAAADQAAAAwNCwALDAAACwwAAA0MAAANAAAADQAAAA0MAAANAAAADQAAAA0AAAANAAAADQwAAA0AAAANAAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADAsAAAwLAAAMCwAADAsAAAwLAAAMCwAADAsAAAwLAAAMCwAADAsAAAwLAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADAsNAAwLDQAMCw0ADAsAAAwLDQAMAAAADAsAAAwLAAAMCwAADAsAAAwAAAAMAAAADAsNAAwLDQAMCwAADAsAAAwLAAAMCwAADAsAAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAA0MAAANDAAADA0AAA0MAAANDAAADA0AAA0MAAANDAAADQAAAA0AAAANAAAADQwAAA0AAAANAAAADQAAAA0MAAANDAAADQwAAAwNCwALDAAACwwAAA0AAAANAAAADQAAAA0AAAANDAAADAsAAAwLDQANDAAADAsAAAwNAAANDAAADQAAAA0MAAAMDQAADAsAAA0AAAANAAAADQAAAA0AAAANDAAADAsAAA0AAAAMCw0ACwwAAAsMAAAMDQsADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAABESEAAREhAAEQAAABESAAAREhAAERIQABESEAAREhAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAARAAAAEgAAABESEAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIRAAASEQAAEhEAABIAAAASAAAAEgAAABIAAAASEQAAEhEAABARAAAQEQAAEBEAABARAAAQEQAAEBEAABARAAAQEQAAEBEAABEQAAAREAAAERAAABEQAAAREAAAERAAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAAREBIAERASABEQEgAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAERAAABEQAAAREBIAERASABARAAAQEQAAEBEAABARAAAQEQAAEBEAABARAAAQEQAAEBEAABESAAASEQAAEhEAABIRAAAREgAAERIAABIRAAAREgAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABESEAASAAAAEgAAABIAAAASAAAAEgAAABEQAAAREBIAEhEAABARAAAQEQAAERIAABIRAAASAAAAEhEAABIRAAAQEQAAEBEAABIAAAASAAAAEgAAABIAAAASEQAAERAAABIAAAAREBIAERIQABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAAWFxUAFhcVABYXAAAWAAAAFRYAABUWAAAVFgAAFRYAABUWAAAVFgAAFhcVABYXFQAVFgAAFhcVABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABYAAAAVFgAAFwAAABYXFQAVFgAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFRYAABYVAAAWFQAAFhUAABYVFwAWFQAAFhUXABYVFwAWFRcAFhcAABcWAAAXFgAAFhcAABcWAAAXFgAAFxYAABYXAAAXFgAAFhUXABYVFwAWFRcAFhUAABYVFwAWFQAAFhUAABYVAAAWFQAAFhUXABYVAAAWFQAAFhUXABUWAAAVFgAAFRYAABUWEAAVFhAAFRYAABUWAAAVFgAAFRYAABYVFwAWFQAAFhUAABYVAAAVFgAAFRYAABUWAAAVFgAAFRYAABUWAAAVFgAAFRYAABUWAAAWFwAAFhcAABYXAAAWFwAAFhcVABYXAAAWFwAAFhcAABYXAAAWFwAAFhcAABcWAAAWFwAAFxYAABYXAAAWFwAAFhcAABYXAAAXAAAAFwAAABcAAAAXFgAAFwAAABcAAAAXFgAAFxYAABcWAAAWFxUAFRYAABcAAAAXAAAAFwAAABcWAAAWFRcAFhUXABcWAAAVFgAAFRYAABYVFwAWFxUAFxYAABcAAAAXFgAAFhcVABYVFwAVFgAAFRYAABcAAAAXAAAAFwAAABcWAAAWFRcAFxYAABYVFwAVFgAAFhcVABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAACAwAAAwAAAAIDAAADAgAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMCAAADAAAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMAAAADAAAAAwAAAAMCAAADAAAAAwAAAAMCAAADAgAAAwIAAAMCAAACAwAAAwAAAAMAAAADAAAAAwAAAAMCAAACAAAAAgAAAAMCAAADAgAAAwIAAAMAAAADAgAAAwIAAAMAAAADAAAAAwAAAAMAAAADAgAAAwIAAAIAAAACAAAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAAHCAYABwgAAAYHAAAGBwAABgcAAAYHAAAIBwAACAAAAAgAAAAIAAAACAcAAAgHAAAHBgAABwYAAAgHAAAHCAAACAcAAAcGAAAHBgAACAcAAAcGAAAHBgAABwgAAAcIAAAHCAAABwgAAAgHAAAIBwAACAAAAAgAAAAIAAAACAcAAAgHAAAMDQAADA0AAAsMAAALDAAACwwAAAsMAAANAAAADQAAAA0AAAANAAAADQAAAA0MAAAMCwAADAsAAA0MAAANDAAADQwAAAwAAAAMCw0ADQwAAAwLAAAMCwAADA0AAAwNAAANDAAADA0AAA0MAAANDAAADQAAAA0AAAANAAAADQwAAA0MAAAREhAAERIAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABEQAAAREAAAEhEAABIRAAASEQAAERAAABEQAAASAAAAEBEAABARAAAQEQAAEBEAABESAAAREgAAEhEAABIRAAASAAAAEgAAABIAAAASAAAAEgAAABIRAAASEQAAFhcAABYXFQAVFgAAFRYAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABYVAAAWFQAAFxYAABcWAAAXFgAAFhUAABYVAAAXFgAAFhUAABUWAAAVFgAAFRYAABUWAAAVFgAAFhcAABYXAAAWFwAAFhcAABcAAAAXFgAAFwAAABcAAAAXAAAAFxYAABcWAAAHCAYABgcAAAYHAAAIAAAACAAAAAgAAAAHCAYABgcAAAYHAAAIAAAACAcAAAcGAAAHBggACAcAAAcGAAAHCAAABwgAAAgAAAAIAAAACAcAAAcIAAAHBgAABwgAAAgAAAAIAAAACAAAAAgHAAAIBwAABwYAAAcGAAAIAAAACAAAAAgAAAAIBwAACAcAAAwNCwALDAAACwwAAA0AAAANAAAADQAAAAwNCwALDAAACwwAAA0AAAANDAAADAsAAAwLDQANDAAADAsAAAwNAAANDAAADQAAAA0AAAANAAAADQwAAAwLAAAMDQAADQAAAA0AAAANAAAADQwAAA0MAAAMCw0ADAsAAA0AAAANAAAADQAAAA0MAAANDAAAERIQABIAAAASAAAAEgAAABESEAASAAAAEhEAABEQAAAREBIAEhEAABARAAAQEQAAEhEAABIRAAASAAAAEgAAABIAAAASEQAAEBEAABARAAASEQAAEgAAABIAAAASAAAAEhEAABIAAAAREAAAERAAABIAAAASAAAAEgAAABIRAAASEQAAFhcVABUWAAAXAAAAFwAAABYXFQAVFgAAFwAAABcWAAAWFRcAFhUXABcWAAAVFgAAFRYAABYVAAAWFxUAFxYAABcAAAAXAAAAFwAAABcWAAAWFRcAFRYAABUWAAAWFwAAFwAAABcAAAAXFgAAFxYAABYVFwAWFRcAFwAAABcAAAAXAAAAFxYAABcWAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAgAAAAIAAAADQAAAA0AAAASAAAAEgAAABcAAAAXAAAACAAAAAgAAAANAAAADQAAABIAAAASAAAAFwAAABcAAAADAAAAFwAAABIAAAANAAAACAAAAAMAAAADAAAAFwAAABIAAAAIAAAAFwAAABIAAAAIAAAADQAAAA0AAAAXAAAAFwAAAA0AAAAXAAAAFwAAABIAAAASAAAADQAAAAgAAAAIAAAADQAAAAgAAAADAAAAFwAAABcAAAASAAAAEgAAAA0AAAAIAAAAEgAAAAMAAAAXAAAACAAAABIAAAANAAAACAAAABcAAAANAAAAFwAAABIAAAAIAAAACAAAAAgAAAANAAAAEgAAABIAAAADAAAAAwAAAAMAAAADAAAAFwAAABIAAAANAAAACAAAABcAAAAXAAAAEgAAABIAAAANAAAADQAAAAgAAAAIAAAADQAAAA0AAAAGBwAABgcAAAYHAAAGBwAABgcAAAYLAAAGAAAABgUAAAYLAAAGCwAABgUAAAYHAAAGCwUABgsFAAYLAAAGCwAABgcAAAYHAAAGBwAABgUAAAYFAAAGBwAABgcAAAYHAAAGBwAABgAAAAYHAAAGBQsABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBQAABgcAAAYHAAAGBwAABgcLAAYLBQALDAAACwwAAAsGDAALDAAACwAAAAsGAAALEAAACxAAAAsGAAALAAAACwwAAAsMAAALDAAACxAAAAsQAAALEAwACxAMAAsGBQALBgUACwYMAAsGDAALAAAACwAAAAsMAAALDAAACxAGCgsMBhALDAAACwwAAAsMAAALDAAACwwAAAsMBgALDAYACwwGAAsAAAALDAAACwYFCgsGDAALDAYACwwAAAsQDAALEAoACwwAAAsMAAAQCxEAEBUAABAAAAAQCwAAEBUAABAVAAAQCwAAEAsAABAVAAAQFQAAEBURABAVEQAQCwAAEAsAABALEQAQCxEAEAsAABAAAAAQCxUPEBELABARAAAQAAAAEBEAABARAAAQEQAAEBELABARCwAQEQsAEAAAABARCwAQEQAAEBEAABARAAAQEQAAEBEAABARAAAQEQAAEAsPABALEQAQEQsAEBEAABARAAAQERUAEBURABAVDxQVEBYAFRYAABUAAAAVEBQPFRQAABUUAAAVEAAAFRAAABUUAAAVFgAAFRAAABUQAAAVEBYAFRAWABUQFAAVAAAAFRAUABUWAAAVFgAAFRYAABUWAAAVFgAAFRAWABUQFgAVEBYAFRYAABUWAAAVFhAAFRYQABUWAAAVFgAAFRYAABUWAAAVFgAAFRYAABUQFA8VEBYAFRYQABUWAAAVFgAAFRYAABUWAAAVFAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAABgcAAAYHAAAGCwAABgUAAAYHAAAGAAAABgcAAAYHAAALDAAACwwAAAsQAAALBgAACwYMAAsAAAALDAAACwwAABAVDwAQCwAAEAsAABAAAAAQEQsAEAAAABARAAAQEQAAFRQAABUQDwAVEAAAFQAAABUQFgAVFgAAFRYAABUWAAAVFgAAFRYAAAYFAAAGBwAABgsFAAYLBwAGBwAABgcAAAsMAAALDAAACwYFAAsGDAALDAAACwwAAAsQAAALEAwACwwGAAsMAAAQCwAAEAsRABAVDwAQFREAEBELABARAAAQEQAAEBEAABARAAAQEQAAFRAAABUQFgAVFAAAFRYAABUWEAAVFgAABgUAAAYLBQAGBQAABgUAAAYFAAAGBQsABgULAAYFAAAGBQsACwYKAAsQCgALCgAACwoQBQsGBQoLEAoPEAsPABAPFQAQDwsAEBUPCxALDwoQFQ8UFRAUDxUUAAAVFAAAFRQAABUUEA8VFBAAFRAUDxUUEAAGBQAAFRQAAAYFAAAVFAAABgUAAAYFCwAGBQAABgULAAUGAAAGBQAABQYLCgsKBgALChAACwoQBgoLBQ8FCwoGCg8LEBAPCwoQDxUAEA8LCg8QFBUPEAoLFBUPEBUUDxAVFA8AFRQAABUUDxAVFAAAFRQPEAYFAAAUFQAAFBUPEAUGAAAGBQsKBQYAAAUGAAAFBgoLCgsQBQoFCw8FCgsGCg8FCw8KEBQUAAAAAQIFAAECAAAQCw8KBgsFCgoPBQAFBgAABQYCARQPFQAFAgEGBQoBBgoFDwsFCg8BCg8FFA8UChAPChQFFA8VAA8UFRAUFQAAFBUAABQVAAAUDxUAAQIAAAECAAABAgUAEAsPCgUKAQAUFQAACgUPCwUKBgAPFAAAAQIFAAECAAABAgAAAQIAAAEFAgAFAQIKBQoGABQPFQAUAAAAFBUAABQPAAABAgUABQIBAA8QFRQKDwAACgULAA8KFAABBQIAAQUCABQPAAAUDwAADxQQFQsKEA8FCgAADwoQAA8KEAsPEAoUDxQKAAoPBQAKBQ8ADxQKAA8KFAAFAQoAFA8AABQAAAAUAAAAFAAPABQADwAUDwAAAQIFAAsQCgAKDwUADwoUABQAAAAUAAAAFAAAAAoFCwYKCw8QDxQQFQ8KFAAKBQ8ACg8FAAUKBgsKCwUPBQYKAA8UCgAFCgAACwYKBRAVDxQGBwUABgcAAAYAAAAGCwAABgsAAAYLAAAGBwUABgcFAAYAAAAGBQAABgUHAAYLBQAGBwAABgsAAAYHBQAGCwAACxAGAAsAAAALBgAACwYAAAsQAAALEAAACxAAAAsGAAALEAAACwYQBRUAAAAVAAAACxAAAAsGAAAQCxEAEBUAABAVAAAQFQAAEAsRABALEQAQCwAAEAsAABALEQAQFQAAEAsAABAVAAAVEAAAFRAAABAAAAAQCxUREAAAABAVAAAVFgAAFRAWABUWEAAVEAAAFQAAABUQAAALEAAACwAAAAsGAAALBgAAFRYAABUQFgAVEBYAFRYAABUQFgAKBQ8ACgUPAAUKAQAFCgEABQEKAAUBCgABBQAAAQUAAA8UCgAPFAoADwoUAA8KFAAFCgAABQEAAAEFAAAFAQoADwoUAAoPBQAKDwUACgUPAA8UCgAUDwAACwYKBQYLBQAPEAoLFRAPFBQPFRAUFQ8ADxQKAAIAAAACAAAAAgAAAAIAAAACAAAAAgUAAAIAAAACAAAAAgUAAAIFAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgUBAAIBAAACAQAAAgUBAAIFAQACAAAAAgUBAAIBAAACAQAAAgEAAAIBAAACAQAAAgUBAAIBBQACAQAAAgUBAAIFAQACAAAAAgUBAAIBBQACAQAAAgEAAAIBAAACAQAAAgUBAAIBBQACAQUAAgUBAAIFAQACAQAAAgUBAAIBBQACAQAAAgEAAAIBAAACAQAABQIBAAIBBQACAQUABQIBBgUCAQYCAQAAAgUBAAEAAAABAAAAAQAAAAEFAAIFAQoPAQAFDwUKAQ8AAQ8FCg8FAQEAFAAAAQ8UDwoUBQABFAAPFAABDxQKAAAUAQAUDwABFA8AABQAAQAUFQ8ADxQKAA8KFAAUAAAAFA8AAAoFDwAKDwUADwoUAAAUAQ8UDwAACg8FAAUKAQAUDwAAAQIFAAUKAAAUAAAAFBUPAAUBAAABAAAAFAABAAAUAQAUAAAAFAAAAAABFAABAAUAAQAUBQUBAAAFAQAKBQEACgEFAAAUDwAACwUGChAPFRQQDwsKBgULAAsKBRAKCxAPFRQQDxUUAAAGBQAABgUAAAUGCwoQFQ8UBQIBBgUCAQYFAgYBBQYCAQUGAgEFAgEGBQECAAUGAgAFAQIAAQUAABQAAQ8UAA8BFAAPAQAUAQ8AFAEPAAEUAAABFA8AARQPAQAUAAEAFAABABQAAQAAAAEAAAABAAAABQYAAAUGAAAUAAAAFAABABQAAQAUAAAAFAAAABQAAAAUAAEPFAABDxQPAAAUDwAAFA8KAA8UCgAPFAoADwoUBQoPBRQKBQ8ACgUPAAUKAQ8FAQoAFAABAAAUAQAAARQAAAEUBQEABRQBBQAAAQUAAAUBCgAKBQ8BCgUPAQ8UCgAPFAoAFA8AChQPAAoBABQFAQAUBRQAAQ8UAAEPFAABDwEFAAoBBQAKAQAFFAEABRQKDwUACg8FABQPAAAUDwAAABQBAAAUAQAAARQFAAEUBRQADwAUAA8ADwoAFAoPAAUFCgEACgUADwUBAAoUDwAKFA8ACgEFAAoBAAUUFAAPAQEABRQAFAEAAAEUBRQAAQ8BABQFFAABDw8UAAoKBQ8AABQBDwUBAAoFAQAKBQoBAAUKAQAKBQ8ACgUPAAEFAAABBQAADxQKAA8UCgAPChQADwoUAAoPBQAKDwUAFA8AChQPAAoBABQFAQAUBQABFAUAARQFCgUPAAoFDwAAFAEAABQBABQAAQAUAAEAFAABDxQAAQ8BAAUUAQAFFBQADwAUAA8AFA8AABQPAAABBQAKAQUACgUBCgAFAQoABQEKAA8UAAoPFAoADxQKAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAA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AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAA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IgAnAB8AFwAtAB8ALQAiAGwARQArAGwAKwAEAG0AcQAqAG0AKgADAKQApwAuAKQALgBaAKgAHQA6AKgAOgCeAJQDHgAnAJQDJwCWAyMEGAA3ACMENwAaBBwAGgAoABwAKAAmABkAFgAyABkAMgA4AJMDFgApAJMDKQCVA50AgQA7AJ0AOwCjAIMAigBDAIMAQwA+AKcDhAA0AKcDNACXAyQEggA9ACQEPQAbBIQAiAA5AIQAOQA0AIYAhwAzAIYAMwA2AIgAiQAxAIgAMQA5AKgDigAyAKgDMgCYA6wDugBBAKwDQQCgA7sAuQBEALsARAA8AMAAuABZAMAAWQChAGUAZABfAGUAXwBLALYAtwBCALYAQgBAAJ4DYwBhAJ4DYQCZAzIEvABWADIEVgAeBIAAVwBRAIAAUQB9AB8EHARMAB8ETABpAJwAogBKAJwASgBoAI4DAQBjAI4DYwCeA10AZQBLAF0ASwBgAJ8DXQBgAJ8DYACaA2cATwBhAGcAYQBjAKIApABaAKIAWgBKAGoATQBiAGoAYgBrAK0DvgBDAK0DQwCbA7oAuwA8ALoAPABBAEsAXwBIAEsASABFAJoAoQBZAJoAWQB8AI0DAwBdAI0DXQCfAyoAAgBkACoAZABlABUAZwBjABUAYwABACEEHgRWACEEVgB/AL0AvgBRAL0AUQBXAJkDYQBJAJkDSQChA00AXABeAE0AXgBiABwEHQRbABwEWwBMAAMAKgBlAAMAZQBdAKYAnABoAKYAaAAwAA0AagBrAA0AawAKABMEHwRpABMEaQAMAJoDYABsAJoDbACiA2AASwBFAGAARQBsAE8ARwBJAE8ASQBhAKUDdwBtAKUDbQCjA6YDeABuAKYDbgCkA3sAfgB0AHsAdABxAHoAcABuAHoAbgB4AHcAewBxAHcAcQBtABAAdgBzABAAcwAAAKcAmwByAKcAcgAuABEEIAR1ABEEdQAPAHYAgAB9AHYAfQBzAJsAmgB8AJsAfAByACAEIQR/ACAEfwB1AJ0DUAB3AJ0DdwClA5wDUgB4AJwDeACmA1gAUwB+AFgAfgB7AFUAegB4AFUAeABSAFAAWAB7AFAAewB3AEAAQgCHAEAAhwCGAJ4AOgCBAJ4AgQCdADgAMgCKADgAigCDAFoALgCLAFoAiwCUADoAkQCZADoAmQCBACAAjwCOACAAjgAdAB0AjgCRAB0AkQA6AIEAmQCSAIEAkgA7ALgAvwCVALgAlQBZAGgASgCTAGgAkwCWAHwAWQCVAHwAlQCYAEoAWgCUAEoAlACTADAAaACWADAAlgCNAC4AcgCXAC4AlwCLAHIAfACYAHIAmACXACUEKwShACUEoQCaABQEqACeABQEngAqBBkEJgScABkEnACmABcEJwSbABcEmwCnACIEnQCjACIEowAsBC0EFwSnAC0EpwCkAC4ELQSkAC4EpACiACoEngCdACoEnQAiBCgEnwCoACgEqAAUBCcEJQSaACcEmgCbADMEwAChADMEoQArBCYELgSiACYEogCcALIAqgAhALIAIQCgACcAIgCpACcAqQCtAJAAIQCqAJAAqgCxAJYDJwCtAJYDrQCpA6sArwApAKsAKQAkACYAKACuACYArgCsACkEJgCsACkErAAwBJUDKQCvAJUDrwCqAy8EqwAkAC8EJAAWBCIALQCwACIAsACpADAErAC0ADAEtAAxBC8EMQS0AC8EtACrAKsAtACzAKsAswCvALQArACuALQArgCzAKsDqQOtAKsDrQCpAKsDqgOvAKsDrwCzAJwDUwC6AJwDugCsA1gAUAC5AFgAuQC7AKMAOwC4AKMAuADAAFUAUgC3AFUAtwC2ABsEPQC8ABsEvAAyBJ0DUQC+AJ0DvgCtA1MAWAC7AFMAuwC6AD4AQwC+AD4AvgC9ADsAkgC/ADsAvwC4ACwEowDAACwEwAAzBMMDLQHFAMMDxQCyA8IDCgHJAMIDyQCwAwYBCQHHAAYBxwDsAMQDLgHEAMQDxACuA8UDLwHCAMUDwgCvAzIBNQHDADIBwwDrAEAENATQAEAE0AAcATEB1gDCADEBwgAvAQgB1ADJAAgByQAKAR0B0QDBAB0BwQAfAcEDAgFFAcEDRQHIA/0ABQFKAf0ASgFJAT0E+ABDAT0EQwFHBLwDBAFLAbwDSwHJAwIB/QBJAQIBSQFFAbkD8wDXALkD1wC0A+UA6gDXAOUA1wDaAPcA9ADbAPcA2wDdADgE5ADZADgE2QBGBLgD9QDfALgD3wC1A2AB4QDeAGAB3gBpAfoA8gDYAPoA2ADgAPUA+gDgAPUA4ADfAN8A4ADjAN8A4wDoAOAA2ADuAOAA7gDjAC0BBgHsAC0B7ADFAC4BMgHrAC4B6wDEAGUBaAHvAGUB7wAbAWkB3gD7AGkB+wBfAbUD3wDoALUD6AC3A0YE2QD4AEYE+AA9BN0A2wDpAN0A6QDnANoA1wDzANoA8wD5ALQD1wDqALQD6gC2A14BQgH8AF4B/ABkAUQBSwEEAUQBBAH/AMgDRQH1AMgD9QC4A0cEQwH+AEcE/gA+BEUBSQH6AEUB+gD1AEcBSAH0AEcB9AD3AEkBSgHyAEkB8gD6AMkDSwHzAMkD8wC5A80DewECAc0DAgHBA3wBegEFAXwBBQH9AIEBeQEaAYEBGgFiASYBJQEgASYBIAEMAXcBeAEDAXcBAwEBAb8DJAEiAb8DIgG6A1UEfQEXAVUEFwFBBEEBGAESAUEBEgE+AUIEPwQNAUIEDQEqAV0BYwELAV0BCwEpAa8DwgAkAa8DJAG/Ax4BJgEMAR4BDAEhAcADHgEhAcADIQG7AygBEAEiASgBIgEkAWMBZQEbAWMBGwELASsBDgEjASsBIwEsAc4DfwEEAc4DBAG8A3sBfAH9AHsB/QACAQwBIAEJAQwBCQEGAVsBYgEaAVsBGgE9Aa4DxAAeAa4DHgHAA+sAwwAlAesAJQEmAdYAKAEkAdYAJAHCAEQEQQQXAUQEFwFAAX4BfwESAX4BEgEYAboDIgEKAboDCgHCAw4BHQEfAQ4BHwEjAT8EQAQcAT8EHAENAcQA6wAmAcQAJgEeAWcBXQEpAWcBKQHxAM8AKwEsAc8ALAHLADYEQgQqATYEKgHOALsDIQEtAbsDLQHDAyEBDAEGASEBBgEtARABCAEKARABCgEiAcYDOAEuAcYDLgHEA8cDOQEvAccDLwHFAzwBPwE1ATwBNQEyATsBMQEvATsBLwE5ATgBPAEyATgBMgEuAdEANwE0AdEANAHBAGgBXAEzAWgBMwHvADQEQwQ2ATQENgHQADcBQQE+ATcBPgE0AVwBWwE9AVwBPQEzAUMERARAAUMEQAE2Ab4DEQE4Ab4DOAHGA70DEwE5Ab0DOQHHAxkBFAE/ARkBPwE8ARYBOwE5ARYBOQETAREBGQE8AREBPAE4AQEBAwFIAQEBSAFHAV8B+wBCAV8BQgFeAfkA8wBLAfkASwFEARsB7wBMARsBTAFVAfsAUgFaAfsAWgFCAeEAUAFPAeEATwHeAN4ATwFSAd4AUgH7AEIBWgFTAUIBUwH8AHkBgAFWAXkBVgEaASkBCwFUASkBVAFXAT0BGgFWAT0BVgFZAQsBGwFVAQsBVQFUAfEAKQFXAfEAVwFOAe8AMwFYAe8AWAFMATMBPQFZATMBWQFYAUgETgRiAUgEYgFbATcEaQFfATcEXwFNBDwESQRdATwEXQFnAToESgRcAToEXAFoAUUEXgFkAUUEZAFPBFAEOgRoAVAEaAFlAVEEUARlAVEEZQFjAU0EXwFeAU0EXgFFBEsEYAFpAUsEaQE3BEoESARbAUoEWwFcAVYEgQFiAVYEYgFOBEkEUQRjAUkEYwFdAXMBawHiAHMB4gBhAegA4wBqAegAagFuAVEB4gBrAVEBawFyAbcD6ABuAbcDbgHKA2wBcAHqAGwB6gDlAOcA6QBvAecAbwFtAUwE5wBtAUwEbQFTBLYD6gBwAbYDcAHLA1IEbAHlAFIE5QA5BOMA7gBxAeMAcQFqAVMEbQF1AVMEdQFUBFIEVAR1AVIEdQFsAWwBdQF0AWwBdAFwAXUBbQFvAXUBbwF0AcwDygNuAcwDbgFqAcwDywNwAcwDcAF0Ab0DFAF7Ab0DewHNAxkBEQF6ARkBegF8AWQB/AB5AWQBeQGBARYBEwF4ARYBeAF3AT4E/gB9AT4EfQFVBL4DEgF/Ab4DfwHOAxQBGQF8ARQBfAF7Af8ABAF/Af8AfwF+AfwAUwGAAfwAgAF5AU8EZAGBAU8EgQFWBOMD5QGFAeMDhQHPA+QD5gGDAeQDgwHQA+kB7AGEAekBhAGeAV8EVwSGAV8EhgHPAegBiQGDAegBgwHmAdABhwGCAdABggHSAd4DsQH8Ad4D/AHnA6wBtAEBAqwBAQIAAlwEpwH6AVwE+gFnBNkDswECAtkDAgLoA7EBrAEAArEBAAL8AdYDogGKAdYDigHRA5gBnQGKAZgBigGNAaYBowGOAaYBjgGQAVkElwGMAVkEjAFmBNUDpAGSAdUDkgHSAxcClAGRARcCkQEeAqkBoQGLAakBiwGTAaQBqQGTAaQBkwGSAZIBkwGWAZIBlgGbAZMBiwGfAZMBnwGWAeUB6QGeAeUBngGFARwCHQKgARwCoAHOAR4CkQGqAR4CqgEWAtIDkgGbAdIDmwHUA2YEjAGnAWYEpwFcBJABjgGcAZABnAGaAY0BigGiAY0BogGoAdEDigGdAdEDnQHTAxUC+QGrARUCqwEbAvsBAgKzAfsBswGuAecD/AGkAecDpAHVA2cE+gGtAWcErQFdBPwBAAKpAfwBqQGkAf4B/wGjAf4BowGmAQACAQKhAQACoQGpAegDAgKiAegDogHWA+wDMAKxAewDsQHeAzECLwK0ATECtAGsATYCLgLNATYCzQEZAtkB2AHTAdkB0wG/ASwCLQKyASwCsgGwAdwD1wHVAdwD1QHXA3YEMgLKAXYEygFgBPgBywHFAfgBxQH1AWIEXgTAAWIEwAHfARQCGgK+ARQCvgHdAdADgwHXAdAD1wHcA9EB2QG/AdEBvwHUAd0D0QHUAd0D1AHYA9sBwwHVAdsB1QHXARoCHALOARoCzgG+AeABwQHWAeAB1gHhAe0DNAKzAe0DswHZAzACMQKsATACrAGxAb8B0wG6Ab8BugG1ARECGQLNARECzQH0Ac8DhQHRAc8D0QHdA54BhAHYAZ4B2AHZAYkB2wHXAYkB1wGDAWQEYATKAWQEygH3ATMCNALFATMCxQHLAdcD1QG8AdcDvAHfA8EB0AHSAcEB0gHWAV4EXwTPAV4EzwHAAYUBngHZAYUB2QHRAdgD1AHjAdgD4wHhA9QBvwG1AdQBtQHjAcMBuAG8AcMBvAHVAeUD7wHlAeUD5QHjA+YD8AHmAeYD5gHkA/MB9gHsAfMB7AHpAfIB6AHmAfIB5gHwAe8B8wHpAe8B6QHlAYcB7gHrAYcB6wGCAR0CEgLqAR0C6gGgAVcEYwTtAVcE7QGGAe4B+AH1Ae4B9QHrARICEQL0ARIC9AHqAWMEZAT3AWME9wHtAdsDxAHvAdsD7wHlA9oDxgHwAdoD8AHmA8wBxwH2AcwB9gHzAckB8gHwAckB8AHGAcQBzAHzAcQB8wHvAbABsgH/AbAB/wH+ARYCqgH5ARYC+QEVAqgBogECAqgBAgL7Ac4BoAEDAs4BAwIKAqoBBwIQAqoBEAL5AZQBBQIEApQBBAKRAZEBBAIHApEBBwKqAfkBEAIIAvkBCAKrAS4CNQILAi4CCwLNAd0BvgEJAt0BCQINAvQBzQELAvQBCwIPAr4BzgEKAr4BCgIJAqAB6gEOAqABDgIDAuoB9AEPAuoBDwIOAmgEbwQZAmgEGQIRAlgEHgIWAlgEFgJuBFsEawQSAlsEEgIdAmUEFQIbAmUEGwJwBHEEWwQdAnEEHQIcAnIEcQQcAnIEHAIaAm4EFgIVAm4EFQJlBGwEFwIeAmwEHgJYBGsEaAQRAmsEEQISAncENgIZAncEGQJvBGoEcgQaAmoEGgIUAigCIAKVASgClQEYApsBlgEfApsBHwIjAgYClQEgAgYCIAInAtQDmwEjAtQDIwLpAyECJQKdASECnQGYAZoBnAEkApoBJAIiAm0EmgEiAm0EIgJ0BNMDnQElAtMDJQLqA3MEIQKYAXMEmAFaBJYBnwEmApYBJgIfAnQEIgIqAnQEKgJ1BHMEdQQqAnMEKgIhAiECKgIpAiECKQIlAioCIgIkAioCJAIpAusD6QMjAusDIwIfAusD6gMlAusDJQIpAtoDxwEwAtoDMALsA8wBxAEvAswBLwIxAhsCqwEuAhsCLgI2AskBxgEtAskBLQIsAl0ErQEyAl0EMgJ2BNsDxQE0AtsDNALtA8cBzAExAscBMQIwAq4BswE0Aq4BNAIzAqsBCAI1AqsBNQIuAnAEGwI2AnAENgJ3BAEElwI7AgEEOwLxAwAEbgI9AgAEPQLwA2sCbQI8AmsCPAJVAgYEoAI6AgYEOgLuAwcEoQI4AgcEOALvA6MCpgI5AqMCOQJUAoEEeARCAoEEQgJ/Ao8CVQI8Ao8CPAKaAoQEeQRAAoQEQAKMAqICRAI4AqICOAKhAmwCQwI9AmwCPQJuAn4CQQI3An4CNwKBAgIE8QM7AgIEOwKcAgQE8AM9AgQEPQKZAv8DZwK1Av8DtQIKBGMCagK5AmMCuQK4An4EXwK0An4EtAKKBPoDaQK6AvoDugILBGcCYwK4AmcCuAK1AvcDWgJFAvcDRQLyA08CUwJFAk8CRQJHAl0CWwJIAl0CSAJJAnsETwJHAnsERwKJBPYDXAJLAvYDSwLzA9ECTQJKAtECSgLYAmACWQJGAmACRgJMAlwCYAJMAlwCTAJLAksCTAJOAksCTgJRAkwCRgJWAkwCVgJOApcCawJVApcCVQI7AqACowJUAqACVAI6AtUC1wJXAtUCVwJ9ApwCOwJVApwCVQKPAs4C1gJYAs4CWAKSAtgCSgJhAtgCYQLQAvMDSwJRAvMDUQL1A4kERwJfAokEXwJ+BEkCSAJSAkkCUgJQAkcCRQJaAkcCWgJeAvIDRQJTAvIDUwL0A88CsgJiAs8CYgLUArMCugJpArMCaQJkAgoEtQJcAgoEXAL2A4oEtAJlAooEZQJ/BLUCuAJgArUCYAJcArYCtwJbArYCWwJdArgCuQJZArgCWQJgAgsEugJaAgsEWgL3Aw8E6QJnAg8EZwL/A+oC6AJqAuoCagJjAu8C5wJ8Au8CfALSAogChwKCAogCggJwAuUC5gJoAuUCaAJmAv0DhgKEAv0DhAL4A5kE7AJ6ApkEegKCBLACeQJ1ArACdQKuAoUEgARyAoUEcgKVAswC0wJvAswCbwKTAu8DOAKGAu8DhgL9A4ACiAJwAoACcAKDAv4DgAKDAv4DgwL5A4kCcwKEAokChAKGAtMC1QJ9AtMCfQJvApQCcQKFApQChQKWAhAE7QJpAhAEaQL6A+kC6gJjAukCYwJnAnACggJtAnACbQJrAsoC0gJ8AsoCfAKtAu4DOgKAAu4DgAL+A1QCOQKHAlQChwKIAkQCiQKGAkQChgI4AocEggR6AocEegKxAusC7QJ1AusCdQJ5AvgDhAJuAvgDbgIABHECfgKBAnECgQKFAoAEgQR/AoAEfwJyAjoCVAKIAjoCiAKAAkMCnwKZAkMCmQI9AtYCzAKTAtYCkwJYAj8ClAKWAj8ClgI+Aj4CjQKLAj4CiwI/AnkEhQSVAnkElQJAAvkDgwKXAvkDlwIBBIMCcAJrAoMCawKXAnMCbAJuAnMCbgKEAggEqQKgAggEoAIGBAkEqgKhAgkEoQIHBKwCrwKmAqwCpgKjAqsCogKhAqsCoQKqAqkCrAKjAqkCowKgAkECpwKlAkECpQI3AtcCywKkAtcCpAJXAngEhgSoAngEqAJCAqcCsAKuAqcCrgKlAssCygKtAssCrQKkAoYEhwSxAoYEsQKoAvwDdAKpAvwDqQIIBPsDdgKqAvsDqgIJBHsCdwKvAnsCrwKsAngCqwKqAngCqgJ2AnQCewKsAnQCrAKpAmYCaAK3AmYCtwK2AtACYQKyAtACsgLPAl4CWgK6Al4CugKzAn0CVwK7An0CuwLCApICWAK8ApICvALFAmECvwLJAmECyQKyAk0CvgK9Ak0CvQJKAkoCvQK/AkoCvwJhArICyQLAArICwAJiAucC7gLDAucCwwJ8ApMCbwLBApMCwQLGAq0CfALDAq0CwwLIAm8CfQLCAm8CwgLBAlgCkwLGAlgCxgK8AlcCpALHAlcCxwK7AqQCrQLIAqQCyALHAosEkgTSAosE0gLKAnoE2ALQAnoE0AKRBH0EjATMAn0EzALWAnwEjwTLAnwEywLXAogEzwLUAogE1AKTBJQEfATXApQE1wLVAo4EfQTWAo4E1gLOApUElATVApUE1QLTApEE0ALPApEEzwKIBJAE0QLYApAE2AJ6BI8EiwTKAo8EygLLApoE7wLSApoE0gKSBIwElQTTAowE0wLMAuIC2gJNAuICTQLRAlECTgLZAlEC2QLdAr4CTQLaAr4C2gLhAvUDUQLdAvUD3QIMBNsC3wJTAtsCUwJPAlACUgLeAlAC3gLcApAEUALcApAE3AKXBPQDUwLfAvQD3wINBJYE2wJPApYETwJ7BE4CVgLgAk4C4ALZApcE3ALkApcE5AKYBJYEmATkApYE5ALbAtsC5ALjAtsC4wLfAuQC3ALeAuQC3gLjAg4EDATdAg4E3QLZAg4EDQTfAg4E3wLjAvsDdwLpAvsD6QIPBHsCdALoAnsC6ALqAtQCYgLnAtQC5wLvAngCdgLmAngC5gLlAn8EZQLsAn8E7AKZBPwDdQLtAvwD7QIQBHcCewLqAncC6gLpAmQCaQLtAmQC7QLrAmICwALuAmIC7gLnApME1ALvApME7wKaBEUDPwPzAkUD8wLwAkYDQAPxAkYD8QLyAkMDRgPyAkMD8gIMA2QDXQP0AmQD9AIwA0ID9wLxAkID8QJAAzED9QLwAjED8AI1AyADHwNWAyADVgNZAxoDIgNbAxoDWwNaA2EDFQNUA2EDVANoAyIDIQNcAyIDXANbAx8DGgNaAx8DWgNWAw8DEAP4Ag8D+AL5AgYDCwP4AgYD+AL7AhQDEQP8AhQD/AL+Al8DBQP6Al8D+gJeAxEDEgMAAxEDAAP8Am0DAgP/Am0D/wJ0AxcDDwP5AhcD+QIBAxIDFwMBAxIDAQMAAwADAQMEAwADBAMJAwED+QINAwEDDQMEAz8DQwMMAz8DDAPzAnEDcwMOA3EDDgMuA3QD/wIYA3QDGANsA/wCAAMJA/wCCQMKA14D+gIVA14DFQNhA/4C/AIKA/4CCgMIA/sC+AIQA/sCEAMWA/kC+AILA/kCCwMNA2sDUwMZA2sDGQNwA1UDXAMhA1UDIQMcA1kDVgMSA1kDEgMRA2gDVAMbA2gDGwNiA1YDWgMXA1YDFwMSA1gDWQMRA1gDEQMUA1oDWwMPA1oDDwMXA1sDXAMQA1sDEAMPA4MDhgMfA4MDHwMgA4cDhQMiA4cDIgMaA4wDhAMsA4wDLANvA4IDgwMgA4IDIAMeA4sDiAMpA4sDKQNlA1IDKgMkA1IDJANPA/IC8QI2A/ICNgM4A4UDigMhA4UDIQMiA4YDhwMaA4YDGgMfA2kDbwMsA2kDLANOA/AC8wIyA/ACMgM1AwwD8gI4AwwDOAM6A/cCPQM2A/cCNgPxAmcDZQMpA2cDKQNRA4kDigMkA4kDJAMqA/MCDAM6A/MCOgMyA08DSQM/A08DPwNFA1ADSgNAA1ADQANGA00DUANGA00DRgNDA0wDQgNAA0wDQANKA0kDTQNDA0kDQwM/A/UCSANFA/UCRQPwAnMDagNEA3MDRAMOA10DZgNHA10DRwP0AkgDUgNPA0gDTwNFA2oDaQNOA2oDTgNEA2YDZwNRA2YDUQNHAyQDIwNJAyQDSQNPAyYDJQNKAyYDSgNQAysDJgNQAysDUANNAygDTANKAygDSgMlAyMDKwNNAyMDTQNJAx4DIANZAx4DWQNYA2wDGANTA2wDUwNrAxYDEANcAxYDXANVAy4DDgNdAy4DXQNkAxgDYQNoAxgDaANTAwIDXwNeAwIDXgP/Av8CXgNhA/8CYQMYA1MDaANiA1MDYgMZA4QDiwNlA4QDZQMsA04DLANlA04DZQNnAw4DRANmAw4DZgNdA0QDTgNnA0QDZwNmA0sDJwNvA0sDbwNpA/0CdANsA/0CbAMTA/YCQQNqA/YCagNzA1cDawNwA1cDcAMdAzwD9gJzAzwDcwNxAxMDbANrAxMDawNXAwcDbQN0AwcDdAP9AkEDSwNpA0EDaQNqA4EDjANvA4EDbwMnA34DdgMDA34DAwNuAwkDBAN1AwkDdQN5A2ADAwN2A2ADdgN9AwoDCQN5AwoDeQN6A3cDewMLA3cDCwMGAwgDCgN6AwgDegN4A24DCAN4A24DeAN+Aw0DCwN8AwsDewN8A30DdwMGA30DBgNgAwQDDQN8AwQDfAN1A34DeAOAA34DgAN2A30DdgOAA30DgAN3A3cDgAN/A3cDfwN7A4ADeAN6A4ADegN/A38DegN5A38DeQN1A3UDfAN7A3UDewN/AyUDJgOGAyUDhgODAysDIwOFAysDhQOHA3ADGQOEA3ADhAOMAygDJQODAygDgwOCA2IDGwOIA2IDiAOLAyMDJAOKAyMDigOFAyYDKwOHAyYDhwOGAxwDIQOKAxwDigOJAxkDYgOLAxkDiwOEAx0DcAOMAx0DjAOBA2sAogORA2sAkQMKAEgAoQOPA0gAjwMGAHMAowONA3MAjQMAAHQApAOOA3QAjgMCAEIAoAOnA0IApwOHAEQAmwOoA0QAqAOJADEAmAOTAzEAkwMXADMAlwOUAzMAlAMaABoAlAOWAxoAlgMoABcAkwOVAxcAlQMtAIcApwOXA4cAlwMzAIkAqAOYA4kAmAMxALcArAOgA7cAoANCAGQAngOZA2QAmQNfAAIAjgOeAwIAngNkAF4AnwOaA14AmgNiALkArQObA7kAmwNEAAAAjQOfAwAAnwNeAF8AmQOhA18AoQNIAGIAmgOiA2IAogNrAH0ApQOjA30AowNzAH4ApgOkA34ApAN0AFEAnQOlA1EApQN9AFMAnAOmA1MApgN+ACgAlgOpAygAqQOuAC0AlQOqAy0AqgOwALMArgCpA7MAqQOrA6kAsACqA6kAqgOrA1IAnAOsA1IArAO3AFAAnQOtA1AArQO5ACwBwwOyAywBsgPLAAkBwgOwAwkBsAPHADQBxAOuAzQBrgPBADUBxQOvAzUBrwPDAAMBwQPIAwMByANIAQUBvAPJAwUByQNKAfIAuQO0A/IAtAPYAPQAuAO1A/QAtQPbANsAtQO3A9sAtwPpANgAtAO2A9gAtgPuAEgByAO4A0gBuAP0AEoByQO5A0oBuQPyAHgBzQPBA3gBwQMDASUBvwO6AyUBugMgAcMArwO/A8MAvwMlAR8BwAO7Ax8BuwMjAXoBzgO8A3oBvAMFAcEArgPAA8EAwAMfASABugPCAyABwgMJASMBuwPDAyMBwwMsAT4BxgPEAz4BxAM0AT8BxwPFAz8BxQM1ARIBvgPGAxIBxgM+ARQBvQPHAxQBxwM/AekAtwPKA+kAygNvAe4AtgPLA+4AywNxAXQBbwHKA3QBygPMA2oBcQHLA2oBywPMAxMBvQPNAxMBzQN4AREBvgPOAxEBzgN6AesB4wPPA+sBzwOCAewB5APQA+wB0AOEAbIB3gPnA7IB5wP/AbQB2QPoA7QB6AMBAqEB1gPRA6EB0QOLAaMB1QPSA6MB0gOOAY4B0gPUA44B1AOcAYsB0QPTA4sB0wOfAf8B5wPVA/8B1QOjAQEC6APWAwEC1gOhAS0C7APeAy0C3gOyAdgB3APXA9gB1wPTAYQB0APcA4QB3APYAdIB3QPYA9IB2APWAS8C7QPZAy8C2QO0AYIBzwPdA4IB3QPSAdMB1wPfA9MB3wO6AdYB2APhA9YB4QPhAfUB5QPjA/UB4wPrAfYB5gPkA/YB5APsAcUB2wPlA8UB5QP1AccB2gPmA8cB5gP2AZwB1APpA5wB6QMkAp8B0wPqA58B6gMmAikCJALpAykC6QPrAx8CJgLqAx8C6gPrA8YB2gPsA8YB7AMtAsQB2wPtA8QB7QMvApYCAQTxA5YC8QM+Am0CAATwA20C8AM8AqUCBgTuA6UC7gM3AqYCBwTvA6YC7wM5Ao0CPgLxA40C8QMCBJoCPALwA5oC8AMEBGgC/wMKBGgCCgS3AmoC+gMLBGoCCwS5AlkC9wPyA1kC8gNGAlsC9gPzA1sC8wNIAkgC8wP1A0gC9QNSAkYC8gP0A0YC9ANWArcCCgT2A7cC9gNbArkCCwT3A7kC9wNZAuYCDwT/A+YC/wNoAocC/QP4A4cC+AOCAjkC7wP9AzkC/QOHAoEC/gP5A4EC+QOFAugCEAT6A+gC+gNqAjcC7gP+AzcC/gOBAoIC+AMABIICAARtAoUC+QMBBIUCAQSWAq4CCAQGBK4CBgSlAq8CCQQHBK8CBwSmAnUC/AMIBHUCCASuAncC+wMJBHcCCQSvAlIC9QMMBFICDATeAlYC9AMNBFYCDQTgAuMC3gIMBOMCDAQOBNkC4AINBNkCDQQOBHYC+wMPBHYCDwTmAnQC/AMQBHQCEAToApQAiwARBJQAEQQdBJEAGgQkBJEAJASZAI8AFQQjBI8AIwSOAI4AIwQaBI4AGgSRAJkAJAQbBJkAGwSSAL8AMgQeBL8AHgSVAJYAkwAcBJYAHAQfBJgAlQAeBJgAHgQhBJMAlAAdBJMAHQQcBI0AlgAfBI0AHwQTBIsAlwAgBIsAIAQRBJcAmAAhBJcAIQQgBHkAVAArBHkAKwQlBBsAFAQqBBsAKgQ1ABIARgAmBBIAJgQZBBQAbwAnBBQAJwQXBIUAIgQsBIUALAQ/AGYAFAAXBGYAFwQtBE4AZgAtBE4ALQQuBDUAKgQiBDUAIgSFACUAKAQUBCUAFAQbAG8AeQAlBG8AJQQnBLUAMwQrBLUAKwRUAEYATgAuBEYALgQmBKAAKQQwBKAAMASyALEALwQWBLEAFgSQALIAMAQxBLIAMQSqALEAqgAxBLEAMQQvBJIAGwQyBJIAMgS/AD8ALAQzBD8AMwS1AFUBTAE0BFUBNARABFIBPQRHBFIBRwRaAVABOARGBFABRgRPAU8BRgQ9BE8BPQRSAVoBRwQ+BFoBPgRTAYABVQRBBIABQQRWAVcBVAE/BFcBPwRCBFkBVgFBBFkBQQREBFQBVQFABFQBQAQ/BE4BVwFCBE4BQgQ2BEwBWAFDBEwBQwQ0BFgBWQFEBFgBRARDBDoBFQFOBDoBTgRIBNwANwRNBNwATQT2ANMABwFJBNMASQQ8BNUAMAFKBNUASgQ6BEYBRQRPBEYBTwQAAScB1QA6BCcBOgRQBA8BJwFQBA8BUARRBPYATQRFBPYARQRGAeYASwQ3BOYANwTcADABOgFIBDABSARKBHYBVgROBHYBTgQVAQcBDwFRBAcBUQRJBGEBTARTBGEBUwRzAXIBUgQ5BHIBOQRRAXMBUwRUBHMBVARrAXIBawFUBHIBVARSBFMBPgRVBFMBVQSAAQABTwRWBAABVgR2AQoCAwJXBAoCVwRfBAcCXARnBAcCZwQQAgUCWQRmBAUCZgQEAgQCZgRcBAQCXAQHAhACZwRdBBACXQQIAjUCdgRgBDUCYAQLAg0CCQJeBA0CXgRiBA8CCwJgBA8CYARkBAkCCgJfBAkCXwReBAMCDgJjBAMCYwRXBA4CDwJkBA4CZARjBPEByAFvBPEBbwRoBI8BWARuBI8BbgSlAYgB5wFrBIgBawRbBP0BZQRwBP0BcASvAdoBiAFbBNoBWwRxBMIB2gFxBMIBcQRyBKUBbgRlBKUBZQT9AZkBbARYBJkBWASPAecB8QFoBOcBaARrBCsCdwRvBCsCbwTIAbcBwgFyBLcBcgRqBBgCbQR0BBgCdAQoAicCcwRaBCcCWgQGAigCdAR1BCgCdQQgAicCIAJ1BCcCdQRzBAgCXQR2BAgCdgQ1Aq8BcAR3BK8BdwQrAsICuwJ4BMICeASBBMUCvAJ5BMUCeQSEBL8CfgSKBL8CigTJAr4CewSJBL4CiQS9Ar0CiQR+BL0CfgS/AskCigR/BMkCfwTAAu4CmQSCBO4CggTDAsYCwQKABMYCgASFBMgCwwKCBMgCggSHBMECwgKBBMECgQSABLwCxgKFBLwChQR5BLsCxwKGBLsChgR4BMcCyAKHBMcChwSGBKsCeAKSBKsCkgSLBEkCegSRBEkCkQRdAkMCbAKMBEMCjAR9BEQCogKPBEQCjwR8BLYCiASTBLYCkwRmAokCRAJ8BIkCfASUBJ8CQwJ9BJ8CfQSOBHMCiQKUBHMClASVBF0CkQSIBF0CiAS2AlACkAR6BFACegRJAqICqwKLBKICiwSPBOUCmgSSBOUCkgR4AmwCcwKVBGwClQSMBNECkASXBNEClwTiAuEClgR7BOECewS+AuIClwSYBOICmATaAuEC2gKYBOECmASWBMACfwSZBMACmQTuAmYCkwSaBGYCmgTlAsQEzAQRBcQEEQXjBJ0E1QQMBZ0EDAXmBLQE0QQVBbQEFQUbBcsExATjBMsE4wTiBAEFFAW9BAEFvQS5BAYFAQW5BAYFuQTABKsEpwTrBKsE6wQHBdIEtQQJBdIECQUDBaoEzwQWBaoEFgUdBbcEsATxBLcE8QT8BMoEyQT4BNsEwQT6BNsE+gT5BNAEqwQHBdAEBwUEBagEqgQdBagEHQXgBKAEzQQXBaAEFwUfBbAEuATyBLAE8gTxBMIE3ATvBMIE7wTwBL8EuwTkBL8E5AQIBaEEnQTmBKEE5gQKBbwEvgQZBbwEGQXeBM4EoQQKBc4ECgUFBf8EFQWzBP8EswSvBNQEvwQIBdQECAUGBbgE2gQPBbgEDwXyBAMF/wSvBAMFrwS2BNkEtwT8BNkE/AT7BMgExwQSBaYErgTzBKYE8wTuBK0EpgTuBK0E7gT9BK4E2AQNBa4EDQXzBNEEswQVBfcEFwWfBPcEnwSbBNcErQT9BNcE/QQhBcAE1AQGBQUF9wSbBAUFmwSiBKQE1gQCBaQEAgX0BMwExgQTBcwEEwURBcYEyAQSBcYEEgUTBZwEpAT0BJwE9AT1BNwEvATeBNwE3gTvBKMEnAT1BKME9QT+BM8EqQQWBdoEsgTfBNoE3wQPBdUEowT+BNUE/gQMBaIEzgQFBbYE0gQDBbsE2wT5BLsE+QTkBNgEqATgBNgE4AQNBdMEvQQUBc0EnwQXBbIEtAQbBbIEGwXfBLUEsQTlBLUE5QQJBZ4EoAQfBZ4EHwXhBLoEwgTwBLoE8ATtBNYEngThBNYE4QQCBbEE2QT7BLEE+wTlBMEEugTtBMEE7QT6BPgEAAXDBPgEwwTKBKwE0AQEBcUEywTiBMUE4gTdBKcE1wQhBacEIQXrBPYEFgWpBPYEqQSlBMkExQTdBMkE3QT4BL4E0wQUBb4EFAUZBQQF9gSlBAQFpQSsBPoE7QTsBPoE7AT5BPAE7wTsBPAE7ATtBPwE8QQOBfwEDgX7BPIEDwUOBfIEDgXxBP0E7gQgBf0EIAUhBfMEDQUgBfMEIAXuBP4E9QQLBf4ECwUMBfQEAgULBfQECwX1BBgFGQUUBRgFFAUBBRoFGwUVBRoFFQX/BBwFHQUWBRwFFgX2BB4FHwUXBR4FFwX3BBAFEwUSBRAFEgUABd0EEAUABd0EAAX4BOIE4wQQBeIEEAXdBBEFEwUQBREFEAXjBAEFBgUIBQEFCAUYBecE3gQZBecEGQUYBeQE5wQYBeQEGAUIBfkE7ATnBPkE5wTkBO8E3gTnBO8E5wTsBP8EAwUJBf8ECQUaBegE3wQbBegEGwUaBeUE6AQaBeUEGgUJBfsEDgXoBPsE6ATlBA8F3wToBA8F6AQOBfYEBAUHBfYEBwUcBeoE4AQdBeoEHQUcBesE6gQcBesEHAUHBSEFIAXqBCEF6gTrBA0F4ATqBA0F6gQgBfcEBQUKBfcECgUeBekE4QQfBekEHwUeBeYE6QQeBeYEHgUKBQwFCwXpBAwF6QTmBAIF4QTpBAIF6QQLBQAFEgXHBAAFxwTDBMUGvwYqBcUGKgU7BckGvgYpBckGKQXdBcoGwAYrBcoGKwXcBUEFHgg5BUEFOQVHBSQFRgVFBSQFRQUkCMsG/QU3BcsGNwXDBkMFMQUnBUMFJwU/BcIGLwUrBcIGKwXABsQGOAUmBcQGJgW9BkYFJgU4BUYFOAVFBUYFJAXaBUYF2gXgBb4GxQY7Bb4GOwUpBeAF2gUeCOAFHghBBQAGZwgjCAAGIwhEBcgGTQU+BcgGPgXGBjwFRwVABTwFQAUoBf0FAAZEBf0FRAU3BUsFKAhnCEsFZwgABgEGaQgqCAEGKghMBd4F4AVBBd4FQQUtBd8F4QU/Bd8FPwUnBS0FQQVHBS0FRwU8BU0FTAVIBU0FSAU+BUwFKggmCEwFJghIBcYGPgVKBcYGSgXHBj4FSAVLBT4FSwVKBTQFQwU/BTQFPwUiBcwG/wVNBcwGTQXIBv8FAQZMBf8FTAVNBc4G9AZVBc4GVQVkBdQG9QZUBdQGVAXlBdMG8wZWBdMGVgXkBWwFKwg0CGwFNAhyBS8IcQVwBS8IcAVbBdoGBQZiBdoGYgXPBm4FXwVSBW4FUgVqBdIGXAVWBdIGVgXzBtAGYwVRBdAGUQX2BnEFUQVjBXEFYwVwBUIFMwVpCEIFaQgBBjMIbgVqBTMIagVPBfUGzgZkBfUGZAVUBegFYggrCOgFKwhsBQoGAwZaBQoGWgVvBdUGeAVpBdUGaQXNBmUFcgVrBWUFawVTBQUGCgZvBQUGbwViBXEFLwhiCHEFYgjoBQcGewV3BQcGdwULBuYF6AVsBeYFbAVYBecF6QVqBecFagVSBVgFbAVyBVgFcgVlBXgFdwVzBXgFcwVpBXcFewVnBXcFZwVzBc0GaQV1Bc0GdQXWBmkFcwV2BWkFdgV1BXYFNwgDBnYFAwYKBtkGCQZ4BdkGeAXVBgkGCwZ3BQkGdwV4BekG6waABekGgAWMBeUG4gZ/BeUGfwXrBeYG7AaBBeYGgQXqBdsGDQaKBdsGigXfBpQFhgV9BZQFfQWQBd0GhAWBBd0GgQXsBpMFOggUBpMFFAYVBuAGiwV8BeAGfAXhBpcFfAWLBZcFiwWWBeIG6QaMBeIGjAV/BeQGpwWPBeQGjwXqBo0FmAWRBY0FkQV+BQ0GEAaVBQ0GlQWKBZcFnwVkCJcFZAjuBRQGRAimBRQGpgUVBuwF7gWSBewFkgWDBe0F7wWQBe0FkAV9BYMFkgWYBYMFmAWNBacFpgWZBacFmQWPBWQIQQiSBWQIkgXuBSQHIQdbCCQHWwjYBZYFngWfBZYFnwWXBZIFQQg4CJIFOAiYBTsIlAWQBTsIkAWaBRAGEgadBRAGnQWVBeoGjwWiBeoGogXjBo8FmQWjBY8FowWiBUQIQAiZBUQImQWmBaMFpQUSBqMFEgYQBtwGDwanBdwGpwXkBg8GFQamBQ8GpgWnBfAG2AatBfAGrQW3BfIG5wasBfIGrAXzBfEG1wauBfEGrgXyBe4GFwa2Be4GtgX5Br4FsgWqBb4FqgW7BfcGsQWuBfcGrgXXBvgGtQWpBfgGqQXoBsEFqQW1BcEFtQW/BecG8Aa3BecGtwWsBfoG0gW6BfoGugXvBrgFwgW8BbgFvAWrBRcGGgbABRcGwAW2BU0IvgW7BU0IuwVJCMQFwQW/BcQFvwVGCPQF9gW9BfQFvQWwBfUF9wW7BfUFuwWqBbAFvQXCBbAFwgW4BdIF0QXDBdIFwwW6Bb0FSgjGBb0FxgXCBfYF+AVKCPYFSgi9BRoGawhHCBoGRwjABcIFxgXKBcIFygW8BfcF+gVJCPcFSQi7BdEF0AXJBdEFyQXDBe8GugXNBe8GzQX7BroFwwXOBboFzgXNBcMFyQVPCMMFTwjOBRsGbQjQBRsG0AXRBe0GGQbSBe0G0gX6BhkGGwbRBRkG0QXSBb0GyQbdBb0G3QUsBb8GygbcBb8G3AUqBUAFIAhgCEAFYAjhBUcFOQUgCEcFIAhABSYFRgXgBSYF4AXeBSgFQAXhBSgF4QXfBfYG1AblBfYG5QVXBfQG0wbkBfQG5AVVBWsFLQjiBWsF4gXpBXIFNAgtCHIFLQhrBVEFcQXoBVEF6AXmBVMFawXpBVMF6QXnBeEG5QbrBeEG6wWCBesG5gbqBesG6gWABXwFlwXuBXwF7gXsBX4FkQXvBX4F7wXtBZEFPQjwBZEF8AXvBTgIPQiRBTgIkQWYBegG8gbzBegG8wWvBdgG8QbyBdgG8gWtBakFwQX2BakF9gX0BasFvAX3BasF9wX1BcEFxAX4BcEF+AX2BbwFygX6BbwF+gX3BeEFYAgiBeEFIgU/BccGSgX9BccG/QXLBkoFSwUABkoFAAb9BUgFJggoCEgFKAhLBcEGMAX/BcEG/wXMBjAFQgUBBjAFAQb/BekF4gVPBekFTwVqBdYGdQUFBtYGBQbaBnUFdgUKBnUFCgYFBnMFZwU3CHMFNwh2BdEGXgUJBtEGCQbZBl4FbQULBl4FCwYJBuMGogUNBuMGDQbbBqIFowUQBqIFEAYNBu8F8AWaBe8FmgWQBZkFQAilBZkFpQWjBd4GhwUPBt4GDwbcBocFkwUVBocFFQYPBvsGzQUXBvsGFwbuBs0FzgUaBs0FGgYXBs4FTwhrCM4FawgaBr4FTQhtCL4FbQgbBvcGsgUZBvcGGQbtBrIFvgUbBrIFGwYZBowFgAUsBowFLAYtBnkFaAUoBnkFKAYqBjUGMQasBTUGrAW3BTwGNAaxBTwGsQUYBt0FKQUcBt0FHAY5BjsGIwZJBTsGSQX8BbcFrQUyBrcFMgY1BjoGMgatBToGrQXyBdMFuQU2BtMFNgY4BhgG0wU4BhgGOAY8BqgFjgUuBqgFLgYwBjkGHgYsBTkGLAXdBSkGKAZoBSkGaAV0BScGJQZUBScGVAVkBSMGIgY9BSMGPQVJBTcGNga5BTcGuQXMBfwFNQUfBvwFHwY7Bi8GLgaOBS8GjgWhBWQFVQUmBmQFJgYnBiEGHAYpBSEGKQU7BR4GIAY2BR4GNgUsBTQGMwauBTQGrgWxBfIFrgUzBvIFMwY6Bk4FPQUiBk4FIgYkBi0GKwZ/BS0GfwWMBTsFKgUdBjsFHQYhBokHiAcuBokHLgYvBowHiwdHBowHRwZJBo0Hjgc2Bo0HNgY3BlIGVAZ3BlIGdwaLBocHiwcoBocHKAYpBpIHiAdNBpIHTQZPBpEHigdBBpEHQQZDBl0GYAZIBl0GSAZDBk8GWAZoB08GaAdVBuoFvAYsBuoFLAaABV0GQwZBBl0GQQZcBl0GXAZqBl0GagZtBkkGRwZfBkkGXwZhBmkGWQY/BmkGPwZWBmAGXwZHBmAGRwZIBnwG6wV/BXwGfwUrBnMGWAaXBnMGlwZxBm8GbgZfBm8GXwZgBlgGTwZNBlgGTQaXBmEGXwZuBmEGbgZwBowGiQZ0BowGdAZ4BrcGsQaQBrcGkAZ/BngGdQaKBngGigaMBrEGmwaaBrEGmgaQBpIGmgabBpIGmwacBrAHrQeoBrAHqAZsB4EGkgacBoEGnAayBmwHqAajBmwHowZ0B38GkQawBn8GsAa3Bm0Hdge6Bm0Huga0Bm4HcgeeBm4HngarBm8HagesBm8HrAazBnYHcwd9BnYHfQa6BrAGtgZnBrAGZwa7BuQFqgYmBuQFJgZVBXIHagehBnIHoQaeBmkHbwezBmkHswa5Bm4HbQe0Bm4HtAZoBpgGZgabBpgGmwaxBrYGuAZaBrYGWgZnBhcHeAZ0BhcHdAYWB5EGgAa2BpEGtgawBnQGsgaPBnQGjwYWBzwFKAW/BjwFvwbFBt4FLQW+Bt4FvgbJBt8FJwXABt8FwAbKBvwFywbDBvwFwwY1BTEFwgbABjEFwAYnBTYFxAa9BjYFvQYsBS0FPAXFBi0FxQa+Bk4FyAbGBk4FxgY9BT0FxgbHBj0FxwZJBf4FzAbIBv4FyAZOBSYF3gXJBiYFyQa9BigF3wXKBigFyga/BkkFxwbLBkkFywb8BS4FwQbMBi4FzAb+BQgG2QbVBggG1QZ5BeYFWAX1BuYF9QbUBucFUgXzBucF8wbTBl8F0gbzBl8F8wZSBYYF3QbsBoYF7AZ9BQQG2gbPBgQGzwZgBQ4G3AbkBg4G5AaoBY4F6gbjBo4F4wahBXkF1QbNBnkFzQZoBYMFjQXpBoMF6QbiBnQF1gbaBnQF2gYEBlMF5wXTBlMF0wb0Bu0FfQXsBu0F7AbmBlEF5gXUBlEF1Ab2BuwFgwXiBuwF4gblBl0F0QbZBl0F2QYIBmgFzQbWBmgF1gZ0BbkF7wb7BrkF+wbMBVgFZQXOBlgFzgb1BmEF0Ab2BmEF9gZXBaEF4wbbBqEF2wYMBmUFUwX0BmUF9AbOBoUF3gbcBoUF3AYOBtMF+gbvBtMF7wa5BQwG2wbfBgwG3waIBbgFqwXYBrgF2AbwBhYG7gb5BhYG+Qa0BfQFsAXnBvQF5wbyBn4F7QXmBn4F5gbrBokF4AbhBokF4QaCBY0FfgXrBo0F6wbpBnwF7AXlBnwF5QbhBqgF5AbqBqgF6gaOBasF9QXxBqsF8QbYBrAFuAXwBrAF8AbnBswF+wbuBswF7gYWBhgG7Qb6BhgG+gbTBakF9AXyBqkF8gboBrEF9wbtBrEF7QYYBrMF+AboBrMF6AavBfUFqgXXBvUF1wbxBrIF9wbXBrIF1waqBbIGnAYUB7IGFAePBrcGsAa7BrcGuwZeBlYGWga4BlYGuAZpBl4GmAaxBl4GsQa3BkwGFAdmBkwGZgZKBkYGXga7BkYGuwZEBpwGmwZmBpwGZgYUB1MGNQYyBlMGMgZRBhIH5QVUBRIHVAUlBtwFEwcdBtwFHQYqBeUF3AUrBeUFKwVXBdwF5QUSB9wFEgcTBzUGUwZQBjUGUAYxBhYHFQcxBhYHMQZQBusF5AVWBesFVgWCBRQHTAZLBhQHSwaPBuQF6wV8BuQFfAaqBo8GvAYVB48GFQcWBxcHUwZRBhcHUQZXBngGFwdXBngGVwZ1BhUH8wWsBRUHrAUxBuoF8wUVB+oFFQe8BvMF6gWBBfMFgQWvBVMGFwcWB1MGFgdQBmIGcgZxBmIGcQaXBr4H/gYAB74HAAe/B70HyAf+Br0H/ga+B1EIGgcjB1EIIwdfCB8HIAdZCB8HWQhXCBkHJAfYBRkH2AXVBR0HGwdSCB0HUgjXBSIHHgdVCCIHVQhcCCMHGQfVBSMH1QVfCB4HHwdXCB4HVwhVCBwHHQfXBRwH1wVTCCAHHAdTCCAHUwhZCCsHLAcgBysHIAcfByoHKwcfByoHHwceBywHKAccBywHHAcgBygHKQcdBygHHQccByMHGgcmByMHJgcvBy4HKgceBy4HHgciBxsHHQcpBxsHKQcnBy8HJQcZBy8HGQcjByQHGQclByQHJQcwBzAHLQchBzAHIQckBzsHMQclBzsHJQcvBzAHJQcxBzAHMQc8BzwHOQctBzwHLQcwBzcHOAcsBzcHLAcrBzYHNwcrBzYHKwcqBzgHNAcoBzgHKAcsBzQHNQcpBzQHKQcoBy8HJgcyBy8HMgc7BzoHNgcqBzoHKgcuBycHKQc1BycHNQczBzsHMgc+BzsHPgdHB0YHQgc2B0YHNgc6BzMHNQdBBzMHQQc/B0cHPQcxB0cHMQc7BzwHMQc9BzwHPQdIB0gHRQc5B0gHOQc8B0MHRAc4B0MHOAc3B0IHQwc3B0IHNwc2B0QHQAc0B0QHNAc4B0AHQQc1B0AHNQc0B1AHTAdAB1AHQAdEB0wHTQdBB0wHQQdAB0cHPgdKB0cHSgdTB1IHTgdCB1IHQgdGBz8HQQdNBz8HTQdLB1MHSQc9B1MHPQdHB0gHPQdJB0gHSQdUB1QHUQdFB1QHRQdIB08HUAdEB08HRAdDB04HTwdDB04HQwdCB2UGTQdMB2UGTAdkBnoGSwdNB3oGTQdlBocGhgZYB4cGWAdZB4YGhAZWB4YGVgdYB4UGgwZVB4UGVQdXB1kHWAdaB1kHWgdbB1sHWgdcB1sHXAddB10HXAdfB10HXwdgB5MGmwd5B5MGeQecB2AHXwdiB2AHYgdjB2MHYgdlB2MHZQdmB3EHZQeeB3EHngemBmsGZgdlB2sGZQdxBy8FYQVXBS8FVwUrBVwFiQWCBVwFggVWBf4FBAZgBf4FYAUuBQQG/gVOBQQGTgV0BXQFTgUkBnQFJAYpBpEHhwcpBpEHKQYkBmoGmAeHBmoGhwZtBmAGXQZtBmAGbQZvBnsGUwdKB3sGSgd5BggGDAaIBQgGiAVdBQwGCAZ5BQwGeQWhBYQFswWvBYQFrwWBBQ4GFga0BQ4GtAWFBRYGDgaoBRYGqAXMBcwFqAUwBswFMAY3BpIHjQc3BpIHNwYwBmIGTgZJBmIGSQZhBnIGYgZhBnIGYQZwBpcGTQZOBpcGTgZiBokHjAdJBokHSQZOBioGLwahBSoGoQV5BVUGaAd3BlUGdwZUBmkHdAejBmkHowadBrIGdAaJBrIGiQaBBloGQAY+BloGPgZnBloGVgY9BloGPQZABl4GRgZFBl4GRQaYBnUGVwZSBnUGUgaLBo0GSQdTB40GUwd7BpYGbAd0B5YGdAeVBp8GmQZ2B58GdgdtB7kGlQZ0B7kGdAdpB50GoAZvB50GbwdpB5kGogZzB5kGcwd2B2gGtQZyB2gGcgduB6AGoQZqB6AGagdvB6sGnwZtB6sGbQduB7UGrAZqB7UGagdyB3cGaAd4B3cGeAd2BmIHoAeeB2IHngdlB1gGcwZ4B1gGeAdoB18HowegB18HoAdiB44GVAdJB44GSQeNBlQHjgaTB1QHkwdRB2wGTgdSB2wGUgeUB6kGTwdOB6kGTgdsBk8HqQZ1B08HdQdQB3MHogZ5B3MHeQebB2sHdwetBmsHrQakBncHawevBncHrwZjBooGdQaLBooGiwZ+BoIGkwacB4IGnAcKB70HDwcOB70HDge8B7wHDgcNB7wHDQe7B7sHDQcMB7sHDAe6B7oHDAcQB7oHEAe5B7kHEAcYB7kHGAe4B7gHGAcRB7gHEQe3B7cHEQeGB7cHhge2B58GDwcIB58GCAeZBqsGDgcPB6sGDwefBg4HqwaeBg4HngYNBw0HngahBg0HoQYMB6AGEAcMB6AGDAehBp0GGAcQB50GEAegBhgHnQajBhgHowYRB7UH4AfZB7UH2Qe2B7MH0QfgB7MH4Ae1B6gGhgcRB6gGEQejBksGLAa8BksGvAaPBk4GTQaIB04GiAeJB0IGQQaKB0IGigc7BkwGLQYsBkwGLAZLBi0GTAZKBi0GSgYrBioGKAaLByoGiweMB2YGfAYrBmYGKwZKBlUGVAaOB1UGjgeNBzsGigciBjsGIgYjBnwGZgaYBnwGmAaqBkUGJgaqBkUGqgaYBkYGJwYmBkYGJgZFBicGRgZEBicGRAYlBkgGRwaLB0gGiweHBzAGLgaIBzAGiAeSBzwGjgdUBjwGVAY0BrsGEgclBrsGJQZEBiQGIgaKByQGigeRBxIHuwZnBhIHZwYTBz4GHQYTBz4GEwdnBkAGIQYdBkAGHQY+BjwGOAY2BjwGNgaOByEGQAY9BiEGPQYcBlYGOQYcBlYGHAY9BjkGVgY/BjkGPwYeBlkGrAeQB1kGkAc/BkIGjwerB0IGqwdbBjQGVAZSBjQGUgYzBlcGOgYzBlcGMwZSBjoGVwZRBjoGUQYyBh4GPwaQBx4GkAcgBkMGSAaHB0MGhweRB08GVQaNB08GjQeSBy8GKgaMBy8GjAeJB1AHdQdkBlAHZAZMB5UHbAaUB5UHlAeXB5QGqQZsBpQGbAaVB7gGtgaABrgGgAaIBpsHmQd9BpsHfQZzB60HsQeGB60HhgeoBpMGdQepBpMGqQaUBq0HpAZ9B60HfQexB5oHaQa4BpoHuAaIBogGfQaZB4gGmQeaB5kHlAaVB5kHlQeaB2kGmgeVB2kGlQdZBoAGugZ9BoAGfQaIBpEGtAa6BpEGugaABnEHdwdjBnEHYwZrBncHcQemBncHpgatBmcHewd+B2cHfgelBmQHfAd7B2QHewdnB2EHfwd8B2EHfAdkB14HgQd/B14HfwdhB3oHgAeBB3oHgQdeBwoHhQeABwoHgAd6B5wHggeFB5wHhQcKB3kHCQeCB3kHggecB2cHpQauBmcHrgadB1UHgwaCBlUHggYKB2QHZwedB2QHnQdwB64GpwafB64GnwedB1wHpgejB1wHowdfB6YHXAdaB6YHWgepB6EHcAedB6EHnQefB3AHoQekB3AHpAeiB6IHpAenB6IHpwelB6UHpweqB6UHqgeoB2EHZAdwB2EHcAeiB6UHXgdhB6UHYQeiB14HpQeoB14HqAd6B1oHWAdWB1oHVgepB6oHVwdVB6oHVQeoB1UHCgd6B1UHegeoB4sGdwZ2BosGdgZ+Bn8GaAa0Bn8GtAaRBmgGfwaQBmgGkAa1BrUGkAaaBrUGmgasBpIGswasBpIGrAaaBoEGuQazBoEGswaSBokGlQa5BokGuQaBBowGlgaVBowGlQaJBnYGYwavBnYGrwZ+BmMGdgZ4B2MGeAdrBnMGZgdrBnMGawZ4B2YHcwZxBmYHcQZjB3IGYAdjB3IGYwdxBmAHcgZwBmAHcAZdB10HcAZuBl0HbgZbB28GWQdbB28GWwduBlkHbwZtBlkHbQaHBkIGOwYfBkIGHwaPB1wGWwarB1wGqwdqBkIGWwZcBkIGXAZBBlkGlQeXB1kGlwesB2sHpAatB2sHrQewB6IGCwcJB6IGCQd5B5kGCAcLB5kGCweiBn4GrwayB34GsgeKBmsHsAeyB2sHsgevBpYGjAaKBpYGigayB7AHbAeWBrAHlgayB5QGmQebB5QGmweTBo4GmAeWB44GlgeTB5gHjgaNBpgHjQaHBocGjQZ7BocGewaGBoYGewZ5BoYGeQaEBoUGegZlBoUGZQaDBoMGZQZkBoMGZAaCBoIGZAZ1B4IGdQeTBscHgwfUB8cH1AfGB8YH1AcDB8YHAwfFB8UHAwfWB8UH1gfEB8MHgQeAB8MHgAfEB8IHfweBB8IHgQfDB8EHfAd/B8EHfwfCB8AHewd8B8AHfAfBB8AHrwfSB8AH0ge0B78HAAeDB78HgwfHB30Hswe1B30HtQexB8gHvQe8B8gHvAf8Bt4HwgfDB94HwwfPBw8HvQe+Bw8HvgcIB4UHxQfEB4UHxAeABwgHvge/BwgHvwcLB8wHtwe2B8wHtgfZBwsHvwfHBwsHxwcJBwYHuge5BwYHuQfKBwQHuAe3BwQHtwfMB4IHxgfFB4IHxQeFB68HwAfBB68HwQfcB9cHuwe6B9cHugcGB8oHuQe4B8oHuAcEB3sHwAe0B3sHtAd+B88HwwfEB88HxAfWB/wGvAe7B/wGuwfXB7EHtQe2B7EHtgeGB9wHwQfCB9wHwgfeBwkHxwfGBwkHxgeCB6sHlgeYB6sHmAdqBucH8wfmB+YH8wcbCO0H8wfsB+gH5QfzB+oH8wfnB/EH8wfhB+EH8wfiB+IH8wfyB/IH8wfkB+QH8wfjB/MHGAjjB/MH7QfvB+kH6AfzB+sH6QfzB+8H6wfzB+wH8wfuB+4H8wfwB/AH8wfqBxEI1QcCBxEIAgf7BwAI2AcHBwAIBwf+BwgIyQf9BggI/Qb4BwsI2wfdBwsI3QcHCPYH/wbJB/YHyQcICPgH/QbYB/gH2AcACA0IrgfbBw0I2wcLCBkIAQf/BhkI/wb2BxMI3wfQBxMI0AcPCAUIzgfVBwUI1QcRCAIIzQfaBwII2gcUCA8I0AeuBw8IrgcNCPsHAgfTB/sH0wcXCAcI3QfOBwcIzgcFCBcI0weEBxcIhAf0BxwIBQfNBxwIzQcCCBQI2gffBxQI3wcTCP4HBwfLB/4Hywf8B+EH/wf9B+EH/QfxB+cHFQgSCOcHEgjqBxsIHQgDCBsIAwjmB+gHFgj1B+gH9QflB+0HBggECO0HBAjvB+kH+gcWCOkHFgjoB/AHDggMCPAHDAjuB+YHAwgVCOYHFQjnB+8HBAgQCO8HEAjrB+oHEggOCOoHDgjwBxgIGgj3BxgI9wfjB+4HDAgKCO4HCgjsB/IH+QcBCPIHAQjiB+MH9wcJCOMHCQjkB+wHCggGCOwHBgjtB+QHCQj5B+QH+QfyB+IHAQj/B+IH/wfhB+sHEAj6B+sH+gfpB+UH9QcaCOUHGggYCPQHhAcBB/QHAQcZCPMH5QcYCG0FMggHBm0FBwYLBvEH/QcdCPEHHQgbCPwHywcFB/wHBQccCBsI8wfxByUFIggOACUFDgALACMFYQiQAyMFkAMJAGYIJwiMAGYIjAASBDoFHwgFADoFBQAsACUIKQilACUIpQAvANsFJQULANsFCwCSAyEIOgUsACEILAAHACcIJQgvACcILwCMACIIZggSBCIIEgQOAB8I2wWSAx8IkgMFAGgIMgURAGgIEQAYBDIFIwUJADIFCQARAGEIIQgHAGEIBwCQAykIaAgYBCkIGASlAF4I1AUtA14ILQNjA1oIVAgzA1oIMwM7A9QF2QVyA9QFcgMtA10IVgg3A10INwM+A1QI1gU0A1QINAMzA1YIWAg5A1YIOQM3A1AIXghjA1AIYwMvA1gIWgg7A1gIOwM5A9YFUAgvA9YFLwM0A9kFXQg+A9kFPgNyAwIGNghNAQIGTQE1BFAF4wWxA1AFsQPKAHoFBgY7BHoFOwRmATAIWQXNADAIzQDMADYIZgXwADYI8ABNAWYFegVmAWYFZgHwAOMFLgjIAOMFyACxAzEIUAXKADEIygDSAAYGMQjSAAYG0gA7BCwIYwizAywIswPGAFkFAgY1BFkFNQTNAC4INQjtAC4I7QDIAGMIMAjMAGMIzACzAzUILAjGADUIxgDtABEGpAUMAhEGDAJhBKQFPwjcAaQF3AEMApsF8QXgA5sF4AO9AT8IQwgTAj8IEwLcAUIIZQjiA0II4gPkAZwFEQZhBJwFYQTeATkIQgjkATkI5AG2AUMIEwZpBEMIaQQTAj4IOQi2AT4ItgG7ARMGPAi5ARMGuQFpBPEFPgi7AfEFuwHgAzwImwW9ATwIvQG5AaAFnAXeAaAF3gHiAWUIoAXiAWUI4gHiA0gI+wUFBEgIBQSYAsUFRQiKAsUFigKOAvsFywWbAvsFmwIFBEwISAiYAkwImAKeAscFSwidAscFnQKQAs8FbAiNBM8FjQTNAmwITAieAmwIngKNBEUIagiDBEUIgwSKAk4IyAWRAk4IkQLEAvkFxQWOAvkFjgIDBMsFxwWQAssFkAKbAsgFzwXNAsgFzQKRAmoITgjEAmoIxAKDBEsI+QUDBEsIAwSdAgAAgD97k5m3byODMgAAAIBvI4MyEJnaOuj/fz8AAACAe5OZt+n/f78Qmdo6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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import new file mode 100644 index 0000000..1314ffb --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bu07alt6vkbaq" +path="res://.godot/imported/Hand_Glove_L.gltf-ac6c06fe48ca0d7ce0f9faffd177a897.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" +dest_files=["res://.godot/imported/Hand_Glove_L.gltf-ac6c06fe48ca0d7ce0f9faffd177a897.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf b/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf new file mode 100644 index 0000000..b9c1060 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_R", + "rotation" : [ + -0.07576872408390045, + 0.019257033243775368, + 0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + 2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_R", + "rotation" : [ + 0.05564067140221596, + -0.010326135903596878, + -0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + 2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_R", + "rotation" : [ + -0.04595031589269638, + 0.027135659009218216, + 0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_R", + "rotation" : [ + 0.3235369920730591, + 2.565749491623137e-05, + 0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + -0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_R", + "rotation" : [ + -0.052288394421339035, + 0.0005572127993218601, + -0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_R", + "rotation" : [ + 0.014225997030735016, + 0.011990753002464771, + 0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_R", + "rotation" : [ + -0.013683199882507324, + 0.024668212980031967, + 0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_R", + "rotation" : [ + 0.11122288554906845, + 0.0027781203389167786, + -0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_R", + "rotation" : [ + -0.0005887771840207279, + -2.10358793992782e-05, + -0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_R", + "rotation" : [ + 0.013688242062926292, + -7.99239132902585e-05, + -0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_R", + "rotation" : [ + -0.013931511901319027, + 0.00014242221368476748, + 0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + -5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_R", + "rotation" : [ + 0.03945539891719818, + -0.004928736016154289, + 0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + -1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_R", + "rotation" : [ + -0.01194659061729908, + -0.000966736872214824, + 0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + 7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_R", + "rotation" : [ + -0.03585463762283325, + -4.2005005525425076e-05, + -0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_R", + "rotation" : [ + 0.03305169194936752, + 0.006719753611832857, + -0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + -5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_R", + "rotation" : [ + -0.011351789347827435, + -0.012621401809155941, + 0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + 2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_R", + "rotation" : [ + 0.01732625439763069, + -0.01860846020281315, + 0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_R", + "rotation" : [ + -0.05105672776699066, + 0.002022986998781562, + -0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_R", + "rotation" : [ + -0.07119493186473846, + -1.573348527017515e-05, + -0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_R", + "rotation" : [ + 0.015836291015148163, + 0.01933973841369152, + -0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_R", + "rotation" : [ + -0.018054774031043053, + -0.011455277912318707, + 0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + -2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_R", + "rotation" : [ + 0.044925764203071594, + -0.03280799090862274, + 0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + 4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_R", + "rotation" : [ + -0.08928601443767548, + -0.003168066032230854, + 0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_R", + "rotation" : [ + -0.09176954627037048, + -2.456200854794588e-05, + -0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_R", + "rotation" : [ + 0.7065238952636719, + 6.479929197666934e-06, + 8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + -0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_R", + "rotation" : [ + -0.7065169215202332, + -6.472751010733191e-06, + -6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Glove_R", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Glove_R", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 2158, + "max" : [ + 0.03079318255186081, + 0.09075886011123657, + 0.025806419551372528 + ], + "min" : [ + -0.03715551644563675, + -0.0686107948422432, + -0.18644104897975922 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 2158, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 2158, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 2158, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 2158, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 10470, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 25896, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 25896, + "byteOffset" : 25896 + }, + { + "buffer" : 0, + "byteLength" : 17264, + "byteOffset" : 51792 + }, + { + "buffer" : 0, + "byteLength" : 8632, + "byteOffset" : 69056 + }, + { + "buffer" : 0, + "byteLength" : 34528, + "byteOffset" : 77688 + }, + { + "buffer" : 0, + "byteLength" : 20940, + "byteOffset" : 112216 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 133156 + } + ], + "buffers" : [ + { + "byteLength" : 134820, + "uri" : "data:application/octet-stream;base64,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CwYFAAsGDAALBgwACwwAAAsMAAALAAAACwAAAAsQBgoLDAYQCwwAAAsAAAALDAAACwwAAAsMAAALDAYACwwGAAsMBgALAAAACwwAAAsMAAALDAAACwYFCgsGDAALDAYACwwAAAsQDAALEAoACwwAAAsMAAAQCxEAEBUAABAAAAAQCwAAEBUAABAVAAAQCwAAEAsAABAVAAAQFQAAEBURABAVEQAQCwAAEAsAABALEQAQCxEAEAsAABAAAAAQCxUPEBELFRARAAAQAAAAEBEAABARAAAQEQAAEBELABARCwAQEQsAEAAAABARCwAQEQAAEBEAABARAAAQEQAAEBEAABARAAAQEQAAEAsPChALEQAQEQsAEBEAABARAAAQERUAEBURABAVDxQVEBYAFRYAABUAAAAVEBQPFRQAABUUAAAVEAAAFRAAABUUAAAVFgAAFRAAABUQAAAVEBYAFRAWABUUEAAVAAAAFRAUABUWEAAVFgAAFRYAABUWAAAVFgAAFRAWABUQFgAVEBYAFRYAABUWAAAVEBQPFRYQABUWEAAVFgAAFRYAABUUFgACAAAAAgAAAAYHAAAGBwAABgsAAAYFAAAGBwAABgAAAAYHAAAGBwAACwwAAAsMAAALEAAACwYAAAsGDAALAAAACwwAAAsMAAAQFQ8AEAsAABALAAAQAAAAEBELABARAAAQEQAAEBEAABUUAAAVEA8AFRAAABUAAAAVFhAAFRYAAAYFAAAGBwAABgsFAAYLBwAGBwAABgcAAAsMAAALDAAACwYFCgsGDAALEAAACxAMAAsMBgALDAAAEAsAABALEQAQFQ8AEBURABARCwAQERUAFRAPFBUQFgAVFAAAFRYAABUWEAAVFgAABgUAAAYLBQAGBQAABgUAAAYFAAAGBQAABgULAAYFAAAGBQsKCwYKAAsQCgALCgAACwoQBQsGBQoLEAoPEAsPABAPFQAQDwsAEA8VCxALDwoQFQ8UFRAUDxUUAAAVFAAAFRQAABUUEA8VFBAAFRAUDxUUEAAGBQAAFRQAAAYFAAAVFAAABgUAAAYFCwAGBQAABgULAAUGAAAGBQAABQYLCgsKBgALChAACwoQBgoFCw8FCgsGCg8LEBAPCwoQDxUAEA8LFQ8QFBUPEAoLFBUPEBUUDxAVFA8AFRQAABUUDwAVFAAAFRQPEAYFAAAUFQAAFBUPEAUGAAAGBQsKBQYAAAUGAAAFBgoLCgsQBQoFCw8FCgsGCg8FCw8KEBQUAAAAAQIFAAECAAAQCw8KBgsFCgoPBQAFBgAABQYCARQPFQAFAgEGBQoBBgoFDwsFCg8BCg8FFA8UChUPChQFFA8VAA8UFQAUFQAAFBUAABQVAAAUDxUAAQIAAAECAAABAgUAEAsPCgUKAQAUFQAACgUPAAUKBgAPFAAAAQIFAAECAAABAgAAAQIAAAEFAgAFAQIKBQoGABQPFQAUAAAAFBUAABQPAAABAgUABQIBAA8QFRQKDwAACgULAA8KFAABBQIAAQUCABQPAAAUDwAADxQVEAsKEA8FCgAADwoQAA8KEAsPChAUDxQKAAoPBQAKBQ8ADxQKAA8KFAAFAQoAFA8AABQAAAAUAAAAFAAPABQADwAUDwAAAQIFAAsQCgAKDwUADwoUABQAAAAUAAAAFAAAAAoFCwYKCw8QDxQQFQ8KFAAKBQ8ACg8FAAUKBgsKCwUPBQYKAA8UCgAFCgAACwYKBRAVDxQGBwUABgAAAAYAAAAGCwAABgsAAAYLAAAGBwUABgcFAAYAAAAGBQcABgUHAAYLBQAGBwAABgsAAAYHBQAGCwAACxAGCgsAAAALBgAACwYAAAsQAAALEAAACxAAAAsGAAALEAAACwYQBRUAAAAVAAAACxAAAAsGAAAQCxEAEBUAABAVAAAQFQAAEAsRABALEQAQCwAAEAsAABALEQAQFREAEAsAABAVAAAVEAAAFRAAABAAAAAQCxUREAAAABAVAAAVFgAAFRAWABUWEAAVEAAAFQAAABUQAAALEAAACwAAAAsGAAALBgAAFRYAABUQFgAVEBYAFRYAABUQFgAKBQ8ACgUPAAUBCgAFAQoAAQUACgEFAAoBAAUAAQAFAAEABRQBAAUUCgUPAQoFDwEPFAoADxQKAA8UCgAPFAoADwoUAA8KFAAUDwAKFA8AChQPAAAUDwAAABQBAAAUAQAAARQAAAEUABQADwAUAA8ABQoAAAUBAAABBQAABQEKAA8KFAAKDwUACg8FAAoFDwAPFAoAFA8AAAsGCgUGCwUADxAKCxUQDxQUDxUQFBUPAA8UCgACAAAAAgAAAAIAAAACAAAAAgAAAAIFAAACAAAAAgAAAAIFAAACBQAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIFAQACAQAAAgEAAAIFAQACBQEAAgAAAAIFAQACAQAAAgEAAAIBAAACAQAAAgEAAAIFAQACAQUAAgEAAAIFAQACBQEAAgEAAAIBBQACAQUAAgEAAAIBAAACAQAAAgEAAAIFAQACAQUAAgEFAAIFAQACBQEAAgEAAAIBBQACAQUAAgEAAAIBAAACAQAAAgEAAAUCAQACAQUAAgEFAAIFAQYCBQEGAgEAAAIFAQABAAAAAQAAAAEAAAABBQACBQEKDwEABQ8FCgEPAAEPBQoPBQEBABQAAAEPFA8KFAUAARQADxQAAQ8UCgAAFAEAFA8AARQPAAAUAAEAFBUPAA8UCgAPChQAFAAAABQPAAAKBQ8ACg8FAA8KFAAAFAEPFA8AAAoPBQAFAQoAFA8AAAECBQAFCgAAFAAAABQVDwAFAQAAAQAAABQAAQAAFAEAFAAAABQAAAAAARQAAQAFAAEAFAABBQAAAQUAABQAAQ8UAAEPFAABDxQPAAALBQoGEA8VFBAPCgsGBQsACwoFEAoLEA8VFBAPFRQAAAYFAAAGBQAABQYLChUQDxQFAgEGBQIBBgUCBgEFBgIBBQYCAQUCAQYFAQIABQYCAAUBAgABBQAAFAABDxQADwEUAA8BABQBDwAUAQ8AARQAAAEUDwABFA8BABQAAQAUAAEAFAABAAAAAQAAAAEAAAAFBgAABQYAABQAAAAUAAEAFAABABQAAAAUAAAAFAAAABQAAQ8UAAEPFA8AABQPAAAUDwoADxQKAA8UCgAPChQFCg8FFAoFDwAKBQ8ABQoBAAUBCgAUAAEAABQBAAABFAAAARQFAQAFFAEFAAABBQAABQEKAAYHAAAGBwAACwwAAAsMAAALDAAACwwAAAsMAAALDAAACwwAABUWEAAVFhAAFRYQABUWEAAVFhAAFRYAABUWAAAVFgAAFRYAABUWAAAVFgAAFRYAABUWAAAVFgAAFRYAABUWAAAVFgAAFRYAABUWAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAFRYAABUWAAAFCgEABQoBAAUBAAoFAQAKAQAUBQEAFAUKDwUACg8FAA8KABQKDwAFBQoBAAoFAA8FAQAKFA8AChQPAAoBBQAKAQAFFBQADwEBAAUUABQBAAABFAUUAAEPAQAUBRQAAQ8PFAAKCgUPAAAUAQ8FAQAKBQEACgUKAQAFCgEACgUPAAoFDwABAAUAAQAFAA8UCgAPFAoADwoUAA8KFAAKDwUACg8FABQPAAoUDwAKAQAUBQEAFAUAARQFAAEUBQoFDwEKBQ8BABQBAAAUAQAUAAEPFAABDxQAAQ8UAAEPAQAFFAEABRQUAA8AFAAPABQPAAAUDwAAAQUACgEFAAoFAQoABQEKAAUBCgAPFAAKDxQKAA8UCgAHCAYABwgGAAcAAAAHAAAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAHCAYABwgGAAYHAAAGBwAABgcAAAcIBgAHCAYACAAAAAgHAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAHAAAABgcAAAYHAAAIAAAABwgGAAYHAAAGBwAACAcAAAgHAAAIAAAACAcAAAgAAAAIAAAACAAAAAgAAAAIBwAACAAAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAHBgAABwYAAAcGAAAHBgAABwYAAAcGCAAHBgAABwYAAAcGAAAHBgAABwYAAAcIAAAIBwAACAcAAAcIAAAIBwAACAcAAAgHAAAIBwAABwgAAAgHAAAHBggABwYIAAcGCAAHBgAABwYIAAcGAAAHBgAABwYAAAcGAAAHBgAABwYAAAcAAAAHBgAABwYAAAcGAAAHBgAABwYAAAcGAAAHBgAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAIAAAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAABwgGAAYHAAAGBwAACAAAAAgAAAAIAAAACAAAAAgHAAAHBggABwYIAAgHAAAHBgAABwgAAAcIAAAIAAAABwgAAAcIAAAHBgAACAAAAAgAAAAIAAAACAAAAAgHAAAHBgAACAcAAAcGCAAGBwAABgcAAAcIBgAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAADA0LAAwNAAAMAAAADA0AAAsMAAALDAAACwwAAAsMAAALDAAACwwAAAsMAAALDAAACwwAAAsMAAALDAAADA0LAAwNCwALDAAACwwAAAsMAAAMDQsADA0LAA0AAAANDAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADAAAAAsMAAALDAAADQAAAAwNCwALDAAACwwAAA0MAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQwAAA0AAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADAsAAAwLAAAMCwAADAsAAAwLAAAMCwAADAsAAAwLAAAMCwAADAsAAAwLAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADAsNAAwLDQAMCw0ADAsAAAwLDQAMAAAADAsAAAwLAAAMCwAADAsAAAwAAAAMAAAADAsNAAwLDQAMCwAADAsAAAwLAAAMCwAADAsAAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAAwNAAAMDQAADA0AAAwNAAANDAAADQwAAA0MAAANDAAADA0AAA0MAAANDAAADA0AAA0MAAANDAAADQAAAA0AAAANAAAADQwAAA0AAAANAAAADQAAAA0MAAANDAAADQwAAAwNCwALDAAACwwAAA0AAAANAAAADQAAAA0AAAANDAAADAsAAAwLDQANDAAADAsAAAwNAAANDAAADQAAAA0MAAAMDQAADAsAAA0AAAANAAAADQAAAA0AAAANDAAADAsAAA0MAAAMCw0ACwwAAAsMAAAMDQsADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAABESEAAREhAAEQAAABESAAAREhAAERIQABESEAAREhAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAARAAAAEgAAABESEAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASEQAAEhEAABIAAAASAAAAEgAAABIAAAASEQAAEhEAABARAAAQEQAAEBEAABARAAAQEQAAEBEAABARAAAQEQAAEBEAABEQAAAREAAAERAAABEQAAAREAAAERAAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAAREBIAERASABEQEgAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAERAAABEQAAAREBIAERASABARAAAQEQAAEBEAABARAAAQEQAAEBEAABARAAAQEQAAEBEAABESAAASEQAAEhEAABIRAAAREgAAEhEAABIRAAAREgAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABESEAASAAAAEgAAABIAAAASAAAAEgAAABEQAAAREBIAEhEAABARAAAQEQAAERIAABIRAAASAAAAEhEAABIRAAAQEQAAEBEAABIAAAASAAAAEgAAABIAAAASEQAAERAAABIAAAAREBIAERIQABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAAWFxUAFhcVABYXAAAWAAAAFRYAABUWAAAVFgAAFRYAABUWAAAVFgAAFhcVABYXFQAVFgAAFhcVABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABYAAAAVFgAAFwAAABYXFQAVFgAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFRYAABYVFwAWFQAAFhUAABYVFwAWFQAAFhUXABYVFwAWFRcAFhcAABcWAAAXFgAAFhcAABcWAAAXFgAAFxYAABYXAAAXFgAAFhUXABYVFwAWFRcAFhUAABYVFwAWFQAAFhUAABYVAAAWFQAAFhUXABYVAAAWFQAAFhUXABUWAAAVFgAAFRYAABUWAAAVFgAAFRYAABUWAAAVFgAAFRYAABYVFwAWFQAAFhUAABYVAAAVFgAAFRYAABUWAAAVFgAAFRYAABUWAAAVFgAAFRYAABUWAAAWFwAAFhcAABYXAAAWFwAAFhcVABYXAAAWFwAAFhcAABYXAAAWFwAAFhcAABcWAAAWFwAAFxYAABYXAAAWFwAAFhcAABYXAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFxYAABcWAAAWFxUAFRYAABcAAAAXAAAAFwAAABcWAAAWFRcAFhUXABcWAAAVFgAAFRYAABYVFwAWFxUAFxYAABcAAAAXFgAAFhcVABYVFwAVFgAAFRYAABcAAAAXAAAAFwAAABcWAAAWFRcAFxYAABYVFwAVFgAAFhcVABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAACAwAAAwAAAAIDAAADAgAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMCAAADAAAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMAAAADAAAAAwAAAAMCAAADAAAAAwAAAAMCAAADAgAAAwIAAAMCAAACAwAAAwAAAAMAAAADAAAAAwAAAAMCAAACAAAAAgAAAAMCAAADAgAAAwIAAAMAAAADAgAAAwIAAAMAAAADAAAAAwAAAAMAAAADAgAAAwIAAAIAAAACAAAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAAHCAYABwgAAAYHAAAGBwAABgcAAAYHAAAIAAAACAAAAAgAAAAIAAAACAcAAAgHAAAHBgAABwYAAAgHAAAHCAAACAcAAAcGAAAHBgAACAcAAAcGAAAHBgAABwgAAAcIAAAHCAAABwgAAAgHAAAIBwAACAAAAAgAAAAIAAAACAcAAAgHAAAMDQAADA0AAAsMAAALDAAACwwAAAsMAAANAAAADQAAAA0AAAANAAAADQAAAA0MAAAMCwAADAsAAA0MAAANDAAADQwAAAwAAAAMCw0ADQwAAAwLAAAMCwAADA0AAAwNAAANDAAADQwAAA0AAAANDAAADQAAAA0AAAANAAAADQwAAA0MAAAREhAAERIAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABEQAAAREAAAEhEAABIRAAASEQAAERAAABEQAAASAAAAEBEAABARAAAQEQAAEBEAABESAAAREgAAEhEAABIRAAASAAAAEgAAABIAAAASAAAAEgAAABIRAAASEQAAFhcAABYXFQAVFgAAFRYAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABYVAAAWFQAAFxYAABcWAAAXFgAAFhUAABYVAAAXFgAAFhUAABUWAAAVFgAAFRYAABUWAAAVFgAAFhcAABYXAAAWFwAAFhcAABcAAAAXFgAAFwAAABcAAAAXAAAAFxYAABcWAAAHCAYABgcAAAYHAAAIAAAACAAAAAgAAAAHCAYABgcAAAYHAAAIAAAACAcAAAcGAAAHBggACAcAAAcGAAAHCAAABwgAAAgAAAAIAAAACAcAAAcIAAAHBgAABwgAAAgAAAAIAAAACAAAAAgHAAAIBwAABwYIAAcGAAAIAAAACAAAAAgAAAAIBwAACAcAAAwNCwALDAAACwwAAA0AAAANAAAADQAAAAwNCwALDAAACwwAAA0AAAANDAAADAsAAAwLDQANDAAADAsAAAwNAAANDAAADQAAAA0AAAANAAAADQwAAAwLAAAMDQAADQAAAA0AAAANAAAADQwAAA0MAAAMCw0ADAsAAA0AAAANAAAADQAAAA0MAAANDAAAERIQABIAAAASAAAAEgAAABESEAASAAAAEhEAABEQAAAREBIAEhEAABARAAAQEQAAEhEAABIRAAASAAAAEgAAABIAAAASEQAAEBEAABARAAASEQAAEgAAABIAAAASAAAAEhEAABIAAAAREBIAERAAABIAAAASAAAAEgAAABIRAAASEQAAFhcVABUWAAAXAAAAFwAAABYXFQAVFgAAFwAAABcWAAAWFRcAFhUXABcWAAAVFgAAFRYAABYVFwAWFxUAFxYAABcAAAAXAAAAFwAAABcWAAAWFRcAFRYAABUWAAAWFxUAFwAAABcAAAAXFgAAFxYAABYVFwAWFRcAFwAAABcAAAAXAAAAFxYAABcWAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAgAAAAIAAAADQAAAA0AAAASAAAAEgAAABcAAAAXAAAACAAAAAgAAAANAAAADQAAABIAAAASAAAAFwAAABcAAAADAAAADQAAAAgAAAAXAAAAEgAAABIAAAASAAAACAAAABcAAAANAAAADQAAAAgAAAAXAAAADQAAAA0AAAAIAAAAEgAAABIAAAAXAAAACAAAABcAAAAIAAAAFwAAABcAAAASAAAADQAAABIAAAANAAAACAAAAAgAAAAXAAAACAAAABIAAAASAAAADQAAAA0AAAAIAAAAFwAAABcAAAAIAAAACAAAAA0AAAAXAAAAFwAAABIAAAASAAAACAAAAAgAAAANAAAADQAAABIAAAADAAAAAwAAAAMAAAANAAAA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AACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAIsBGgAGAIsBBgCFAY8BrQAFAI8BBQCEAZABrAAHAJABBwCGASAAJgAZACAAGQCgAioAzABmCCoAZgg2CJEBigEXAJEBFwDJACIAHgADACIAAwAQAIgBhgEHAIgBBwAOAIkBgwECAIkBAgAWACUAIwAWACUAFgACACsAJwBVCCsAVQguACUAsACrACUAqwABAIQBBQAaAIQBGgCLAbAAIACgArAAoAKrACcAKgA2CCcANghVCI4BjAEdAI4BHQAsABsABAAfABsAHwAmAMkAFwAkAMkAJADMAAEACgAjAAEAIwAlACsALgBNCCsATQjNAK4ACQAgAK4AIACwAK8AAwAeAK8AHgCxAAkAGwAmAAkAJgAgACwAHQAnACwAJwArAM0ATQgRAM0AEQAhAIwBjQEpAIwBKQAdAB0AKQAqAB0AKgAnALEAHgBUCLEAVAhICJIBjgEsAJIBLADLAMsALAArAMsAKwDNAJQBQgA0AJQBNAC6AZoBtQAzAJoBMwC7AZkBtAA1AJkBNQC5AUgATgBBAEgAQQBYCDkIpgJMADkITABNAKABlQE+AKABPgDRAEoARgAxAEoAMQA7AJgBuQE1AJgBNQA5AJYBvAEwAJYBMAA/AE0ATAA/AE0APwAwAE8AVABQAE8AUAA6CFoIpAJGAFoIRgBKALsBMwBCALsBQgCUAbgASABYCLgAWAhKCNUAaAhZCNUAWQhJAJsBkwFFAJsBRQBWAEMAMgBHAEMARwBOANEAPgBLANEASwDUAFQA1ADOAFQAzgBQALkARgCkArkApAKzALYANwBIALYASAC4ALcAMQBGALcARgC5ADcAQwBOADcATgBIAFYARQBPAFYATwBVAFUATwA6CFUAOghYAJMBnAFTAJMBUwBFAEUAUwBUAEUAVABPAE0AuABKCE0ASgg5CJ8BmwFWAJ8BVgDTANMAVgBVANMAVQDVAEMIPgh3AEMIdwCBAIEA2gBqCIEAaghDCK8BagBeAK8BXgCxAasBuwBdAKsBXQCoAawBugBfAKwBXwCyAYIATwjbAIIA2wCEAKEBpQFoAKEBaADXAHIAbgBbAHIAWwBlAKQBsgFfAKQBXwBjAH4ATAi/AH4AvwBuAKYBpwFaAKYBWgBpAHUAdABpAHUAaQBaAEAIagjaAEAI2gBzAKgBXQBqAKgBagCvAXAAdgB5AHAAeQBfCKoBsAFtAKoBbQCFAGsAXABvAGsAbwB2ANcAaABzANcAcwDaALwAYQBwALwAcAC+AL0AWwBuAL0AbgC/AGEAawB2AGEAdgBwAIUAbQB3AIUAdwCEAHYAbwA9CHYAPQh5AEEIdAB1AEEIdQBdCL8ATAg9CL8APQhvAH4AbgByAH4AcgB8AHEA2wBPCHEATwh7ALABqQGAALABgABtAG0AgACBAG0AgQB3AHcAPgiCAHcAggCEAHUAvgDBAHUAwQBdCKIBqgGFAKIBhQDZANkAhQCEANkAhADbALYBlQCLALYBiwCeAbgBwwCKALgBigCtAbcBwgCMALcBjACdAbQBvgGTALQBkwDdAJwAmQCIAJwAiACQAL0BnQGMAL0BjACPAL8BrgGHAL8BhwCUAJ8AngCUAJ8AlACHAK0BigCVAK0BlQC2AcABtQGYAMABmACmAJYAiQCaAJYAmgCgAN0AkwCdAN0AnQDgALcCsQKZALcCmQCcAKwCqQKeAKwCngCfAMQAjgCbAMQAmwDGAMUAiACZAMUAmQDHAI4AlgCgAI4AoACbAKYAmAChAKYAoQClAJsAoACuApsArgK2AsYAmwC2AsYAtgLMAuAAnQCoAuAAqAJsCKAAmgC0AqAAtAKuAscAmQCxAscAsQJlCKUAoQCvAqUArwJgCLUBwQGjALUBowCYAJgAowCkAJgApAChAKEApAC5AqEAuQKvAuEApQBgCOEAYAhRCLMBwAGmALMBpgDfAN8ApgClAN8ApQDhAIMBCACtAIMBrQCPAYUBBgCsAIUBrACQAR8AsQBICB8ASAg1CAIArgCwAAIAsAAlAAQArwCxAAQAsQAfALwBNgC1ALwBtQCaAboBNAC0ALoBtACZAUcAuQCzAEcAswCiAiYAHwA1CCYANQgZADAAtgC4ADAAuABNADIAtwC5ADIAuQBHAKcBYAC7AKcBuwCrAbEBXgC6ALEBugCsAVoAvAC+AFoAvgB1AFwAvQC/AFwAvwBvAK4BjQDDAK4BwwC4AZ4BiwDCAJ4BwgC3AYcAxADGAIcAxgCfAIkAxQDHAIkAxwCaAJ8AxgDMAp8AzAKsApoAxwBlCJoAZQi0AhIAVAgeABIAHgAiAI0BkQHJAI0ByQApACkAyQDMACkAzAAqAMwAJAALAMwACwBmCIcBkgHLAIcBywAPAA8AywDNAA8AzQAhAFUAWABoCFUAaAjVAJwBoAHRAJwB0QBTAFMA0QDUAFMA1ABUANQASwClAtQApQLOAJcBnwHTAJcB0wA6ADoA0wDVADoA1QBJAKkBoQHXAKkB1wCAAIAA1wDaAIAA2gCBAKMBogHZAKMB2QBkAGQA2QDbAGQA2wBxAMEBtAHdAMEB3QCjAKMA3QDgAKMA4ACkAKQA4ABsCKQAbAi5ApwA4QBRCJwAUQi3Ar0BswHfAL0B3wCQAJAA3wDhAJAA4QCcAGoA8wDyAGoA8gBeAFcA8ADuAFcA7gBEAPsAlQCKAPsAigD3AAIB3gCPAAIBjwD6AK0A/wDiAK0A4gAFAAEByAAoAAEBKADpAJUA+wD4AJUA+ACLAAABwgCLAAABiwD4AKcA/gD8AKcA/ACXAN4AAgH+AN4A/gCnAIYA9gD0AIYA9ABsAP8ArQAIAP8ACADkAO8AUgBEAO8ARADuAO0AQgAzAO0AMwDrAOkAKAAcAOkAHADoAP0AogCXAP0AlwD8AMgAAQHmAMgA5gAVAPUAfwBsAPUAbAD0AEIA7QDsAEIA7AA0AOcAGgAFAOcABQDiAOQACAAUAOQAFADlAPoAjwCMAPoAjAD5AMIAAAH5AMIA+QCMAC0A6gDoAC0A6AAcAPMAagBdAPMAXQDxABoA5wDjABoA4wAGAGAC9QD0AGAC9ABfAmMCDwENAWMCDQFiAmQC/QD8AGQC/ABlAhgBUQE9ARgBPQEaAV4C7wDuAF4C7gBiAmkCFQETAWkCEwFfAmgCCQEHAWgCBwFhAiMBCQEOASMBDgEmARUBGwE+AhUBPgIeAboAXgDyALoA8gCCASMBIgEHASMBBwEJASMBMwEwASMBMAEiAQ8BJwElAQ8BJQENAS8BHAEFAS8BBQEfASYBDgENASYBDQElAUIB8QBdAEIBXQC7ADkBNwFdATkBXQEeATUBJgElATUBJQE0AR4BXQETAR4BEwEVAScBNgE0AScBNAElAVIBPgE6AVIBOgFPAX0BRQFWAX0BVgF3AT4BUgFQAT4BUAE7AXcBVgFgAXcBYAFhAVgBYgFhAVgBYQFgAYcCQgJuAYcCbgGEAkcBeAFiAUcBYgFYAUICSgJpAUICaQFuAUUBfQF2AUUBdgFXAUMCegGAAUMCgAFMAkQCcQFkAUQCZAFIAkUCeQFyAUUCcgFAAkwCgAFDAUwCQwFJAnYBgQEtAXYBLQF8AbQANADsALQA7ABwAUgCZAFnAUgCZwFAAj8CfwF5AT8CeQFFAkQCLgF6AUQCegFDAl4BdwFhAV4BYQEsAXwBLQEgAXwBIAF+Ae0B7AE6Ae0BOgE+AVcBdgF8AVcBfAFGAToB7AFVAToBVQF4ARsAiwGFARsAhQEEAK4AjwGEAa4AhAEJAK8AkAGGAa8AhgEDAMgAFQCKAcgAigGRARAAAwCGARAAhgGIARQACACDARQAgwGJAQkAhAGLAQkAiwEbAC0AHACMAS0AjAGOARwAKACNARwAjQGMAcoALQCOAcoAjgGSAQIAgwGPAQIAjwGuAAQAhQGQAQQAkAGvACgAyACRASgAkQGNAQ0AygCSAQ0AkgGHAdIAVwCbAdIAmwGfAbYAmgG7AbYAuwE3ALcAmQG5AbcAuQExADsAMQC5ATsAuQGYAWUAWwCyAWUAsgGkAdAAPACVAdAAlQGgAdgAhgCqAdgAqgGiAWwAfwCpAWwAqQGwAVcARACTAVcAkwGbAWEAqAGvAWEArwFrAFIA0ACgAVIAoAGcATIAugGZATIAmQG3AL0ArAGyAb0AsgFbADAAvAGaATAAmgG2ALwAqwGoAbwAqAFhADgA0gCfATgAnwGXAUQAUgCcAUQAnAGTAZcAogDBAZcAwQG1ATcAuwGUATcAlAFDAD0ANgC8AT0AvAGWAX8A1gChAX8AoQGpAUMAlAG6AUMAugEyAGIA2ACiAWIAogGjAacAlwC1AacAtQHAAdYAZgClAdYApQGhAZYAtgGeAZYAngGJANwAkQC+AdwAvgG0AcQAuAGtAcQArQGOAFwAsQGsAVwArAG9AGcAYACnAWcApwGmAWsArwGxAWsAsQFcAFoApwGrAVoAqwG8AIYAbACwAYYAsAGqAYkAngG3AYkAtwHFAI4ArQG2AY4AtgGWAKIA3AC0AaIAtAHBAd4ApwDAAd4AwAGzAYcArgG4AYcAuAHEAI8A3gCzAY8AswG9AZIAjQCuAZIArgG/AcUAtwGdAcUAnQGIAJAAiACdAZAAnQG9AXgBVQHqAXgB6gFiAX0BJAGBAX0BgQF2ARwBLwF+ARwBfgEgASQBfQF3ASQBdwFeARIBEAEsARIBLAHqAQwBCgGBAQwBgQEkAWIB6gEsAWIBLAFhARkBFwH4ABkB+AD7AOgB6wAzAOgBMwC1AKwABgDjAKwA4wDpAbUANgAHALUABwCsAKwA6QHoAawA6AG1APsA9wAWAfsAFgEZAewBFgH3AOwB9wDrAbsAYAA1ALsANQC0AOoBVQERAeoBEQESAbQAcAFCAbQAQgG7AFUB7AHrAVUB6wGCAe0BHQEXAe0BFwEZAT4BOwEdAT4BHQHtAesB9wCKAOsBigDDALoAggHrAboA6wHDAMMAjQBfAMMAXwC6ABkBFgHsARkB7AHtASgBXQE3ASgBNwE4AZUClgLFAZUCxQHOApQClQLOApQCzgLNAfkB8QG+AvkBvgJiCPUBxQJGCPUBRgj2AfoB7wG7AvoBuwLKAvAB8wHCAvABwgK9AvcBxwKpAPcBqQD0AfkBYgi7AvkBuwLvAfQBqQDFAvQBxQL1AfIBwQLCAvIBwgLzAfYBRgjBAvYBwQLyAQEC9QH2AQEC9gECAgAC9AH1AQAC9QEBAgIC9gHyAQIC8gH+Af4B8gHzAf4B8wH/AfkBBQL9AfkB/QHxAQMC9wH0AQMC9AEAAvAB/AH/AfAB/wHzAQUC+QHvAQUC7wH7AfoBBgL7AfoB+wHvAQYC+gH4AQYC+AEEAhECBQL7AREC+wEHAgYCEgIHAgYCBwL7ARICBgIEAhICBAIQAg0CAQICAg0CAgIOAgwCAAIBAgwCAQINAg4CAgL+AQ4C/gEKAgoC/gH/AQoC/wELAgUCEQIJAgUCCQL9AQ8CAwIAAg8CAAIMAvwBCAILAvwBCwL/ARECHQIVAhECFQIJAhsCDwIMAhsCDAIYAggCFAIXAggCFwILAh0CEQIHAh0CBwITAhICHgITAhICEwIHAh4CEgIQAh4CEAIcAhkCDQIOAhkCDgIaAhgCDAINAhgCDQIZAhoCDgIKAhoCCgIWAhYCCgILAhYCCwIXAiYCGgIWAiYCFgIiAiICFgIXAiICFwIjAh0CKQIhAh0CIQIVAicCGwIYAicCGAIkAhQCIAIjAhQCIwIXAikCHQITAikCEwIfAh4CKgIfAh4CHwITAioCHgIcAioCHAIoAiUCGQIaAiUCGgImAiQCGAIZAiQCGQIlAisBKgEiAisBIgIjAj8BKwEjAj8BIwIgAk0BLwIuAk0BLgJMAUwBLgItAkwBLQJLAUoBLAIrAkoBKwJJAS8CMQIwAi8CMAIuAjECMwIyAjECMgIwAjMCNgI1AjMCNQIyAlkBcwJPAlkBTwJyAjYCOQI4AjYCOAI1AjkCPAI7AjkCOwI4AkcCbQF2AkcCdgI7AjEBRwI7AjEBOwI8Ag4ABwA2AA4ANgA9ADkANQBgADkAYABnAMoADQA8AMoAPADQANAAUgAtANAALQDKAFIA7wDqAFIA6gAtAGgC6gDvAGgC7wBeAjABMwFNATABTQFvAiYBNQEzASYBMwEjAUEBQAEhAkEBIQIpAtIAOABmANIAZgDWANYAfwBXANYAVwDSAGMAXwCNAGMAjQCSANgAYgCRANgAkQDcANwAogCGANwAhgDYAKIA/QD2AKIA9gCGAGkC9gD9AGkC/QBkAigBJwEPASgBDwEUATgBNgEnATgBJwEoAV0BKAEUAV0BFAETAWACFAEPAWACDwFjAvAAVwB/APAAfwD1ABsBGgE9ARsBPQE+Aj8CYwFpAT8CaQFKAngBRwFPAXgBTwE6ASABLQEEASABBAEGASABBgEDASABAwEcASQBXgELASQBCwEMATsBUQEYATsBGAEdAVMBQQEpAlMBKQIfAlwBWwFKAlwBSgJCAmUBQwJMAmUBTAJfAX8BPwJKAn8BSgJbAWMBPwJFAmMBRQJmAV8BTAJJAl8BSQJoAS4BRAJIAi4BSAJ7AWYBRQJAAmYBQAJnAXEBRAJDAnEBQwJlAXsBSAJAAnsBQAJyAT0BPAFOAj0BTgI+AjgCOwJ2AjgCdgJ4Ah4BPgJOAh4BTgI5ATUCOAJ4AjUCeAJ7AlQBUwEfAlQBHwIqAioCKAJrAioCawJUATIBagInAjIBJwIkAm8BMgEkAm8BJAIlAiUCJgJLAiUCSwJvAUkCcgJPAkkCTwJoAUECawF0AUECdAFNAk0CKQF1AU0CdQFBAlABRAFRAVABUQE7AUgB4AFzAkgBcwJZAZQCkwLkAZQC5AHlAZMCkgLjAZMC4wHkAZICkQLiAZIC4gHjAZECkALmAZEC5gHiAZACjwLuAZAC7gHmAY8CjgLnAY8C5wHuAY4CjQJdAo4CXQLnAWUBXwHeAWUB3gHlAXEBZQHlAXEB5QHkAeQB4wFkAeQBZAFxAeMB4gFnAeMBZwFkAWYBZwHiAWYB4gHmAWMBZgHmAWMB5gHuAe4B5wFpAe4BaQFjAYwCjQLXAYwC1wHcAYsCjALcAYsC3AFbAm4BaQHnAW4B5wFdAhEBVQGCAREBggHyABQBYAJfAhQBXwITAQgBAQFhAggBYQIHARIBEQHyABIB8gDzAPMA8QAQAfMAEAESAfAAYwJiAvAAYgLuACwBEAHxACwB8QBCARsBZAJlAhsBZQIaAQEB6QDoAAEB6ABhAkIBcAFeAUIBXgEsAQsBXgFwAQsBcAHsAAwBCwHsAAwB7ADtAO0A6wAKAe0ACgEMAQ4BXgJiAg4BYgINAfYAaQJfAvYAXwL0AAIB+gAaAQIBGgFlAoEBCgHrAIEB6wDoAeoAaAJhAuoAYQLoAOgB6QEtAegBLQGBAQQBLQHpAQQB6QHjAAYBBAHjAAYB4wDnAAIBZQL8AAIB/AD+AOcA4gADAecAAwEGARwBAwHiABwB4gD/AP8A5AAFAf8ABQEcAR8BBQFmAh8BZgKCAggBIQGDAggBgwJnAvoA+QAYAfoAGAEaAR0BGAH5AB0B+QAAAQAB+AAXAQABFwEdAeQA5QBmAuQAZgIFAQkBaAJeAgkBXgIOARUBaQJkAhUBZAIbAfUAYAJjAvUAYwLwACYCIgIqASYCKgFLAmwCbQJqAmwCagIyAVoBbAIyAVoBMgFvAX4BTgFGAX4BRgF8AXICSQJDAXICQwFwAoQCbgFdAoQCXQKIAlkBWgFvAVkBbwFLAoQCiAJUAoQCVAJrAXECTgF+AXECfgEvAU4BcQJwAk4BcAJDAXACcQJsAnACbAJaAS8BHwFsAi8BbAJxAkYBTgFDAUYBQwGAAVcBRgGAAVcBgAF6AUcCMQEpAUcCKQFNAk0CdAFtAU0CbQFHAj0CagFTAj0CUwJRAjoCPQJRAjoCUQJSAjcCOgJSAjcCUgJVAjQCNwJVAjQCVQJXAlACNAJXAlACVwJWAuABUAJWAuABVgJZAnMC4AFZAnMCWQJYAk8CcwJYAk8CWALfAT0CdAJzAT0CcwFqASsC4AFIASsCSAFJAToCRgJ0AjoCdAI9AnMBdAJ1AnMBdQJsATICNQJ7AjICewJ+An4CgQIwAn4CMAIyAncCdQJ0AncCdAJGAkYCeQJ6AkYCegJ3AnkCfAJ9AnkCfQJ6AnwCfwKAAnwCgAJ9AjcCeQJGAjcCRgI6AnwCeQI3AnwCNwI0AjQCUAJ/AjQCfwJ8AjACgQItAjACLQIuAoACfwIrAoACKwIsAisCfwJQAisCUALgAVEBRAE8AVEBPAE9AUUBVwF6AUUBegEuAS4BewFWAS4BVgFFAXsBcgFgAXsBYAFWAVgBYAFyAVgBcgF5AUcBWAF5AUcBeQF/AU8BRwF/AU8BfwFbAVIBTwFbAVIBWwFcATwBRAF1ATwBdQEpASkBMQFOAikBTgI8ATkBTgIxATkBMQE8AjwCOQI3ATwCNwE5ATgBNwE5AjgBOQI2AjYCMwI2ATYCNgE4ATMCMQI0ATMCNAE2ATUBNAExAjUBMQIvAi8CTQEzAS8CMwE1AQgBZwLmAAgB5gABASIBMAGDAiIBgwIhAQgBBwEiAQgBIgEhAR8BggJtAh8BbQJsAkEChwKEAkEChAJrAWgBTwLfAWgB3wHhAV8BaAHhAV8B4QHeAUQBUAGJAkQBiQJ1AUECdQGJAkECiQKHAlwBiQJQAVwBUAFSAYcCiQJcAYcCXAFCAloBWQFyAloBcgJwAlQBawJuAlQBbgJvAm8CTQFTAW8CUwFUAU0BTAFBAU0BQQFTAUwBSwFAAUwBQAFBAUoBSQErAUoBKwE/AUkBSAEqAUkBKgErAUgBWQFLAkgBSwIqAZ4CnQLGAZ4CxgHQAp0CnALIAZ0CyAHGAZwCmwLKAZwCygHIAZoCmwJWApoCVgJXApkCmgJXApkCVwJVApgCmQJVApgCVQJSApcCmAJSApcCUgJRApcCigJaApcCWgKFApYCngLQApYC0ALFAVQCiAKMAlQCjAKLAs0BwwGTAs0BkwKUAtoB0QKaAtoBmgKZAuUB3gGVAuUBlQKUAlkCVgKbAlkCmwKcAt4B4QGWAt4BlgKVAtUB1wGNAtUBjQKOAuEB3wGeAuEBngKWAtMB0QGQAtMBkAKRAs8B1QGOAs8BjgKPAlgCWQKcAlgCnAKdAoUC2AGYAoUCmAKXAtQC0wGRAtQCkQKSAtEBzwGPAtEBjwKQAlECUwKKAlECigKXAtECygGbAtECmwKaAsMB1AKSAsMBkgKTAogCXQKNAogCjQKMAtgB2gGZAtgBmQKYAt8BWAKdAt8BnQKeAoMCMAFvAoMCbwJuAk4ARwCiAk4AogJBAHAAXwjBAHAAwQC+ANsC2gLnAtoCDwPnAuEC4ALnAtwC5wLZAt4C2wLnAuUC1QLnAtUC1gLnAtYC5gLnAuYC2ALnAtgC1wLnAucC1wIMA+cC4wLhAt0C5wLcAt8C5wLdAuMC5wLfAuAC4gLnAuIC5ALnAuQC3gLnAgQD7gLJAQQDyQHLAfUC8wLSAfUC0gHTAv0C7QLCAf0CwgHMAf4C+gLbAf4C2wHZAesC/QLMAesCzAHNAu0C9QLTAu0C0wLCAQAD/gLZAQAD2QGGAg4D6wLNAg4DzQLEAQYDAgNcAgYDXALdAfgCBAPLAfgCywHSAvcCCQPWAfcC1gHUAQIDAAOGAgIDhgJcAu4CCgPHAe4CxwHJAfoC+ALSAvoC0gLbAQoD6QLPAgoDzwLHARED9wLUARED1AHOAQkDBgPdAQkD3QHWAfMC8QLQAfMC0AHSAdUC5QLwAtUC8ALyAtsC3gIHA9sCBwMIAw8D2gL2Ag8D9gIQA9wC2QLoAtwC6AILA+EC4wL5AuEC+QL7At0C3AILA90CCwPvAuQC4gIBA+QCAQMDA9oC2wIIA9oCCAP2AuMC3wIFA+MCBQP5At4C5AIDA94CAwMHAwwD1wLqAgwD6gINA+IC4AL/AuIC/wIBA+YC1gL0AuYC9ALsAtcC2AL8AtcC/ALqAuAC4QL7AuAC+wL/AtgC5gLsAtgC7AL8AtYC1QLyAtYC8gL0At8C3QLvAt8C7wIFA9kCDAMNA9kCDQPoAukCDgPEAekCxAHPAucCDAPZAuUCDwMQA+UCEAPwAvECEQPOAfECzgHQAQ8D5QLnAmQIsgKrBWQIqwUWB8sCtQKuBcsCrgUUB1IIYQjgBVII4AWgB7oCbQiWB7oClgfXBa0CswKsBa0CrAWhBbgCUgigB7gCoAexBWEIsAKkBWEIpAXgBaoCqwKfBaoCnwWeBbUCrQKhBbUCoQWuBbACugLXBbAC1wWkBW0IqgKeBW0IngWWB7MCZAgWB7MCFgesBasCywIUB6sCFAefBbICuAKxBbICsQWrBbQGpAYXA7QGFwN+A7MGogYbA7MGGwNbA1cDPgMZA1cDGQNaA7UGnwYVA7UGFQN/A7YGoAYTA7YGEwOAA4MDPAMUA4MDFAOGAy8HbgMiAy8HIgMjB4EDgAMTA4EDEwMmA1gDWwMbA1gDGwMkA20DcAMSA20DEgMhA7IGuQaWA7IGlgNTA04DmgObA04DmwNWAywHNgeVAywHlQNKA60GugacA60GnANVA1MDlgOaA1MDmgNOA6oGpQYoA6oGKANEAzUDKgMoAzUDKAM7A0cDLQMsA0cDLANFAygHNQcrAygHKwM2A6kGpgYwA6kGMANGA7IDugMvA7IDLwMzA0sDMQMpA0sDKQNDA0YDMAMxA0YDMQNLAzADOQM0AzADNAMxAzEDNAM/AzEDPwMpA34DFwM+A34DPgNXA38DFQM8A38DPAODA7YDbANAA7YDQAO5A7oDsANMA7oDTAMvA6YGqAY5A6YGOQMwAzUHLAdKAzUHSgMrAy0DNwM6Ay0DOgMsAyoDSQNEAyoDRAMoA6UGpwY7A6UGOwMoA68DtQNNA68DTQOTA5QDTwNVA5QDVQOcA7kGqQZGA7kGRgOWAzYHLQdQAzYHUAOVA5YDRgNLA5YDSwOaA5cDRwNFA5cDRQOZA5oDSwNDA5oDQwObA7oGqgZEA7oGRAOcA74GsgZTA74GUwPMA80DTgNWA80DVgPLA9IDswNrA9IDawPKA3cDXQNxA3cDcQN2A8cDUQNUA8cDVAPJA7AGqwZzA7AGcwN1A0QHMAdpA0QHaQPPA5EDjwNjA5EDYwNoAzEHfANfAzEHXwMuB64DegNcA64DXAO0A6AGsAZ1A6AGdQMTA28DcgNdA28DXQN3A7EGrAZyA7EGcgNvA3gDdQNzA3gDcwNgA7QDXANsA7QDbAO2A3sDfQN0A3sDdANeA78GrQZVA78GVQPQA8wDUwNOA8wDTgPNA10DVwNaA10DWgNxA6wDjgNrA6wDawOzA58GsQZvA58GbwMVAzwDdwN2AzwDdgMUAyYDEwN1AyYDdQN4AzMHkgNpAzMHaQMwB84DaANjA84DYwPQA6sGswZbA6sGWwNzA14DdANwA14DcANtAy4HXwNuAy4HbgMvBxUDbwN3AxUDdwM8A7cDQQN6A7cDegOuAx8DHQN9Ax8DfQN7AyQHIAN8AyQHfAMxB6wGtAZ+A6wGfgNyA3IDfgNXA3IDVwNdA2ADcwNbA2ADWwNYA7cGtQZ/A7cGfwOJA7gGtgaAA7gGgAOKA40DgwOGA40DhgOQA4sDigOAA4sDgAOBA4kDfwODA4kDgwONAyEDEgOFAyEDhQOHA7kDQAOEA7kDhAOtAyMHIgOIAyMHiAMyB4cDhQOPA4cDjwORA60DhAOOA60DjgOsAzIHiAOSAzIHkgMzB68GtwaJA68GiQNiA64GuAaKA64GigNkA2oDjQOQA2oDkANlA2YDZAOKA2YDigOLA2IDiQONA2IDjQNqA1EDlwOZA1EDmQNUA7ADrwOTA7ADkwNMA0kDlAOcA0kDnANEA2wDpgOdA2wDnQNAA0wDkwOrA0wDqwOjAzMDLwOgAzMDoAOiAy8DTAOjAy8DowOgA5MDTQOkA5MDpAOrA8oDawOnA8oDpwPRA3oDqAOlA3oDpQNcA44DqgOnA44DpwNrA1wDpQOmA1wDpgNsA0EDngOoA0EDqAN6A0ADnQOpA0ADqQOEA4QDqQOqA4QDqgOOAzcHrAOzAzcHswM9ByYHPAewAyYHsAO6AyoHtwOuAyoHrgM4BykHuQOtAykHrQM5BzQHPge1AzQHtQOvAz8HtgO5Az8HuQMpB0AHtAO2A0AHtgM/BzwHNAevAzwHrwOwAzsHJge6AzsHugOyAzkHrQOsAzkHrAM3B0UHPQezA0UHswPSAzgHrgO0AzgHtANAB8QDsQMyA8QDMgO8AzkDvwO7AzkDuwM0A6EDwwO8A6EDvAMyA6gGuwa/A6gGvwM5A70DNQM7A70DOwPBAzcDvgPAAzcDwAM6AzoHQge+AzoHvgM3A6cGvAbBA6cGwQM7A0EHJwc1A0EHNQO9AzQDuwPCAzQDwgM/A0IHQwfGA0IHxgO+A0EHvQPGA0EHxgNDB70DwQPFA70DxQPGA8YDxQPAA8YDwAO+A70GuwO/A70GvwO7Br0GxQPBA70GwQO8Bq4GvgbMA64GzANlA2oDzQPLA2oDywNiA7UD0gPKA7UDygNNA2YDxwPJA2YDyQNkAy0HRAfPAy0HzwNQA68GvwbQA68G0ANjA2UDzAPNA2UDzQNqA08DzgPQA08D0ANVA00DygPRA00D0QOkAz4HRQfSAz4H0gO1A9UGxQbYA9UG2AM/BNQGwwbcA9QG3AMcBBgE/wPaAxgE2gMbBNYGwAbWA9YG1gNABNcGwQbUA9cG1ANBBEQE/QPVA0QE1QNHBFIHLgTiA1IH4gNGB0MEQQTUA0ME1APoAxoEHATcAxoE3APlAy8EMQTTAy8E0wPjA9MG2gZXBNMGVwQUBA8EWwRcBA8EXAQXBE8HWQdVBE8HVQQKBM4G2wZdBM4GXQQWBBQEVwRbBBQEWwQPBMsGxgbpA8sG6QMFBPcD7APpA/cD6QP8AwkE7wPtAwkE7QMGBEoHWAfrA0oH6wP2A8oGxwbxA8oG8QMHBHIEewTwA3IE8APzAwwE8gPqAwwE6gMEBAcE8QPyAwcE8gMMBPED+gP1A/ED9QPyA/ID9QMABPIDAATqAz8E2AP/Az8E/wMYBEAE1gP9A0AE/QNEBHcELQQBBHcEAQR6BHsEcQQNBHsEDQTwA8cGyQb6A8cG+gPxA1gHTwcKBFgHCgTrA+8D+QP7A+8D+wPtA+wDCwQFBOwDBQTpA8YGyAb8A8YG/APpA3AEdgQOBHAEDgRUBFYEEQQWBFYEFgRdBNoGygYHBNoGBwRXBFkHUAcQBFkHEARVBFcEBwQMBFcEDARbBFkECQQGBFkEBgRaBFsEDAQEBFsEBARcBNsGywYFBNsGBQRdBN8G0wYUBN8GFASNBI4EDwQXBI4EFwSMBJMEdAQsBJMELASLBDgEHgQyBDgEMgQ3BIkEEwQVBIkEFQSKBNEGzAY0BNEGNAQ2BGcHUwcpBGcHKQSPBFMEUAQkBFMEJAQqBFQHPAQfBFQHHwRRB28EOwQdBG8EHQR1BMEG0QY2BMEGNgTUAzAEMwQeBDAEHgQ4BNIGzQYzBNIGMwQwBDoENgQ0BDoENAQiBHUEHQQtBHUELQR3BD0EPgQ1BD0ENQQgBOAGzgYWBOAGFgSRBI0EFAQPBI0EDwSOBB4EGAQbBB4EGwQyBG0ETwQsBG0ELAR0BMAG0gYwBMAGMATWA/0DOAQ3BP0DNwTVA+gD1AM2BOgDNgQ6BFYHUgQpBFYHKQRTB5AEKgQkBJAEJASRBMwG1AYcBMwGHAQ0BCAENQQxBCAEMQQvBFEHHwQuBFEHLgRSB9YDMAQ4BNYDOAT9A3gEAgQ7BHgEOwRvBOAD3gM+BOADPgQ9BEcH3wM8BEcHPARUB80G1QY/BM0GPwQzBDMEPwQYBDMEGAQeBCIENAQcBCIEHAQaBNgG1gZABNgGQARKBNkG1wZBBNkGQQRLBE4ERARHBE4ERwRRBE0ESwRBBE0EQQRDBEoEQAREBEoERAROBOMD0wNGBOMDRgRJBHoEAQRFBHoERQRuBEYH4gNIBEYHSARVB0kERgRQBEkEUARTBG4ERQRPBG4ETwRtBFUHSARSBFUHUgRWB9AG2AZKBNAGSgQjBM8G2QZLBM8GSwQlBCsETgRRBCsEUQQmBCgEJQRLBCgESwRNBCMESgROBCMETgQrBBMEWQRaBBMEWgQVBHEEcARUBHEEVAQNBAsEVgRdBAsEXQQFBC0EZwReBC0EXgQBBA0EVARsBA0EbARkBPMD8ANhBPMDYQRiBPADDQRkBPADZARhBFQEDgRlBFQEZQRsBIsELARoBIsEaASSBDsEaQRmBDsEZgQdBE8EawRoBE8EaAQsBB0EZgRnBB0EZwQtBAIEXwRpBAIEaQQ7BAEEXgRqBAEEagRFBEUEagRrBEUEawRPBFoHbQR0BFoHdARgB0kHXwdxBEkHcQR7BE0HeARvBE0HbwRbB0wHegRuBEwHbgRcB1cHYQd2BFcHdgRwBGIHdwR6BGIHegRMB2MHdQR3BGMHdwRiB18HVwdwBF8HcARxBF0HSQd7BF0HewRyBFwHbgRtBFwHbQRaB2gHYAd0BGgHdASTBFsHbwR1BFsHdQRjB4UEcwT0A4UE9AN9BPoDgAR8BPoDfAT1A2MEhAR9BGMEfQT0A8kG3AaABMkGgAT6A34E9wP8A34E/AOCBPkDfwSBBPkDgQT7A14HZQd/BF4HfwT5A8gG3QaCBMgGggT8A2QHSwf3A2QH9wN+BPUDfASDBPUDgwQABGUHZgeHBGUHhwR/BGQHfgSHBGQHhwRmB34EggSGBH4EhgSHBIcEhgSBBIcEgQR/BN4GfASABN4GgATcBt4GhgSCBN4GggTdBs8G3waNBM8GjQQmBCsEjgSMBCsEjAQjBHYEkwSLBHYEiwQOBCgEiQSKBCgEigQlBFAHZwePBFAHjwQQBNAG4AaRBNAGkQQkBCYEjQSOBCYEjgQrBBEEkASRBBEEkQQWBA4EiwSSBA4EkgRlBGEHaAeTBGEHkwR2BPUG4QaXBPUGlwT3BPYG4gaVBPYGlQT4BPsEsASWBPsElgT+BHEH4QSYBHEHmARpB/oE+ASVBPoElQSbBOIE5ASUBOIElASZBPAG+QYOBfAGDgXDBL4EEgUTBb4EEwXGBG4HeQcMBW4HDAW5BOsG+gYUBesGFAXFBMMEDgUSBcMEEgW+BOgG4wacBOgGnAS0BKoEnwScBKoEnASvBLgEogSgBLgEoAS1BGsHeAeeBGsHngSpBOcG5AakBOcGpAS2BCkFMAWjBCkFowSmBLsEpQSdBLsEnQSzBLYEpASlBLYEpQS7BKQErQSoBKQEqASlBKUEqASxBKUEsQSdBPcElwSwBPcEsAT7BC4F4ASyBC4FsgQvBTAFKAW8BDAFvASjBOQG5gatBOQGrQSkBHgHbge5BHgHuQSeBKIErASuBKIErgSgBJ8EugS0BJ8EtAScBOMG5QavBOMGrwScBCcFLQW9BCcFvQQLBQ0FwATFBA0FxQQUBfkG5wa2BPkGtgQOBXkHbwe/BHkHvwQMBQ4FtgS7BA4FuwQSBRAFuAS1BBAFtQQRBRIFuwSzBBIFswQTBfoG6Aa0BPoGtAQUBf4G8AbDBP4GwwRCBUMFvgTGBEMFxgRBBUgFKwXfBEgF3wRABesE0QTlBOsE5QTqBD4FwgTEBD4FxAQ/Be4G6QbnBO4G5wTpBIgHcgfcBIgH3AREBQoFBwXXBAoF1wTdBHMH8ATSBHMH0gRwByUF7gTQBCUF0AQsBeIG7gbpBOIG6QSVBOME5gTRBOME0QTrBO8G6gbmBO8G5gTjBO0E6QTnBO0E5wTVBCwF0ATgBCwF4AQuBfEE9AToBPEE6ATTBP8G6wbFBP8GxQRGBUIFwwS+BEIFvgRDBdEEyATNBNEEzQTlBCMFBgXfBCMF3wQrBeEG7wbjBOEG4wSXBLAE6wTqBLAE6gSWBJsElQTpBJsE6QTtBHYHCQXcBHYH3ARyB0UF3QTXBEUF1wRGBekG8gbPBOkGzwTnBNME6ATkBNME5ATiBHAH0gThBHAH4QRxB5cE4wTrBJcE6wSwBOoG9Ab2BOoG9gTmBOYE9gTIBOYEyATRBNUE5wTPBNUEzwTLBPcG9Qb3BPcG9wQBBfgG9gb4BPgG+AQCBQUF+wT+BAUF/gQIBQQFAgX4BAQF+AT6BAEF9wT7BAEF+wQFBZkElAT9BJkE/QQABS8FsgT8BC8F/AQkBWkHmAT/BGkH/wR1BwAF/QQHBQAFBwUKBSQF/AQGBSQFBgUjBXUH/wQJBXUHCQV2B+0G9wYBBe0GAQXWBOwG+AYCBewGAgXYBN4EBQUIBd4ECAXZBNsE2AQCBdsEAgUEBdYEAQUFBdYEBQXeBMIEEAURBcIEEQXEBCgFJwULBSgFCwW8BLoEDQUUBboEFAW0BOAEHAUVBeAEFQWyBLwECwUiBbwEIgUZBaYEowQWBaYEFgUXBaMEvAQZBaMEGQUWBQsFvQQaBQsFGgUiBUAF3wQdBUAFHQVHBe4EHgUbBe4EGwXQBAYFIQUdBQYFHQXfBNAEGwUcBdAEHAXgBLIEFQUgBbIEIAX8BPwEIAUhBfwEIQUGBXoHIwUrBXoHKwWBB2oHgAcoBWoHKAUwBW0HLwUkBW0HJAV9B3cHggctBXcHLQUnBYMHLgUvBYMHLwVtB4QHLAUuBYQHLgWDB4AHdwcnBYAHJwUoBX4HagcwBX4HMAUpBX0HJAUjBX0HIwV6B4kHgQcrBYkHKwVIBXsHJQUsBXsHLAWEBzoFKgWnBDoFpwQyBa0ENQUxBa0EMQWoBBgFOQUyBRgFMgWnBOYG+wY1BeYGNQWtBDMFqgSvBDMFrwQ3BawENAU2BawENgWuBH8Hhgc0BX8HNAWsBOUG/AY3BeUGNwWvBIUHbAeqBIUHqgQzBagEMQU4BagEOAWxBIYHhwc8BYYHPAU0BYUHMwU8BYUHPAWHBzMFNwU7BTMFOwU8BTwFOwU2BTwFNgU0Bf0GMQU1Bf0GNQX7Bv0GOwU3Bf0GNwX8BuwG/gZCBewGQgXZBN4EQwVBBd4EQQXWBC0FSAVABS0FQAW9BNsEPgU/BdsEPwXYBG8HiAdEBW8HRAW/BO0G/wZGBe0GRgXXBNkEQgVDBdkEQwXeBMAERQVGBcAERgXFBL0EQAVHBb0ERwUaBYIHiQdIBYIHSAUtBRMHAwdNBRMHTQWpBRIHAgdPBRIHTwWABX0FZwVOBX0FTgV/BRgHAAdMBRgHTAWyBRkHAQdKBRkHSgWzBbUFZgVLBbUFSwW4BZMHkAVTBZMHUwWKB6IFrQVOBaIFTgVnBZUHnAVRBZUHUQWLB7QFswVKBbQFSgVWBX4FgAVPBX4FTwVVBZEFkwVJBZEFSQVUBRUHrwVNBRUHTQUDBxcHqgVPBRcHTwUCBxEHHAfHBREHxwV5BXUFygXLBXUFywV8BZAHnAfFBZAHxQVwBQwHHQfMBQwHzAV7BXkFxwXKBXkFygV1BQkHBAdXBQkHVwVsBWEFWQVXBWEFVwVlBW8FWwVaBW8FWgVtBY0HmwdZBY0HWQVhBQgHBQddBQgHXQVuBeMF6gVcBeMFXAVfBXIFXgVYBXIFWAVrBW4FXQVeBW4FXgVyBV0FYwVgBV0FYAVeBV4FYAVoBV4FaAVYBakFTQVnBakFZwV9BbIFTAVmBbIFZgW1BecFjwVpBecFaQXpBa8FogVnBa8FZwVNBd8FowVqBd8FagXoBeoF4gVzBeoFcwVcBQUHBwdjBQUHYwVdBZsHkAdwBZsHcAVZBVsFYgVkBVsFZAVaBVkFcQVsBVkFbAVXBQQHBgdlBQQHZQVXBeEF5gV0BeEFdAXEBcYFdwV7BcYFewXMBRwHCAduBRwHbgXHBZwHkQd2BZwHdgXFBccFbgVyBccFcgXKBcgFbwVtBcgFbQXJBcoFcgVrBcoFawXLBR0HCQdsBR0HbAXMBSEHEQd5BSEHeQX7BfwFdQV8BfwFfAX6BQEG5AWOBQEGjgX5BZoFggWUBZoFlAWZBfcFeAV6BfcFegX4BQ8HCgeWBQ8HlgWYBasHlAeLBasHiwX9BcMFwAWHBcMFhwWMBZcHpgWDBZcHgwWSB94FpQWBBd4FgQXlBQEHDweYBQEHmAVKBZIFlQWCBZIFggWaBRAHCweVBRAHlQWSBZsFmAWWBZsFlgWFBeUFgQWPBeUFjwXnBacFqAWXBacFlwWEBSIHDAd7BSIHewX/BfsFeQV1BfsFdQX8BYIFfQV/BYIFfwWUBdwFvwWOBdwFjgXkBQAHEAeSBQAHkgVMBWYFmgWZBWYFmQVLBVYFSgWYBVYFmAWbBZkHwgWLBZkHiwWUB/4FjAWHBf4FhwX/BQoHEgeABQoHgAWWBYQFlwWTBYQFkwWRBZIHgwWQBZIHkAWTB0wFkgWaBUwFmgVmBVUFTwWqBVUFqgWwBegFagWlBegFpQXeBVIFUAWoBVIFqAWnBVAFUgWdBVAFnQWgBYsHUQWmBYsHpgWXBwsHEwepBQsHqQWVBZUFqQV9BZUFfQWCBYUFlgWABYUFgAV+BRoHGAeyBRoHsgW7BRsHGQezBRsHswW8Bb4FtQW4Bb4FuAXBBb0FvAWzBb0FswW0BbsFsgW1BbsFtQW+BVQFSQW3BVQFtwW6BekFaQW2BekFtgXdBYoHUwW5BYoHuQWYB7oFtwXABboFwAXDBd0FtgW/Bd0FvwXcBZgHuQXCBZgHwgWZBw4HGge7BQ4HuwWGBQ0HGwe8BQ0HvAWIBY0FvgXBBY0FwQWJBYoFiAW8BYoFvAW9BYYFuwW+BYYFvgWNBXgFyAXJBXgFyQV6BeIF4QXEBeIFxAVzBXEFxgXMBXEFzAVsBY8F1AXNBY8FzQVpBaMF1gXOBaMFzgVqBXMFxAXbBXMF2wXRBV8FXAXPBV8FzwXQBVwFcwXRBVwF0QXPBcQFdAXSBcQF0gXbBfkFjgXVBfkF1QUABqUF2AXTBaUF0wWBBb8F2gXVBb8F1QWOBYEF0wXUBYEF1AWPBWoFzgXYBWoF2AWlBWkFzQXZBWkF2QW2BbYF2QXaBbYF2gW/BZ0H3AXkBZ0H5AWkB4wHowfiBYwH4gXqBY8H6AXeBY8H3gWeB44H6QXdBY4H3QWhB5oHpQfmBZoH5gXhBaYH5wXpBaYH6QWOB58H3wXoBZ8H6AWPB6cH5QXnBacH5wWmB6MHmgfhBaMH4QXiBaIHjAfqBaIH6gXjBaEH3QXcBaEH3AWdB6wHpAfkBawH5AUBBp4H3gXlBZ4H5QWnB/QF4wVfBfQFXwXsBWMF7wXrBWMF6wVgBdAF8wXsBdAF7AVfBQcHHgfvBQcH7wVjBe0FYQVlBe0FZQXxBWIF7gXwBWIF8AVkBaIHqQfuBaIH7gViBQYHHwfxBQYH8QVlBagHjQdhBagHYQXtBWAF6wXyBWAF8gVoBakHqgf2BakH9gXuBagH7QX2BagH9gWqB+0F8QX1Be0F9QX2BfYF9QXwBfYF8AXuBSAH6wXvBSAH7wUeByAH9QXxBSAH8QUfBw0HIQf7BQ0H+wWJBY0F/AX6BY0F+gWGBeYFAQb5BeYF+QV0BYoF9wX4BYoF+AWIBZEHqwf9BZEH/QV2BQ4HIgf/BQ4H/wWHBYkF+wX8BYkF/AWNBXcF/gX/BXcF/wV7BXQF+QUABnQFAAbSBaUHrAcBBqUHAQbmBVcGAgYFBlcGBQZRBlgGBAYDBlgGAwZSBlUGHgYEBlUGBAZYBnUGQgYHBnUGBwZvBlMGUgYDBlMGAwYIBkEGRgYCBkEGAgYGBjIGawZoBjIGaAYxBiwGbAZtBiwGbQY0BnMGegZnBnMGZwYoBjQGbQZuBjQGbgYzBjEGaAZsBjEGbAYsBiEGCwYKBiEGCgYiBhcGDAYKBhcGCgYdBiUGDwYOBiUGDgYjBnIGcAYNBnIGDQYYBiMGDgYSBiMGEgYkBoAGhgYRBoAGEQYVBikGEwYLBikGCwYhBiQGEgYTBiQGEwYpBhIGGwYWBhIGFgYTBhMGFgYfBhMGHwYLBlEGBQYeBlEGHgZVBoQGPwYgBoQGIAaFBoYGfgYqBoYGKgYRBg4GHAYbBg4GGwYSBnAGcwYoBnAGKAYNBg8GGQYcBg8GHAYOBgwGJwYiBgwGIgYKBgsGHwYdBgsGHQYKBn0GggYrBn0GKwZlBmYGLQYzBmYGMwZuBmsGIwYkBmsGJAZoBnoGdAYuBnoGLgZnBmgGJAYpBmgGKQZsBmkGJQYjBmkGIwZrBmwGKQYhBmwGIQZtBm0GIQYiBm0GIgZuBpUGMgYxBpUGMQaYBpkGLAY0BpkGNAaXBp4GgQY+Bp4GPgaWBpMGLwYyBpMGMgaVBp0GdwY8Bp0GPAabBmMGYQY2BmMGNgY7BgQGSwZJBgQGSQYDBpcGNAYzBpcGMwacBpgGMQYsBpgGLAaZBnsGYAY+BnsGPgaBBgIGRgZFBgIGRQYFBh4GTQZLBh4GSwYEBggGAwZJBggGSQZPBnkGZAY8BnkGPAZ3BpoGOwY2BpoGNgacBgUGRQZNBgUGTQYeBmEGVwZRBmEGUQZbBmIGWAZSBmIGUgZcBl8GVQZYBl8GWAZiBl0GXAZSBl0GUgZTBlsGUQZVBlsGVQZfBgYGAgZXBgYGVwZZBoUGIAZWBoUGVgZ8Bm8GBwZaBm8GWgZ4BlkGVwZhBlkGYQZjBnwGVgZgBnwGYAZ7BngGWgZkBngGZAZ5BjYGYQZbBjYGWwY1BjgGYgZcBjgGXAY3Bj0GXwZiBj0GYgY4BjkGNwZcBjkGXAZdBjUGWwZfBjUGXwY9Bi8GaQZrBi8GawYyBn4GfQZlBn4GZQYqBicGZgZuBicGbgYiBj8GdQZvBj8GbwYgBioGZQZ6BioGegZzBhUGEQZwBhUGcAZyBhEGKgZzBhEGcwZwBmUGKwZ0BmUGdAZ6BpYGPgZ3BpYGdwadBmAGeQZ3BmAGdwY+BiAGbwZ4BiAGeAZWBlYGeAZ5BlYGeQZgBl4GewaBBl4GgQY6BhAGJgZ+BhAGfgaGBgkGhQZ8BgkGfAZUBmoGMAaCBmoGggZ9BlAGhAaFBlAGhQYJBiYGagZ9BiYGfQZ+BhoGEAaGBhoGhgaABlQGfAZ7BlQGewZeBpQGOgaBBpQGgQaeBpAGfwYUBpAGFAaIBhsGiwaHBhsGhwYWBnEGjwaIBnEGiAYUBhwGjAaLBhwGiwYbBokGFwYdBokGHQaNBhkGigaMBhkGjAYcBn8GkAaKBn8GigYZBh8GjgYdBo4GjQYdBo8GcQYXBo8GFwaJBhYGhwaOBhYGjgYfBpAGiAaSBpAGkgaKBo8GiQaSBo8GkgaIBokGjQaRBokGkQaSBpIGkQaMBpIGjAaKBpEGhwaLBpEGiwaMBocGkQaNBocGjQaOBjcGlQaYBjcGmAY4Bj0GmQaXBj0GlwY1BoIGngaWBoIGlgYrBjkGkwaVBjkGlQY3BnQGnQabBnQGmwYuBjUGlwacBjUGnAY2BjgGmAaZBjgGmQY9Bi0GmgacBi0GnAYzBisGlgadBisGnQZ0BjAGlAaeBjAGngaCBn0DHQOkBn0DpAa0BloDGQOiBloDogazBoUDEgOfBoUDnwa1BoYDFAOgBoYDoAa2BlQDmQO5BlQDuQayBlYDmwO6BlYDugatBkMDKQOlBkMDpQaqBkUDLAOmBkUDpgapBiwDOgOoBiwDqAamBikDPwOnBikDpwalBpkDRQOpBpkDqQa5BpsDQwOqBpsDqga6BskDVAOyBskDsga+BnYDcQOrBnYDqwawBhQDdgOwBhQDsAagBnADdAOsBnADrAaxBssDVgOtBssDrQa/BhIDcAOxBhIDsQafBnEDWgOzBnEDswarBnQDfQO0BnQDtAasBo8DhQO1Bo8DtQa3BpADhgO2BpADtga4BmMDjwO3BmMDtwavBmUDkAO4BmUDuAauBjoDwAO7BjoDuwaoBj8DwgO8Bj8DvAanBsUDvQa7BsUDuwbAA7sDvQa8BrsDvAbCA2QDyQO+BmQDvgauBmIDywO/BmIDvwavBj4E3gPFBj4ExQbVBhsE2gPDBhsEwwbUBkYE0wPABkYEwAbWBkcE1QPBBkcEwQbXBhUEWgTaBhUE2gbTBhcEXATbBhcE2wbOBgQE6gPGBgQExgbLBgYE7QPHBgYExwbKBu0D+wPJBu0DyQbHBuoDAATIBuoDyAbGBloEBgTKBloEygbaBlwEBATLBlwEywbbBooEFQTTBooE0wbfBjcEMgTMBjcEzAbRBtUDNwTRBtUD0QbBBjEENQTNBjEEzQbSBowEFwTOBowEzgbgBtMDMQTSBtMD0gbABjIEGwTUBjIE1AbMBjUEPgTVBjUE1QbNBlAERgTWBlAE1gbYBlEERwTXBlEE1wbZBiQEUATYBiQE2AbQBiYEUQTZBiYE2QbPBvsDgQTcBvsD3AbJBgAEgwTdBgAE3QbIBoYE3gbcBoYE3AaBBHwE3gbdBnwE3QaDBCUEigTfBiUE3wbPBiMEjATgBiME4AbQBv0ElAThBv0E4Qb1Bv4ElgTiBv4E4gb2BsQEEQX5BsQE+QbwBsYEEwX6BsYE+gbrBrMEnQTjBrME4wboBrUEoATkBrUE5AbnBqAErgTmBqAE5gbkBp0EsQTlBp0E5QbjBhEFtQTnBhEF5wb5BhMFswToBhMF6Ab6Bj8FxATwBj8F8Ab+BuoE5QTpBuoE6QbuBpYE6gTuBpYE7gbiBuQE6ATqBuQE6gbvBkEFxgTrBkEF6wb/BpQE5ATvBpQE7wbhBuUEzQTyBuUE8gbpBugE9AT0BugE9AbqBgcF/QT1BgcF9Qb3BggF/gT2BggF9gb4BtcEBwX3BtcE9wbtBtkECAX4BtkE+AbsBq4ENgX7Bq4E+wbmBrEEOAX8BrEE/AblBjsF/Qb7BjsF+wY2BTEF/Qb8BjEF/AY4BdgEPwX+BtgE/gbsBtYEQQX/BtYE/wbtBqgFUAUDB6gFAwcTB38FTgUCB38FAgcSB7cFSQUAB7cFAAcYB7gFSwUBB7gFAQcZB6AFFQcDB6AFAwdQBa0FFwcCB60FAgdOBXoFyQUcB3oFHAcRB3wFywUdB3wFHQcMB2sFWAUEB2sFBAcJB20FWgUFB20FBQcIB1oFZAUHB1oFBwcFB1gFaAUGB1gFBgcEB8kFbQUIB8kFCAccB8sFawUJB8sFCQcdB/gFegURB/gFEQchB5kFlAUKB5kFCgcPB0sFmQUPB0sFDwcBB5MFlwULB5MFCwcQB/oFfAUMB/oFDAciB0kFkwUQB0kFEAcAB5QFfwUSB5QFEgcKB5cFqAUTB5cFEwcLB8AFtwUYB8AFGAcaB8EFuAUZB8EFGQcbB4cFwAUaB4cFGgcOB4kFwQUbB4kFGwcNB2QF8AUeB2QFHgcHB2gF8gUfB2gFHwcGB/UFIAceB/UFHgfwBesFIAcfB+sFHwfyBYgF+AUhB4gFIQcNB4YF+gUiB4YFIgcOB6YDLwcjB6YDIwedA6MDqwM2B6MDNgcsB6IDoAM1B6IDNQcoB6ADowMsB6ADLAc1B6sDpAMtB6sDLQc2B9EDpwMwB9EDMAdEB6gDMQcuB6gDLgelA6oDMwcwB6oDMAenA6UDLgcvB6UDLwemA54DJAcxB54DMQeoA50DIwcyB50DMgepA6kDMgczB6kDMweqA4wDNwc9B4wDPQdnAy4DSAM8By4DPAcmByMDKgc4ByMDOAdZAycDKQc5BycDOQeCA5gDUgM+B5gDPgc0B3kDPwcpB3kDKQcnA2EDQAc/B2EDPwd5A0gDmAM0B0gDNAc8BzgDLgMmBzgDJgc7B4IDOQc3B4IDNweMA8gDZwM9B8gDPQdFB1kDOAdAB1kDQAdhA7EDxANCB7EDQgc6B8MDoQMnB8MDJwdBB8QDvANDB8QDQwdCB8MDQQdDB8MDQwe8A6QD0QNEB6QDRActB1IDyANFB1IDRQc+B2cEUgdGB2cERgdeBGQEbARZB2QEWQdPB2IEYQRYB2IEWAdKB2EEZARPB2EETwdYB2wEZQRQB2wEUAdZB5IEaARTB5IEUwdnB2kEVAdRB2kEUQdmBGsEVgdTB2sEUwdoBGYEUQdSB2YEUgdnBF8ERwdUB18EVAdpBF4ERgdVB14EVQdqBGoEVQdWB2oEVgdrBEwEWgdgB0wEYAcnBO4DCARfB+4DXwdJB+QDTQdbB+QDWwcZBOcDTAdcB+cDXAdCBFgEEgRhB1gEYQdXBzkEYgdMBzkETAfnAyEEYwdiByEEYgc5BAgEWARXBwgEVwdfB/gD7gNJB/gDSQddB0IEXAdaB0IEWgdMBIgEJwRgB4gEYAdoBxkEWwdjBxkEYwchBHMEhQRlB3MEZQdeB4QEYwRLB4QESwdkB4UEfQRmB4UEZgdlB4QEZAdmB4QEZgd9BGUEkgRnB2UEZwdQBxIEiARoBxIEaAdhBxwFcQdpBxwFaQcVBRkFIgV5BxkFeQduBxcFFgV4BxcFeAdrBxYFGQVuBxYFbgd4ByIFGgVvByIFbwd5B0cFHQVyB0cFcgeIBx4FcwdwBx4FcAcbBSEFdgdyByEFcgcdBRsFcAdxBxsFcQccBRUFaQd1BxUFdQcgBSAFdQd2ByAFdgchBQMFegeBBwMFgQfaBKEEtwSAB6EEgAdqB5oEbQd9B5oEfQf5BA8FwQSCBw8Fggd3B+wEgwdtB+wEbQeaBNQEhAeDB9QEgwfsBLcEDwV3B7cEdweAB6sEoQRqB6sEagd+B/kEfQd6B/kEegcDBT0F2gSBBz0FgQeJB8oEeweEB8oEhAfUBCoFOgWGByoFhgd/BzkFGAVsBzkFbAeFBzoFMgWHBzoFhweGBzkFhQeHBzkFhwcyBRoFRwWIBxoFiAdvB8EEPQWJB8EEiQeCB9QFkweKB9QFigfNBdYFlQeLB9YFiwfOBdEF2wWcB9EFnAeQB9AFzwWbB9AFmweNB88F0QWQB88FkAebB9sF0gWRB9sFkQecBwAG1QWUBwAGlAerB9gFlweSB9gFkgfTBdoFmQeUB9oFlAfVBdMFkgeTB9MFkwfUBc4FiweXB84FlwfYBc0FigeYB80FmAfZBdkFmAeZB9kFmQfaBb0FnQekB70FpAeKBVsFbwWjB1sFoweMB1UFjweeB1UFngd+BVYFjgehB1YFoQe0BcgFeAWlB8gFpQeaB5sFpgeOB5sFjgdWBbAFnwePB7AFjwdVBYUFpwemB4UFpgebBW8FyAWaB28FmgejB2IFWwWMB2IFjAeiB7QFoQedB7QFnQe9BfcFigWkB/cFpAesB34FngenB34FpweFBeMF9AWpB+MFqQeiB/MF0AWNB/MFjQeoB/QF7AWqB/QFqgepB/MFqAeqB/MFqgfsBdIFAAarB9IFqweRB3gF9wWsB3gFrAelB+cHrwf2B+cH9gcXCN4H1gfvB94H7wciCNYH3QcvCNYHLwjvB7sH4QcsCOUH0AcaCOUHGggqCO0HzQf7B+0H+wcFCMYHxAfzB8YH8wccCM0H0QcVCM0HFQj7Bw0IywfPBw0IzwcqCLEH3wctCOIHvgcRCOMHxgccCOMHHAgrCMAHuAf9B8AH/Qf8B7gHvwcICLgHCAj9B7cHCggRCLcHEQi+B7UH5wcXCLUHFwgECMcH5AcPCMcHDwgQCM4H7gcpCM4HKQjyB+QHyAcPCOEHvAcgCOEHIAgsCNMH7QcFCNMHBQgGCMkH6wczCMkHMwgHCMQH7AchCMQHIQjzB+YH0gcUCMsHDQgUCMsHFAjSB68HswcTCK8HEwj2B70H4gcRCL0HEQgYCN8HsgceCN8HHggtCL8H6QcmCL8HJggICK0HCwgOCK0HDgi0B90H1wcxCN0HMQgvCLwHugfwB7wH8AcgCNcH2wcwCNcHMAgxCAkIwQfFBwkIxQcrCMMHxwcQCMMHEAj1B7MH4AcOCLMHDggTCNEH5gcUCNEHFAgVCOoHwAf8B+oH/AcSCOwHygf/B+wH/wchCLYHrgcCCLYHAgj+B+AHtAcOCNQHzAcBCNQHAQgDCK4HtQcECK4HBAgCCMwH0wcGCMwHBggBCLoH6gcSCLoHEgjwB88H5QcqCOgHtgf+B+gH/gcMCOsHwwf1B+sH9QczCNgH3gciCNgHIggkCLAH6AcMCLAHDAjxB9kH2gcjCLIHsAfxB7IH8QceCNoH2AckCNoHJAgjCMEHCQgPCMEHDwjIB7kHvQcYCLkHGAj5B9sH3AcwCNAHzgfyB9AH8gcaCO4H1AcDCO4HAwgpCMUH4wcrCOkHuQf5B+kH+QcmCMoHwgcACMoHAAj/B8IHyQcHCMIHBwgACCcI1QfZBycI2QcjCAYIBQgoCAYIKAgBCAMIAQgoCAMIKAgpCAcIMwgyCAcIMggACP8HAAgyCP8HMgghCAgIJgglCAgIJQj9B/wH/QclCPwHJQgSCAQIFwgWCAQIFggCCP4HAggWCP4HFggMCBkIDQgqCBkIKggaCBsICQgrCBsIKwgcCB8ICggsCB8ILAggCB0ICwgtCB0ILQgeCC4IJwgjCC4IIwgkCDEIMAgnCDEIJwguCC8IMQguCC8ILgjvByII7wcuCCIILggkCA0IGQgVCA0IFQgUCPcHGQgaCPcHGgjyB/sHFQgZCPsHGQj3BwUI+wf3BwUI9wcoCCkIKAj3BykI9wfyBwkIGwgQCAkIEAgPCPQHGwgcCPQHHAjzB/UHEAgbCPUHGwj0BzMI9Qf0BzMI9AcyCCEIMgj0ByEI9AfzBwoIHwgYCAoIGAgRCPgHHwggCPgHIAjwB/kHGAgfCPkHHwj4ByYI+Qf4ByYI+AclCBIIJQj4BxII+AfwBwsIHQgTCAsIEwgOCPoHHQgeCPoHHgjxB/YHEwgdCPYHHQj6BxcI9gf6BxcI+gcWCAwIFgj6BwwI+gfxBwoItwe7BwoIuwcsCAsIrQexBwsIsQctCNUHJwgwCNUHMAjcBzwISwjxBjwI8QbMBEsIfQDOBEsIzgTxBmsIQgjyBGsI8gR0Bz8IRAgfBT8IHwXvBFAIgwAmBVAIJgV8B0IIXAjzBEII8wTyBHgAPAjMBHgAzATHBFwIwADzBlwI8wbzBEQIawh0B0QIdAcfBYMAPwjvBIMA7wQmBV4IeADHBF4IxwT1BMAAXgj1BMAA9QTzBnoAUAh8B3oAfAfJBH0AegDJBH0AyQTOBKcCOAjdA6cC3QPhA1cIQAD+A1cI/gPXA2kIWQB5BGkIeQROB6MCWwjmA6MC5gPbA1sIaQhOB1sITgfmA1EAzwBIB1EASAdgBDgISQjEBjgIxAbdA6ECsgDCBqECwgbZAzsIUQBgBDsIYAQDBEkIVwjXA0kI1wPEBs8ApwLhA88A4QNIB0AAoQLZA0AA2QP+A7IAowLbA7IA2wPCBlkAOwgDBFkAAwR5BDcIZwglBzcIJQefAwAAqgCjBgAAowYcA0cIUwgaA0cIGgOhBp8CGAA9A58CPQMWA1YINwifA1YInwNCAy8AVghCAy8AQgO4AxMATggrBxMAKwclAzQIRwihBjQIoQYYAxgANAgYAxgAGAM9A2cIDAAeA2cIHgMlBwwAAAAcAwwAHAMeA1MIEwAlA1MIJQMaA04ILwC4A04IuAMrB6oAnwIWA6oAFgOjBrwCYwh2BrwCdgZABkUIxAJKBkUISgZMBsYCyQKDBsYCgwZOBsMCwAJEBsMCRAZHBskCvAJABskCQAaDBr8CwwJHBr8CRwZDBqgAxgJOBqgATgZIBsACRQhMBsACTAZEBsQCqABIBsQCSAZKBmMIvwJDBmMIQwZ2BvoBygLIAvoByAL4AQAAgD97k5k3byODsgAAAIBvI4OyEJnaOuj/fz8AAAAAe5OZN+n/f78Qmdo6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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import new file mode 100644 index 0000000..8c12245 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://w7th3d2hl7b5" +path="res://.godot/imported/Hand_Glove_R.gltf-0e99922c663867da8d37af9597ab1ce8.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" +dest_files=["res://.godot/imported/Hand_Glove_R.gltf-0e99922c663867da8d37af9597ab1ce8.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf b/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf new file mode 100644 index 0000000..3a8781c --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_L", + "rotation" : [ + -0.07576872408390045, + -0.019257033243775368, + -0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + -2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_L", + "rotation" : [ + 0.05564067140221596, + 0.010326135903596878, + 0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + -2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_L", + "rotation" : [ + -0.04595031589269638, + -0.027135659009218216, + -0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_L", + "rotation" : [ + 0.3235369920730591, + -2.565749491623137e-05, + -0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + 0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_L", + "rotation" : [ + -0.052288394421339035, + -0.0005572127993218601, + 0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_L", + "rotation" : [ + 0.014225997030735016, + -0.011990753002464771, + -0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_L", + "rotation" : [ + -0.013683199882507324, + -0.024668212980031967, + -0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_L", + "rotation" : [ + 0.11122288554906845, + -0.0027781203389167786, + 0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_L", + "rotation" : [ + -0.0005887771840207279, + 2.10358793992782e-05, + 0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_L", + "rotation" : [ + 0.013688242062926292, + 7.99239132902585e-05, + 0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_L", + "rotation" : [ + -0.013931511901319027, + -0.00014242221368476748, + -0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + 5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_L", + "rotation" : [ + 0.03945539891719818, + 0.004928736016154289, + -0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + 1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_L", + "rotation" : [ + -0.01194659061729908, + 0.000966736872214824, + -0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + -7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_L", + "rotation" : [ + -0.03585463762283325, + 4.2005005525425076e-05, + 0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_L", + "rotation" : [ + 0.03305169194936752, + -0.006719753611832857, + 0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + 5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_L", + "rotation" : [ + -0.011351789347827435, + 0.012621401809155941, + -0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + -2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_L", + "rotation" : [ + 0.01732625439763069, + 0.01860846020281315, + -0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_L", + "rotation" : [ + -0.05105672776699066, + -0.002022986998781562, + 0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_L", + "rotation" : [ + -0.07119493186473846, + 1.573348527017515e-05, + 0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_L", + "rotation" : [ + 0.015836291015148163, + -0.01933973841369152, + 0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_L", + "rotation" : [ + -0.018054774031043053, + 0.011455277912318707, + -0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + 2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_L", + "rotation" : [ + 0.044925764203071594, + 0.03280799090862274, + -0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + -4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_L", + "rotation" : [ + -0.08928601443767548, + 0.003168066032230854, + -0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_L", + "rotation" : [ + -0.09176954627037048, + 2.456200854794588e-05, + 0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_L", + "rotation" : [ + 0.7065238952636719, + -6.479929197666934e-06, + -8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + 0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_L", + "rotation" : [ + -0.7065169215202332, + 6.472751010733191e-06, + 6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Glove_low_L", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Glove_low_L", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 812, + "max" : [ + 0.03515050560235977, + 0.09175886958837509, + 0.02576880156993866 + ], + "min" : [ + -0.029946306720376015, + -0.06838366389274597, + -0.18577708303928375 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 812, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 812, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 812, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 812, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 3480, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 9744, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 9744, + "byteOffset" : 9744 + }, + { + "buffer" : 0, + "byteLength" : 6496, + "byteOffset" : 19488 + }, + { + "buffer" : 0, + "byteLength" : 3248, + "byteOffset" : 25984 + }, + { + "buffer" : 0, + "byteLength" : 12992, + "byteOffset" : 29232 + }, + { + "buffer" : 0, + "byteLength" : 6960, + "byteOffset" : 42224 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 49184 + } + ], + "buffers" : [ + { + "byteLength" : 50848, + "uri" : "data:application/octet-stream;base64,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FRAUDxUPFBAVFA8AFRQAABUUEAAGBQAAFBUPAAYFAAAPEAsKBgsFCgUGAAABAgAAAQIAAAECBQABAgAAAQIAAAECBQAFAQIKDxAVAAEFAgABBQIACwoPEAUKAAAPFAoACg8FAAoFDwAPCgAADxQAABQAAAAUAAAAFAAAABQAAAAFCgAACwoGBQUKAQAFCgEAAQUACgEFAAoBAAUUAQAFFAEABRQBAAUUDwoAFA8KABQUDwAKFA8ACgABFAAAARQAFAAPABQADwAFCgAABQEKAAEFAAAPChQACg8FAAoFDwAUDwAADxUUEA8UCgABAAAAAQAAAAEFAAIFAQoCAAEKFAEAFAAAFA8BAAEUABQADwAUAAEADxQKAA8KAAAKBQ8AFAAAAAoPBQAPFAAABQoAABQAAAAFAQAAFAABABQAAAAUAAAAAAEUAAABFAUFAQAAAQUAABUQFAAGBQAABgUAAAUCAQYFAgEGBQIGAQUGAgEFBgIBBQECCgUBAgABBQIAFAAPABQADwAAFAEAABQBAAABFAAAARQABQYAAAUGAAAUDwAAFAABABQAAQAUDwAAFA8AAAEFAgACAQUABQEAAhQVAAAUFQ8AFBUAAAoABQ8PChQFFA8AABQPFQoKDwUAFBUPAAoPBRQUDwAKCgUPAA8UCgAUDwAADxQVAA8UCgAPABQKDxQAAA8KAAAFAgEKBQoBDwUCBgEGBQAACgUPAA8KAAAFBgoABQoGAAoPBQAKBQsGDwoQCwUKBgsPEBUKCg8LEAYHAAAGBwAABgcAAAYLBwAGBwAABgcAAAYHAAAGCwAABgsAAAYHCwAGBwsABgcLAAYFBwAGBQcABgUAAAYLBQAGBwAABgcAAAsQAAALEAAACxAAAAsGAAALBgAACwYFEAsMAAALDAAAEAsAABAVAAAQFQAAEBUAABALAAAQCwAAEAsVABAVCwAVEA8UFRQAAAYLAAALBgoAAQIFAAIBBQAFAgEAAQIFAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAQAAAgEFAAIFAQACBQEAAgAAAAIFAQACAQAAAgEAAAIBAAACAQUAAgUBAAIFAQACAQAAAgUBAAIBAAACAQAAAgEAAAIBBQACBQEAAgUBAAIBAAACBQEAAgUBAAIAAAACAQAAAgEFAAIBAAACAQUAAgEAAAIAAAACAAAAFRAAABUWAAAVFgAAFRYAABUWAAALEAAAFRAPABUQAAAVEBYAFRYAABUWEAAVFgAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAABARCwAQEQsAEBELAAoFDwAKBQ8AAQUKAAEFCgAKBQAPCgUADw8UCgAPFAoAAQAUBQEAFAUUAAEPFAABDxQAAQ8KDwAFCg8ABRQPAAAUDwAAFAABABQAAQAPCgAUCg8ABQUKAQAKBQAPBQEAChQPAAoUDwAAAQUACgEABRQUAA8BAQAFFBQAAQAAARQFFAABDwEAFAUUAAEPDxQACgoFAA8AFAEAAQUKAAEFCgAFCgEABQoBAAoFDwAKBQ8AAQUAFAEFABQPFAoADxQKAA8KABQPCgAUCg8ABQoPAAUUDwAKFA8ACgEAFAUBABQFAAEUAAABFAAKBQAPCgUADxQAAQAUAAEAFAABABQAAQAUAAEPFAABDwEABRQBAAUUFAAPABQADwAUDwAAFA8AAAEFAAoBBQAKBgcAAAYHAAAVFgAAFRYAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIBwAACAcAAAgAAAAIAAAACAAAAAgAAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAGBwAABgcAAAgAAAAIAAAACAAAAAcIAAAHCAAACAAAAAgAAAAIAAAABgcAAAYHAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAALDAAACwwAAAsMAAALDAAACwwAAAsMAAALDAAACwwAAAsMAAALDAAADQwAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANDAAADA0AAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAA0MAAANDAAADQAAAA0AAAANDAAACwwAAAsMAAANAAAADQAAAA0AAAAMDQAADQAAAAwNAAANAAAADQAAAA0AAAALDAAACwwAAA0AAAANAAAADQAAAA0AAAANDAAADQAAAA0AAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAQEQAAEBEAABARAAAQEQAAEBEAABARCwAQEQsAEBELABARAAAQEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAQEQAAEBEAABIRAAASAAAAEhEAABARAAAQEQAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAFgAAABYXFQAWFxUAFwAAABcAAAAXAAAAFwAAABcWAAAXFgAAFxYAABcAAAAXFgAAFwAAABcAAAAXAAAAFwAAABYXFQAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAgMAAAMAAAADAAAAAwIAAAMCAAADAgAAAwAAAAMAAAADAgAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAIDAAADAAAAAwIAAAMCAAACAwAAAwIAAAMAAAADAAAAAwIAAAMAAAADAAAAAwAAAAMAAAADAgAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAADAsAAAwAAAAMCwAADAsAAAwLAAAMCwAADAsAAAwLAAAHBgAABwYIAAcGAAAHBgAABwYAAAcGCAAHBggABwYIABEQEgAREBIAERASABEQAAAREAAAERASABEQEgAREBIAFhcAABYXAAAWFwAAFhcAABYXAAAWFwAAFhcAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAAEhEAABIRAAASEQAAEgAAABIAAAASAAAAEhEAABIRAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAXAAAAEgAAAA0AAAAIAAAAAwAAABcAAAASAAAACAAAAA0AAAAXAAAAEgAAAA0AAAAIAAAAFwAAABIAAAANAAAACAAAAAMAAAADAAAA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BAC9ALwACAC9AAgACQDCAAEAzgDCAM4AzACiAHgAdQCiAHUA1gAmACIAEgAmABIAEwA9AJgAZAA9AGQAaAAXAMAABgEXAAYBMgAbAMkABgAbAAYALwAGAAcBVgAGAFYALwBgAGUAjgBgAI4AlwBHAFIAVwBHAFcAIAGaAI8AaQCaAGkAiAAKAAsAAQAKAAEAxQA5AIUAiAA5AIgAaQBaAFwAjACZAJsAngCZAJ4AnABJAFUAiQBJAIkAKQGVAI0AIACVACAAIQAgAVcAVQAgAVUASQCHAGsAbgCHAG4ALAECAAUAEQCTAB0AHACTABwAkQAaABsALwAaAC8AJQA+ACYA0gA+ANIA0wAuAFsAoQAuAKEAoAAjAFYAHgAjAB4AHwCFAIkAVQCFAFUAOACFADgAZwCFAGcAiAAgACMA0QAgANEAAgB+AIAAXwB+AF8AYQDUACoALADUACwAKQBxAEQARgBxAEYAbwBpADsAOQBcAJAAWwBcAFsAjAARAA8ADgARAA4AcgA6ADwAfgA6AH4AYQCWAJEAHACWABwAGQAWAAAAwAAWAMAAFwAQAAgAvAAlAAcAyAAlAMgAGgAFAA8AEQBPAD8AHAFPABwBUADBAM0ABwDBAAcABgE1AFMAVAA1AFQANgByAA4ADQByAA0AHQATALEA0gATANIAJgAYABUAoAAYAKAAoQAaAMgAyQAaAMkAGwA1ADYAZAA1AGQAZgAlADIABgElAAYBBwChAFsAkAChAJAAlgAVABgACgAVAAoACQAMAAsAGQAMABkAHACwALEAEwCwABMAEgBmAGMANwBmADcANQAOAA8ABQAOAAUAAQESACIAsAARACAAAgDQANEAHwDQAB8AHgDKAAMABwHKAAcBBgC2AMQA0wC2ANMA0gAQAHMAgwB3AHkAhAB3AIQAJwBdAF8AgABdAIAAggCKAC0AWgCKAFoAjAAtACsAWAAtAFgAWgBRAHEAbwBRAG8AXQAwAHsAagAwAGoAfABeAH8AfQBeAH0AYABlAGAAfQBlAH0AOwDFAL0ACQDFAAkACgAnAKYAdwABAc8ADQABAQ0ADgALAAwAzgALAM4AAQBiAGcAOABiADgANAARAHIAIAA2ADMAaAA2AGgAZADXAHYAdwBRAF0AggBRAIIAWQCKAC4A1gCKANYA+AAqADAAfAAqAHwAUQBsACUBTgBsAE4AiQAjAW8ARgBMAG4AbwBMAG8AIwFMACwBbgBQABwBQgBQAEIAcAA2AFQATwA2AE8AMwBTADUANwBTADcAUgA0ADcAYwA0AGMAYgBXADQAOABXADgAVQBwAEIARABwAEQAcQBrAIcAJgFrACYBbQAhACAAcgAVAAkAJAAVACQAowCEAHQAIgCEACIAJwAdACEAcgB5AHcAdgAxANcAdwCFADkAbACFAGwAiQAxADAAiwB6ADEAdwBpAGUAOwBhAGsAbQBhAG0AOgBdAG8AbgBdAG4AXwB8AHAAcQB8AHEAUQBqAFAAcABqAHAAfABfAG4AawBfAGsAYQBcAIEAfwBcAH8AXgAMAA0AzwAMAM8AzgBcAFoAWABcAFgAgQALAAoAGAALABgAGQAWABcAMgAWADIAPgCDABQAowCDAKMAEAAzAGoAewAzAHsAaAB7AHoAPQB7AD0AaAAtANUAKAAtACgAKwBUAB4BPwBUAD8ATwAeAVQAGgEnAVMAUgAnAVIARwBzABAAvABzALwAugAjAB8A0QA+ANMAAAA+AAAAFgAHAdAAHgAHAR4AVgCJAE4AKQE0AFcAUgA0AFIANwAsACoAUQAsAFEAWQAcAB0ADQAcAA0ADABcAF4AnQBcAJ0AkACZAKwAVgCZAFYAmwBnAJ4AmgBnAJoAiACTAJUAIQCTACEAHQAtAIoA+AAtAPgA1QAuAIoAjAAuAIwAWwDXADEAiwDUADAAKgAxAHoAewAxAHsAMACLADAA1ACXAI4AlQCXAJUAkwAmAKsAJwAmACcAIgAvAKwAqgAvAKoAJQCQAJ0AkQCQAJEAlgCXAJMAkQCXAJEAnQCOAI8AjQCOAI0AlQAyAK0AqQAyAKkAPgAjACAAjQAjAI0AkgCcAJ8ApQCcAKUAmQBmAGQAmABmAJgAlACeAJsAkgCeAJIAmgCgAKIA1gCgANYALgBgAJcAnQBgAJ0AXgBlAGkAjwBlAI8AjgCoAKQAqQCoAKkArQBiAGMAnwBiAJ8AnACfAGMAZgCfAGYAlAA+AKkAqwA+AKsAJgAZABgAoQAZAKEAlgCcAJ4AZwCcAGcAYgAjAJIAmwAjAJsAVgCYAKQAqACYAKgAlACSAI0AjwCSAI8AmgCmACcAqwCmAKsApwCjACQAEAB4AKIAFAB4ABQAgwAkAAgAEACjABQAFQCsAJkApQCsAKUAqgCnAKQAmACnAJgAPQB3AKYAegCmAKcAPQCmAD0AegCoAKUAnwCoAJ8AlACpAKQApwCpAKcAqwCqAKUAqACqAKgArQCsAC8AVgCqAK0AMgCqADIAJQC2ANIArgC2AK4AuQBlAbwAvQBlAb0AvwAoAyYDygAoA8oABgCxALAAHgOxAB4DrgDCAAcDxwDCAMcAAQCwALsAtACwALQAHgOxAK4A0gDEACMD0wAKA8UAAQAKAwEAxwDAAAAABAPAAAQDIAPBAAYBCAPPAAwDKwPPACsDzgAXAcwAzgAXAc4AKwO1ALgAvwC1AL8AvQBlAbMAugBlAboAvADJAMgAHAPJABwDKAPXAPMA9QDXAPUAdgDqAOkA4QDqAOEA4gDzAOsA7QDzAO0A9QAAAeYA7gAAAe4A+gD4APsA9gD4APYA1QDiAOEA2QDiANkA2gDpAOoA8gDpAPIA8QD+APwA4wD+AOMA6wAUAfkA3wAUAd8AFAPjANsA3QDjAN0A5QAlAwwDzwAlA88AywDJACgDBgDAACADCAPAAAgDBgH6AO4A9gD6APYA+wD8AP8A2wD8ANsA4wDYAOAA5gDYAOYA3gCLAP0A8wCLAPMA1wD5AAAB5wD5AOcA3wDmAOAA6ADmAOgA7gApAPEA8gApAPIA1ADvAOwA5ADvAOQA5wDuAOgA8ADuAPAA9gDnAOQA3ADnANwA3wD3APQA7AD3AOwA7wAKAyIDwwAKA8MAxQDVAPYA8ADVAPAAKAD3ANYAdQD3AHUA9AAAANMAIwMAACMDBAPrAOMA5QDrAOUA7QD9APIA6gD9AOoA/gAHAM0AGAHIAAcAGAHIABgBHAPzAP0A/gDzAP4A6wDeAOYAAAHeAAAB+QDUAPIA/QDUAP0AiwDiANoA/wDiAP8A/ADvAPoA+wDvAPsA9wASAd4A+QASAfkAFAHqAOIA/ADqAPwA/gDWAPcA+wDWAPsA+ADnAAAB+gDnAPoA7wADAA0DEAMDABADCAEFAQoBDAEFAQwBAgEFAAsBCQEFAAkBAQEBAQkBBAATAwsBCgETAwoBBQECAQwBCAECAQgBEAMIAQwB0QAIAdEA0AAJAQsBEwMJARMDZwEHAQMACAEHAQgB0AAEAAkBZwEEAGcBDgMKAQsBBQAKAQUAAgAMAQoBAgAMAQIA0QDaAA0BFQHaABUB/wDbAA8BGgPbABoD3QDZABgDDQHZAA0B2gD/ABUBDwH/AA8B2wDfANwAGQPfABkDFAPYAN4AEgHYABIBFwMzAT8BMgEyAT8BPQE5AT8BOAE0ATEBPwE2AT8BMwE9AT8BLQEtAT8BLgEuAT8BPgE+AT8BMAEwAT8BLwE/ATkBOwE1ATQBPwE3ATUBPwE7ATcBPwE4AT8BOgE6AT8BPAE8AT8BNgFdAUUAQwBdAUMARwFMASgBSABMAUgASgFUAR8BGwFUARsBRAFXASsBSwBXAUsAUwFCAUAAHwFCAR8BVAFEARsBKAFEASgBTAFZAYYAKwFZASsBVwFfAU0AJAFfASQBWwFRASIBRQBRAUUAXQFOAUoAKgFOASoBYAFbASQBhgBbAYYAWQFHAUMAQQBHAUEAYwFTAUsAIgFTASIBUQFjAUEAHQFjAR0BQAFIASEBSgBIAUoATgFgASoBTQBgAU0AXwFKAUgAIQFKASEBSAEtAUsBSQEtAUkBPQEzAWEBXgEzAV4BNgE9AUkBTwE9AU8BMgE0AWIBQQE0AUEBMQE5AVIBUAE5AVABOwE1AUYBYgE1AWIBNAE8AVoBWAE8AVgBOgEyAU8BYQEyAWEBMwE7AVABXAE7AVwBNwE2AV4BWgE2AVoBPAExAS8BPwE6AVgBVgE6AVYBOAE+AUUBTQE+AU0BLgEvAUMBVQEvAVUBMAE4AVYBUgE4AVIBOQEwAVUBRQEwAUUBPgEuAU0BSwEuAUsBLQE3AVwBRgE3AUYBNQFDAS8BMQFDATEBQQFAAR0BQABAAUAAQgG+ALcAbwG+AG8BjgEfA7IAbAEfA2wBaQGvAB8DaQGvAGkBawFkAb4AjgFkAY4BhAERARMBAAMRAQAD/gIOARYD9gIOAfYC9AIQARYBAwMQAQMD/QIWAxEB/gIWA/4C9gIWAQ4B9AIWAfQCAwMbAxAB/QIbA/0C+wITARUD8wITAfMCAAMVAxsD+wIVA/sC8wKyAGQBhAGyAIQBbAG3AK8AawG3AGsBbwHcAn8BigHcAooB2wKSAZMBkAGSAZABkQGHAY0BlQGHAZUBlAF2AXcBkwF2AZMBkgEDAgUCAAIDAgAC/wF1AXYBkgF1AZIBkQGkAaUBqgGkAaoBqQF3AXYBeQF3AXkBeAFzAvwBzgJzAs4CdQLeAoEBgAHeAoAB3QJ7AXkBdgF7AXYBdQH4AfQBzQH4Ac0B6QGNAooCiwGNAosBiAG7AaYBoQG7AaEBugF/Au0B4gF/AuIBhALjAq8BrgHjAq4B5gLwAuEB3AHwAtwB8QLQAfYB9QHQAfUBzwGUAZABcwGUAXMBhwF3AXMBkAF3AZABkwGBAuUB8QGBAvEBgwJkAoUBjwFkAo8BYALlAq0BvwHlAr8B5AK8AcIBywG8AcsBygGqAasByQGqAckByAFtAtcB6wFtAusBbAJYApgBlgFYApYBWgLpArEBrAHpAqwB5wIJAv4BDAIJAgwCEAKgAaIBqwGiAacBqwHKAcYBpwHKAacBvAGrAacBxgGrAcYByQHzAc8B9QHzAfUB+QGiAaABtwGiAbcBswG7AboBxQG7AcUBwQF3ArQBtgF3ArYBeQJ7ArABvQF7Ar0BfQJlAm0BhQFlAoUBZAJ2AncCrwF2Aq8BrAHRAc0B9AHRAfQB9wENAg4CCwINAgsCDAL9AQICBwL9AQcCBgIVAhYCBwIVAgcCAgK6Ab4BwAG6AcABxQG0AbcBoAG0AaABpQGUAZUBkQGUAZEBkAH2AfcB9AH2AfQB9QG1AaMBxQG1AcUBwAFxAnACCgJxAgoCxAJ+AoUC4wF+AuMB5wF/AuwB7gF/Au4BgwISAhQCAQISAgECBQJ9Ar0BvwF9Ar8BegLoAe0B8QHoAfEB8gGJAocCeQGJAnkBewGoAcEBxQGoAcUBowHQAc8B5gHQAeYB5AEPAhACDAIPAgwCCwLRAdAB5AHRAeQB5wH5AfUB9AH5AfQB+AFqAmsC1QFqAtUB2gH9AQACBQL9AQUCAQKgAasBqgGgAaoBpQG2AbQBpQG2AaUBpAF0AnECxAJ0AsQCwwJsAusB8AFsAvABaQJvAvoB+wFvAvsBcgKMAYsBegGMAXoBdAEGAgkCEAIGAhACDwKLAoIBiQGLAokBjQIGAgcCCAIGAggCCQKhAbIBvgGhAb4BugEDAv8B/gEDAv4BBAKKAogCegGKAnoBiwF8AYgBhgF8AYYBcgEAAv0BCwIAAgsCDgJvAnQCwwJvAsMC+gH/AQ0CDAL/AQwC/gHqAt0B7gHqAu4B7AIHAhYCFwIHAhcCCALIAckBxgHIAcYBxwHKAcsBxwHKAccBxgHyAfEB5QHyAeUBzgGqAcgBxwGqAccBqQFRAk8CJwJRAicCKAL3Av8CMAL3AjACGgJIAjUCOAJIAjgCQgIzAiQCLgIzAi4CNAJWAk0CIwJWAiMCQQImAjgCNQImAjUCKwJUAk4CIAJUAiACNgJIAkACOQJIAjkCNQJSAlACMQJSAjECHgJDAkUCKgJDAioCKQJKAkcCPQJKAj0COgLyAvkCHALyAhwCOQJBAiMCPQJBAj0CRwJFAi0CGAJFAhgCRAICA0QCGAICAxgC/AIwAjQCLgIwAi4CGgJMAjcCPwJMAj8CSQJNAikCJQJNAiUCUwIcAisCNQIcAjUCOQIvAiUCKQIvAikCKgL4AhsCGQL4AhkC9QL8AhgCHQL8Ah0C+gI3AiECOwI3AjsCPwI+AjoCHwI+Ah8CMgIsAi0CKAIsAigCJwKHAoYCeAGHAngBeQGAAn4C5wGAAucB5AGCAoAC5AGCAuQB5gGNAXUBkQGNAZEBlQEXAhECBAIXAgQCCAKGAYgBiwGGAYsBjAHNAdEB5wHNAecB4wF6AngCtQF6ArUBwAETAhICBQITAgUCAwLMAeIB7QHMAe0B6AHpAfMB+QHpAfkB+AHQAdEB9wHQAfcB9gH/AQACDgL/AQ4CDQJJAj8COwJJAjsCSgIhAiICOwIiAjwCOwIbAi8CKgIbAioCGQJdApoBuQFdArkBVwLCAakBxwHCAccBywFXArkBxAFXAsQBWQIjAh8COgIjAjoCPQJwAhcCFgJwAhYCdQLaAn4BgQHaAoEB3gIsAh0CGAIsAhgCLQITAgMCBAITAgQCEQJrAmgC0wFrAtMB1QF8AnYCrAF8AqwBsQFmAl8CaAFmAmgBbgGGAn4BgwGGAoMBjAJzAXcBfQF3AXgBfQEPAgsC/QEPAv0BBgIJAggCBAIJAgQC/gFVAkICOAJVAjgCVAJQAjMCQgJQAkICVQI+AkkCSgI+AkoCOgIyAkwCSQIyAkkCPgL1AhkCRAL1AkQCAgMqAkUCRAIqAkQCGQIiAkECRwIiAkcCPAI7AjwCRwI7AkcCSgIoAi0CRQIoAkUCQwI0AjACQAI0AkACSAJRAlYCQQJRAkECIgI0AkgCQgI0AkICMwIoAkMCVgIoAlYCUQIxAlACVQIxAlUCSwJLAlUCVAJLAlQCNgIjAk0CUwIjAlMCHwIkAjMCUAIkAlACUgI4AiYCTgI4Ak4CVAJDAikCTQJDAk0CVgIiAiECTwIiAk8CUQLiAlcCWQLiAlkC5ALoAl0CVwLoAlcC4gKbAV4CWgKbAVoClgHjAlgCWgLjAloC5wKeAVsCWQKeAVkCxAGYAVgCXAKYAVwCnwHhAtoCXwLhAl8CZgJoAV8CYwJoAWMCagHgAmUCZALgAmQC3wLfAmQCYALfAmAC2wJqAWMCYgJqAWICcQFwAWECYAJwAWACjwHtAusCaALtAmgCawLSAWcCaQLSAWkC8AHuAmwCaQLuAmkC7ALxAu0CawLxAmsCagLvAm0CbALvAmwC7gLYAW4CagLYAWoC2gEKAnACdQIKAnUCzgISAhMCdAISAnQCbwISAm8CcgISAnICFAITAhECcQITAnECdAIRAhcCcAIRAnACcQIVAnMCdQIVAnUCFgKzAbcBdgKzAXYCfAK/Aa0BeAK/AXgCegK+AX0CegK+AXoCwAG3AbQBdwK3AXcCdgKyAXsCfQKyAX0CvgGvAXcCeQKvAXkCrgHeAd8BgALeAYACggLfAdwBfgLfAX4CgALtAX8CgwLtAYMC8QHcAeEBhQLcAYUCfgLdAYECgwLdAYMC7gHsAX8ChALsAYQC4AF4AYYCjAJ4AYwCfQGBAX4BhgKBAYYChwKKAX8BiAKKAYgCigJ8AYsCjQJ8AY0CiAGAAYEBhwKAAYcCiQKJAYoBigKJAYoCjQKTAo8CsAKTArACuQLAAqsCvgLAAr4CwQKVApYCrwKlAqECrQKlAq0CtgLCAkYCqQLCAqkCrAK2Aq0CsgK2ArICugKvApYClwKvApcCtQKgAqQCugKgAroCsgKhAqICrQKPApACsAKjArICrQKjAq0CogKkAqUCtgKkArYCugKaAp4CuwKaArsCswK3Aq4CswK3ArMCuwKpAqYCrAKfApsCrgKfAq4CtwKUApgCvAKUArwCtQKYApkCuAKYArgCvAK4Aq8CtQK4ArUCvAK5ArACtAK5ArQCvQKrAqcCvwKrAr8CvgKZApUCrwKZAq8CuAKdApoCswKdArMCrgKdAq4CnAKwApACkQKwApECtAKmAqoCsQKmArECrAKfArcCuwKfArsCngKjAqACsgKbApwCrgKXApQCtQKRAo4CtALBAsICrALBAqwCsQKSApMCuQKSArkCvQKnAqgCvwKSAr0CtAKSArQCjgK+Ar8CwgK+AsICwQK/AqgCRgK/AkYCwgKqAsACwQKqAsECsQLVAsQCCgLVAgoC1ALYAtcCygLYAsoCxQLWAsMCxALWAsQC1QLWAsgCygLWAsoC1wLTAtQCCgLTAgoCzgLTAs4C/AHTAvwB2QLQAtMC2QLQAtkCxgLQAtIC1ALQAtQC0wLDAtYC1wLDAtcC+gHIAtYC1QLIAtUCzQL7AfoB1wL7AdcC2ALNAtUC1ALNAtQC0gKJAd8C2wKJAdsCigGCAeAC3wKCAd8CiQGDAX4B2gKDAdoC4QJfAtoC3gJfAt4CYwJjAt4C3QJjAt0CYgJhAtwC2wJhAtsCYAKvAeMC5wKvAecCrAGwAegC4gKwAeICvQG9AeIC5AK9AeQCvwFeAukC5wJeAucCWgJbAuUC5AJbAuQCWQJYAuMC5gJYAuYCXALgAe8C7gLgAe4C7AHcAd8B7QLcAe0C8QLsAe4C7ALsAewC7gHfAd4B6wLfAesC7QJnAuoC7AJnAuwCaQJuAvAC8QJuAvECagIwAv8CAQMwAgEDQAJAAgED8gJAAvICOQIFAyQDnAEFA5wBlwHGAAYDnQHGAJ0BwwEJA8YAwwEJA8MBuAEkAwkDuAEkA7gBnAEGAyEDmQEGA5kBnQEhAwUDlwEhA5cBmQEdAxkB2QEdA9kB2wELAycD1AELA9QB7wEqAwsD7wEqA+8B6gEnAykD1gEnA9YB1AEpAx0D2wEpA9sB1gEZASoD6gEZAeoB2QEEAQMByQIEAckCzAIPA2YBzwIPA88CxwIDAREDywIDAcsCyQISAwQBzAISA8wC0QJmARID0QJmAdECzwIRAw8DxwIRA8cCywIAAIA/e5OZt28jgzIAAACAbyODMhCZ2jro/38/AAAAgHuTmbfp/3+/EJnaOgAAAID7W/Y0TJ/ePBNZ37cAAIA/8Z5/PyrIUj24mJC8AAAAgMCYkLyCAx0/6yRKPwAAAAAqyFI938NJv4MDHT8AAACAINQdvB02UbxdR4C8AACAP8Yhej+GP1E+S3h0vQAAAIBFeHS9FjYIPxo3WD8AAAAAij9RPuFYUr8ZNgg/AAAAgOSfALvcAmm9wgCpvAAAgD/zyns/xUYuPr3ndr0AAACAx+d2vVPOHz8fZkc/AAAAAMZGLj4VMUO/VM4fPwAAAIClupG7bhbOvdvDHLwAAIA/FJB3P0i4ez5H34e9AAAAgFLfh71KW/0+oc9dPwAAAABLuHs+uV9Vv09b/T4AAACA5HJrO4uIA74cHPC8AACAP5Osfz/Fm069fEZPNwAAAIDvQk83w1MAOv7/fz8AAACAxZtOvZKsf7/BUwA6AAAAgAOqIzyNavu5jMK3vAAAgD/znHU/13GPvgYZAj0AAACABxkCPWOVYD6Aonk/AAAAgNdxj75zP2+/ZpVgPgAAAICoCh+8BLervSihfbsAAIA/D1N7PxHcQT4ACpq8AAAAgAQKmryzlkc+RAt7PwAAAAAV3EE+VF52v7SWRz4AAACAzao/PfIN572EAgW8AACAP+0eZT+M6OI+lkFPvQAAAICYQU+9n7NaPurBeT8AAAAAjujiPtfgXr+hs1o+AAAAgArRqj1wuQG+WTe+uwAAgD/Br3c/2zCBPhFBdrwAAACAI0F2vJYs7z0aOH4/AAAAAN4wgT7b53W/lyzvPQAAAIBmlUw9uXsqvjRqurwAAIA/f7h+PzJdzL0YdmW7AAAAgCd2ZbsWL4+9O19/PwAAAAAyXcy9uhd+vxgvj70AAACAlEojPFUcO7rqe2q7AACAP9ozfz9cWKG9eRJzuwAAAIB4EnO7QBzAvZPefj8AAAAAXFihvW4Sfr9DHMC9AAAAgCtQPzwkkKW9MP2zuwAAgD8OAns/zTpJPkJsvToAAACAcGy9Ohaebrz6+H8/AAAAAMw6ST4I+3q/L55uvAAAAIBN5Do9OXfxvZbKkzsAAIA/cQRcPxPYAj+rMzc8AAAAgLYzNzx0iya9tMV/PwAAAAAT2AI/JMpbv3yLJr0AAACAN3++PX62Ab40sBY6AACAP8z8ej9io0k+O1jEOgAAAIBxWMQ6LNN2vH34fz8AAAAAY6NJPkn1er9L03a8AAAAgKRlGz3dczC+Zd+lOwAAgD8V1X8/JNcTvanhJrsAAACAs+EmuyG5D74Rd30/AAAAACXXE70nTH2/IrkPvgAAAIBNNyM8OJQNu169UzwAAIA/2Sl+PzAR8739pm28AAAAgP+mbbybunW+9314PwAAAAAvEfO90Kd2v5y6db4AAACAW0FpOzHnnr2w4qQ7AACAP4Geej+3tk8+O7etPAAAAIBFt608+Y5RvvCFej8AAAAAubZPPnMkdb/6jlG+AAAAgOqoJT2/3eG9/KMhPAAAgD9+FmQ/A+zmPncSVz0AAACAdhJXPYpqXr7Nhnk/AAAAAAbs5j5MnV2/jGpevgAAAID7iZk98r77vde9CDwAAIA/jPN5P9uKXD4Id5A8AAAAgAB3kDxBmyS+a6F8PwAAAADeilw+9pR2v0ObJL4AAACAb1wQPegNJ75nw5M8AACAP9yVfz/CDmi96ZipuwAAAIDqmKm7iWU5vgrEez8AAAAAxA5ovedZe7+KZTm+AAAAgB4OILkGq7C7zojxPAAAgD9GxH8/pvsrvcwq+7sAAACA2Cr7u4/StL7Ffm8/AAAAAKf7K70NQ2+/kNK0vgAAAIDvRTU6gweavVEZhjwAAIA/cLpxP9cHpz6wdTU9AAAAgLt1NT3Ju4S+y/x2PwAAAADXB6c+QLdov8q7hL4AAACA9QcdPRq1yr2Jjd48AACAP1sYWj+0dwQ/o4GkPQAAAICmgaQ9DbqPvi3YdD8AAAAAtHcEP47wTr8Nuo++AAAAgOp/fT1QbNu976nGPAAAgD9Uqng/+xBxPi1bBT0AAACAJ1sFPQn4iL5Yh3Y/AAAAAPgQcT6zMW+/CPiIvgAAAIBTAbA8EWcOvvQ43DwAAIA/AACAP8efUTbfoFK2AAAAgNqgUbYAAIA/PFSmtwAAAADSn1I2xkOmNwEAgD8AAACA6yf8vKnrKz1ooiM9AACAPw==" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import new file mode 100644 index 0000000..6fb44fe --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bnx4hithcij6y" +path="res://.godot/imported/Hand_Glove_low_L.gltf-7b94b12c0dff159d494da6cafd52895d.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" +dest_files=["res://.godot/imported/Hand_Glove_low_L.gltf-7b94b12c0dff159d494da6cafd52895d.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf b/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf new file mode 100644 index 0000000..172c78c --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_R", + "rotation" : [ + -0.07576872408390045, + 0.019257033243775368, + 0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + 2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_R", + "rotation" : [ + 0.05564067140221596, + -0.010326135903596878, + -0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + 2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_R", + "rotation" : [ + -0.04595031589269638, + 0.027135659009218216, + 0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_R", + "rotation" : [ + 0.3235369920730591, + 2.565749491623137e-05, + 0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + -0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_R", + "rotation" : [ + -0.052288394421339035, + 0.0005572127993218601, + -0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_R", + "rotation" : [ + 0.014225997030735016, + 0.011990753002464771, + 0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_R", + "rotation" : [ + -0.013683199882507324, + 0.024668212980031967, + 0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_R", + "rotation" : [ + 0.11122288554906845, + 0.0027781203389167786, + -0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_R", + "rotation" : [ + -0.0005887771840207279, + -2.10358793992782e-05, + -0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_R", + "rotation" : [ + 0.013688242062926292, + -7.99239132902585e-05, + -0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_R", + "rotation" : [ + -0.013931511901319027, + 0.00014242221368476748, + 0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + -5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_R", + "rotation" : [ + 0.03945539891719818, + -0.004928736016154289, + 0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + -1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_R", + "rotation" : [ + -0.01194659061729908, + -0.000966736872214824, + 0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + 7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_R", + "rotation" : [ + -0.03585463762283325, + -4.2005005525425076e-05, + -0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_R", + "rotation" : [ + 0.03305169194936752, + 0.006719753611832857, + -0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + -5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_R", + "rotation" : [ + -0.011351789347827435, + -0.012621401809155941, + 0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + 2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_R", + "rotation" : [ + 0.01732625439763069, + -0.01860846020281315, + 0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_R", + "rotation" : [ + -0.05105672776699066, + 0.002022986998781562, + -0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_R", + "rotation" : [ + -0.07119493186473846, + -1.573348527017515e-05, + -0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_R", + "rotation" : [ + 0.015836291015148163, + 0.01933973841369152, + -0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_R", + "rotation" : [ + -0.018054774031043053, + -0.011455277912318707, + 0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + -2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_R", + "rotation" : [ + 0.044925764203071594, + -0.03280799090862274, + 0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + 4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_R", + "rotation" : [ + -0.08928601443767548, + -0.003168066032230854, + 0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_R", + "rotation" : [ + -0.09176954627037048, + -2.456200854794588e-05, + -0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_R", + "rotation" : [ + 0.7065238952636719, + 6.479929197666934e-06, + 8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + -0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_R", + "rotation" : [ + -0.7065169215202332, + -6.472751010733191e-06, + -6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Glove_low_R", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Glove_low_R", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 812, + "max" : [ + 0.02935672551393509, + 0.09175886958837509, + 0.025806419551372528 + ], + "min" : [ + -0.03574008867144585, + -0.06838366389274597, + -0.18577708303928375 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 812, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 812, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 812, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 812, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 3480, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 9744, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 9744, + "byteOffset" : 9744 + }, + { + "buffer" : 0, + "byteLength" : 6496, + "byteOffset" : 19488 + }, + { + "buffer" : 0, + "byteLength" : 3248, + "byteOffset" : 25984 + }, + { + "buffer" : 0, + "byteLength" : 12992, + "byteOffset" : 29232 + }, + { + "buffer" : 0, + "byteLength" : 6960, + "byteOffset" : 42224 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 49184 + } + ], + "buffers" : [ + { + "byteLength" : 50848, + "uri" : "data:application/octet-stream;base64,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FRAUDxUPFBAVFA8AFRQAABUUEAAGBQAAFBUPAAYFCwAPEAsKBgoFCwUGAAABAgAAAQIAAAECBQABAgAAAQIAAAECBQAFAQIKDxAVAAEFAgABBQIACwoPEAUKAAAPFAoACg8FAAoFDwAPChQAFA8AABQAAAAUAAAAFAAAABQAAAAFCgAACgsGBQUKAQAFCgEADxQKAA8UCgAPCgAUDwoAFAoPAAUKDwAFFA8AChQPAAoFCgEABQEKAAEFAAAPChQACg8FAAoFDwAUDwAADxUUEA8UCgABAAIAAQACAAEFAAIFAQoCAAEKFAEAFAAAFAEPAAEUABQADwAUAAEADxQKAA8KFAAKBQ8AFAAAAAoPBQAUDwAABQoAABQAAAAFAQAAFAABABQAAAAUAAAAAAEUAAEAFAABBQAAAQUKAAEFCgABBQAAFRAUDwYFAAAGBQAABQIBBgUCAQYFAgYBBQYCAQUGAgEFAQIKBQECAAEFAgAUAAEPFAABDwABFAAAARQAAQAUAAEAFAAFBgAABQYAABQPAAAUAAEAFAABABQAAAAUAAAAAQUCCgIBBQAFAQIAFBUAABQVDwAUFQAACgAFDw8KFAUUDwAAFA8VCgoPBQAUFQ8ACg8FFBQPAAoKBQ8ADxQKABQPAAAPFBUADxQKAA8UAAoUDwAADwoUAAUCAQYFCgEPBQIGAQYFAAAKBQ8ADwoAAAUGCgAFCgYACg8FAAoFCwYPChALBQoGCw8QFRQKDwsABgcAAAYHAAAGBwAABgsAAAYLAAAGCwAABgcLAAYHCwAGBwsABgUAAAYFAAAGBQAABgsFAAsAAAALEAAACxAAAAsGBQALBgUACwYFEBALAAAQERUAEBUAABAVAAAQCwAAEAsAABALFQAQFQsAFRAPFBUUAAAGCwAACwYKAAECAAACAQUABQIBAAECBQACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgEAAAIBBQACBQEAAgUBAAIAAAACBQEAAgEAAAIBAAACAQAAAgEFAAIFAQACBQEAAgEAAAIFAQACAQAAAgEAAAIBAAACAQUAAgUBAAIFAQACAQAAAgUBAAIFAQACAAAAAgEAAAIBBQACAQAAAgEFAAIBAAACAAAAAgAAABUQAAALEAAAFRAPABUQAAAVEAAAFQAAABUQAAAVAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAABgcAAAYHAAAGBwAAEBEVABARFQAQERUAEBEAABARAAAQEQsAEBELABARCwAKBQ8ACgUPAAEFAAoBBQAKAQAFAAEABQABAAUUAQAFFAoFAAEKBQABFA8AABQPAAAUAAEAFAABAAABFAAAARQAFAAPABQADwAUAAEPFAABDxQAAQ8GBwAABgcAAAsMAAALDAAAFRYQABUWEAAVFhAAAQAUBQEAFAUPCgAUCg8ABQUKAQAKBQAPBQEAChQPAAoUDwAAAQUACgEABRQUAA8BAQAFFBQAAQABABQFFAABDwEAFAUUAAEPDxQACgoFAA8AFAEPAQUKAAEFCgAFCgEABQoBAAoFDwAKBQ8AAQAFFAEABRQPFAoADxQKAA8KABQPCgAUCg8ABQoPAAUUDwAKFA8ACgEAFAUBABQFAAEUAAABFAAKBQAPCgUADxQAAQAUAAEAFAABABQAAQAUAAEPFAABDwEABRQBAAUUFAAPABQADwAUDwAAFA8AAAEFAAoBBQAKBgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgHAAAIBwAACAAAAAgAAAAIAAAACAAAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAgAAAAIAAAACAAAAAcIAAAHCAAACAAAAAgAAAAIAAAABgcAAAYHAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAALDAAACwwAAAsMAAALDAAACwwAAAsMAAALDAAACwwAAAsMAAALDAAADQwAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANDAAADA0AAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAA0MAAANDAAADQAAAA0AAAANDAAACwwAAAsMAAANAAAADQAAAA0AAAAMDQAADQAAAAwNAAANAAAADQAAAA0AAAALDAAACwwAAA0AAAANAAAADQAAAA0AAAANDAAADQAAAA0AAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAQEQAAEBEAABARAAAQEQAAEBEAABARAAAQEQAAEBEAABARAAAQEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAQEQAAEBEAABIRAAASAAAAEhEAABARAAAQEQAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAFgAAABYXFQAWFxUAFwAAABcAAAAXAAAAFwAAABcWAAAXFgAAFxYAABcAAAAXFgAAFwAAABcAAAAXAAAAFwAAABYXFQAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAgMAAAMAAAADAAAAAwIAAAMCAAADAgAAAwAAAAMAAAADAgAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAIDAAADAAAAAwIAAAMCAAACAwAAAwIAAAMAAAADAAAAAwIAAAMAAAADAAAAAwAAAAMAAAADAgAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAADA0AAAwAAAAMDQAADAAAAAwAAAAMAAAADAAAAAwAAAAHAAAABwgAAAcIAAAHCAAABwAAAAcIAAAHCAAABwgAABESAAAREgAAERIAABEAAAARAAAAERIAABESAAAREgAAFhcAABYXAAAWFwAAFhcAABYXAAAWFwAAFhcAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAAEhEAABIRAAASAAAAEgAAABIAAAASEQAAEhEAABIRAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAXAAAAEgAAAA0AAAAIAAAAAwAAABcAAAASAAAACAAAAA0AAAAXAAAAEgAAAA0AAAAIAAAAFwAAABIAAAANAAAACAAAAAMAAAADAAAAAwAAAAMAAAADAAAAFgAAABYXFQAVFgAA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AACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAA7ENeP33X0D2PJPQ8AAAAAAAAAD8AAAA/AAAAAAAAAAAAAAA/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xAC2AAkACAC2AAgAtQC4AMEAwwC4AMMAAQCeAMsAcgCeAHIAdQAmABMAEgAmABIAIgA9AGIAXgA9AF4AlAAXADIA9wAXAPcAtwAbAC8ABgAbAAYAvgAGAC8AUAAGAFAA+ABaAJMAigBaAIoAXwBEAEIAUQBEAFEATACWAIQAYwCWAGMAiwAKALwAAQAKAAEACwA6AGMAhAA6AIQAgQBUAIgAVgCVAJgAmgCVAJoAlwBIABoBhQBIAIUATwCRACEAIACRACAAiQBCAEgATwBCAE8AUQCDABwBaACDAGgAZQACABEABQCPAI0AHACPABwAHQAaACUALwAaAC8AGwA+AMgAxwA+AMcAJgAuAJwAnQAuAJ0AVQAjAB8AHgAjAB4AUACBADgATwCBAE8AhQCBAIQAYQCBAGEAOAAgAAIAxgAgAMYAIwB5AFsAWQB5AFkAewDJACgAKwDJACsAKgBtAGkAFgFtABYBFAFjADoAPABWAIgAVQBWAFUAjAARAG4ADgARAA4ADwA5AFsAeQA5AHkAOwCSABkAHACSABwAjQAWABcAtwAWALcAAAAQALUACAAlABoAvQAlAL0ABwAFABEADwBJAEoAbABJAGwAQAC5APcABwC5AAcAwgA1ADYATgA1AE4ATQBuAB0ADQBuAA0ADgATACYAxwATAMcArQAYAJ0AnAAYAJwAFQAaABsAvgAaAL4AvQA1AGAAXgA1AF4ANgAlAAcA9wAlAPcAMgCdAJIAjACdAIwAVQAVAAkACgAVAAoAGAAMABwAGQAMABkACwCsABIAEwCsABMArQBgADUANwBgADcAXQAOAPYABQAOAAUADwASAKwAIgARAAIAIADFAB4AHwDFAB8AxgDAAAYA+ADAAPgABACvAMcAyACvAMgAuwAQAIAAcABzACcAfwBzAH8AdABXAH0AewBXAHsAWQCGAIgAVACGAFQALQAtAFQAUwAtAFMALABLAFcAaQBLAGkAbQAwAHgAZAAwAGQAdwBYAFoAegBYAHoAfABfADwAegBfAHoAWgC8AAoACQC8AAkAtgAnAHMAogD2AA4ADQD2AA0AxAALAAEAwwALAMMADABcADQAOABcADgAYQARACAAbgA2AF4AYgA2AGIAMwDMAHMAcQBLAFIAfQBLAH0AVwCGAO0AywCGAMsALgAqAEsAeAAqAHgAMABnAIUAIAFnACABIwEsARYBaQAeASwBaQAeAWkAaAAeAWgAHAFKAGoAEgFKABIBbAA2ADMASQA2AEkATgBNAEwANwBNADcANQA0AFwAXQA0AF0ANwBRAE8AOABRADgANABqAG0AFAFqABQBEgFlAGYAIgFlACIBgwAhAG4AIAAVAJ8AJAAVACQACQB/ACcAIgB/ACIAbwAdAG4AIQB0AHEAcwAxAHMAzACBAIUAZwCBAGcAOgAxAIcAMAB2AHMAMQBjADwAXwBbADkAZgBbAGYAZQBXAFkAaABXAGgAaQB4AEsAbQB4AG0AagBkAHgAagBkAGoASgBZAFsAZQBZAGUAaABWAFgAfABWAHwAfgAMAMMAxAAMAMQADQBWAH4AUwBWAFMAVAALABkAGAALABgACgAWAD4AMgAWADIAFwCAABAAnwCAAJ8AFAAzAGIAdwAzAHcAZAB3AGIAPQB3AD0AdgAtACwAKQAtACkAygBOAEkAQABOAEAAGAEYARABTgBGAEQATABGAEwATQBwALQAtQBwALUAEAAjAMYAHwA+ABYAAAA+AAAAyAD4AFAAHgD4AB4AxQCFABoBIAE0ADcATAA0AEwAUQArAFIASwArAEsAKgAcAAwADQAcAA0AHQBWAIwAmQBWAJkAWACVAJcAUACVAFAAqABhAIQAlgBhAJYAmgCPAB0AIQCPACEAkQAtAMoA7QAtAO0AhgAuAFUAiAAuAIgAhgDMAIcAMQDJACoAMAAxADAAdwAxAHcAdgCHAMkAMACTAI8AkQCTAJEAigAmACIAJwAmACcApwAvACUApgAvAKYAqACMAJIAjQCMAI0AmQCTAJkAjQCTAI0AjwCKAJEAiQCKAIkAiwAyAD4ApQAyAKUAqQAjAI4AiQAjAIkAIACYAJUAoQCYAKEAmwBgAJAAlABgAJQAXgCaAJYAjgCaAI4AlwCcAC4AywCcAMsAngBaAFgAmQBaAJkAkwBfAIoAiwBfAIsAYwCkAKkApQCkAKUAoABcAJgAmwBcAJsAXQCbAJAAYACbAGAAXQA+ACYApwA+AKcApQAZAJIAnQAZAJ0AGACYAFwAYQCYAGEAmgAjAFAAlwAjAJcAjgCUAJAApACUAKQAoACOAJYAiwCOAIsAiQCiAKMApwCiAKcAJwCfABAAJAB1AIAAFAB1ABQAngAkABAACACfABUAFACoAKYAoQCoAKEAlQCjAD0AlACjAJQAoABzAHYAogCiAHYAPQCiAD0AowCkAJAAmwCkAJsAoQClAKcAowClAKMAoACmAKkApACmAKQAoQCoAFAALwCmACUAMgCmADIAqQCvALEAqwCvAKsAxwAOAxADtgAOA7YAtQALAQYAwAALAcAACQGtAKsAJQGtACUBrAC4AAEAFAO4ABQDHQOsACUBBAGsAAQBswCtAMcAqwC7AMgAHAMSAxQDAQASAwEAvAC3ACcB/wK3AP8CAAC5AB4D9wDEAMMAFgPEABYDGAMNARYDwwANAcMAwQCuALYAEAOuABADsAAOA7UAtAAOA7QABQG+AAsBIQO+ACEDvQDMAHEA6QDMAOkA6ADfANcA1QDfANUA3QDoAOkA4QDoAOEA4AD1AO8A4wD1AOMA2wDtAMoA6wDtAOsA8ADXAM8AzQDXAM0A1QDdAOUA5wDdAOcA3wDzAOAA2ADzANgA8QAKA/8A1AAKA9QA7gDYANkA0QDYANEA0AAIAb8AxAAIAcQAGAO+AAYACwG3APcAHgO3AB4DJwHvAPAA6wDvAOsA4wDxANgA0ADxANAA9ADOANMA2wDOANsA1gCHAMwA6ACHAOgA8gDuANQA3ADuANwA9QDbAOMA3gDbAN4A1gAoAMkA5wAoAOcA5QDkANwA2gDkANoA4gDjAOsA5gDjAOYA3gDcANQA0gDcANIA2gDsAOQA4gDsAOIA6gASA7wAugASA7oAGwPKACkA5gDKAOYA6wDsAOoAcgDsAHIAywAAAP8CHAMAABwDyADgAOEA2QDgANkA2ADyAPMA3wDyAN8A5wAHAA4BwgC9ACEDDgG9AA4BBwDoAOAA8wDoAPMA8gDTAO4A9QDTAPUA2wDJAIcA8gDJAPIA5wDXAPEA9ADXAPQAzwDkAOwA8ADkAPAA7wACAQoD7gACAe4A0wDfAPMA8QDfAPEA1wDLAO0A8ADLAPAA7ADcAOQA7wDcAO8A9QAEAPkAJQMEACUDKgEmAyMD/QAmA/0A+wAFAPYA+gAFAPoA/AD2AAMA+gAoAyYD+wAoA/sA/AAjAyUD+QAjA/kA/QD5AMUAxgD5AMYA/QD6AAADKAP6ACgD/AD4AMUA+QD4APkABAADACkBAAMDAAAD+gD7AAIABQD7AAUA/AD9AMYAAgD9AAIA+wDPAPQADQPPAA0DAQHQANEABgPQAAYDCQPNAM8AAQHNAAEBAgP0ANAACQP0AAkDDQPUAP8ABwPUAAcD0gDOAAMDAgHOAAIB0wAzATIBPwEyAT0BPwE5ATgBPwE0AT8BMQE2ATMBPwE9AS0BPwEtAS4BPwEuAT4BPwE+ATABPwEwAS8BPwE/ATsBOQE1AT8BNAE3AT8BNQE7AT8BNwE4AToBPwE6ATwBPwE8ATYBPwFcAUYBEwFcARMBFQFNAUsBQwBNAUMARQBVAUUBDwFVAQ8BFwFWAVIBHQFWAR0BGwFDAVUBFwFDARcBPwBFAU0BRQBFAUUADwFYAVYBGwFYARsBggA/AGsAQQE/AEEBQwFeAVoBIQFeASEBHwFQAVwBFQFQARUBKwFPAWEBGQFPARkBRwBaAVgBggBaAYIAIQFGAWIBEQFGAREBEwFSAVABKwFSASsBHQFiAUEBawBiAWsAEQFJAU8BRwBJAUcAQQBhAV4BHwFhAR8BGQFLAUkBQQBLAUEAQwAtAT0BSAEtAUgBSgEzATYBXwEzAV8BYAE9ATIBTgE9AU4BSAE0ATEBQAE0AUABYwE5ATsBUQE5AVEBUwE1ATQBYwE1AWMBRwE8AToBWQE8AVkBWwEyATMBYAEyAWABTgE7ATcBXQE7AV0BUQE2ATwBWwE2AVsBXwE6ATgBVwE6AVcBWQE+AS4BTAE+AUwBRAEvATABVAEvAVQBQgE4ATkBUwE4AVMBVwEwAT4BRAEwAUQBVAEuAS0BSgEuAUoBTAE3ATUBRwE3AUcBXQFAATEBLwFAAS8BQgExAT8BLwEaA/4CkAEaA5ABlAEmAR8DmQEmAZkBkgEVAxMDswEVA7MBvgEfAxUDvgEfA74BmQETAxoDlAETA5QBswH+AiYBkgH+ApIBkAHXAtUChAHXAoQBfAGMAYsBigGMAYoBjQGAAY4BjwGAAY8BhgFyAYwBjQFyAY0BcwH9AfkB+gH9AfoB/wFwAYsBjAFwAYwBcgGeAaMBpAGeAaQBnwFzAXQBdQFzAXUBcgFsAm8CyAJsAsgC9QHYAtYCewHYAnsBfQF2AXABcgF2AXIBdQHyAeMBxwHyAccB7gGHAoIBhQGHAoUBhAK1AbQBmwG1AZsBoAF5An4C3AF5AtwB5wHdAuACqAHdAqgBqQHqAusC1gHqAtYB2wHKAckB7wHKAe8B8AGOAYABbgGOAW4BigFzAY0BigFzAYoBbgF7An0C6wF7AusB3wFeAloCiAFeAogBKgPfAt4CuQHfArkBpwG2AcQBxQG2AcUBvAGkAcIBwwGkAcMBpQFnAmYC5AFnAuQB0gFSAlQCkQFSApEBkwHjAuECpgHjAqYBqwEDAgoCBgIDAgYC+AGaAaUBnAGlAaEBnAHEAbYBoQHEAaEBwAGlAcMBwAGlAcABoQHtAfMB7wHtAe8ByQGcAa0BsQGcAbEBmgG1AbsBvwG1Ab8BtAFxAnMCsAFxArABrgF1AncCtwF1ArcBqgFgAl4CKgNgAioDaQFwAqYBqQFwAqkBcQLLAfEB7gHLAe4BxwEHAgYCBQIHAgUCCAL3AQACAQL3AQEC+wEOAvsBAQIOAgECEAK0Ab8BugG0AboBuAGuAZ8BmgGuAZoBsQGOAYoBiwGOAYsBjwHwAe8B7gHwAe4B8QGvAboBvwGvAb8BnQFrAr4CBAJrAgQCagJ4AuEB3QF4At0BfwJ5An0C6AF5AugB5gEMAv8B/AEMAvwBDwJ3AnQCuQF3ArkBtwHiAewB6wHiAesB5wGCAnYBdQGCAnUBgQKiAZ0BvwGiAb8BuwHKAd4B4AHKAeAByQEJAgUCBgIJAgYCCgLLAeEB3gHLAd4BygHzAfIB7gHzAe4B7wFkAtUB0AFkAtABZQL3AfwB/wH3Af8B+gGaAZ8BpAGaAaQBpQGwAZ4BnwGwAZ8BrgFuAr0CvgJuAr4CawJmAmMC6QFmAukB5AFpAm0C9gFpAvYB9AGHAXEBdwGHAXcBhQEAAgkCCgIAAgoCAwKGAocCgwGGAoMBfwEAAgMCAgIAAgICAQKbAbQBuAGbAbgBrAH9Af4B+AH9AfgB+QGEAoUBdwGEAncBgwJ5AW8BgQF5AYEBggH6AQgCBQL6AQUC9wFpAvQBvQJpAr0CbgL5AfgBBgL5AQYCBwLkAuYC6AHkAugB1wEBAgICEQIBAhECEALCAcEBwAHCAcABwwHEAcABwQHEAcEBxQHsAcgB3wHsAd8B6wGkAaMBwQGkAcEBwgFLAiICIAJLAiACSALxAhUCKgLxAioC+AJCAjwCMgJCAjICLwItAi4CKQItAikCHwJQAjsCHQJQAh0CRwIhAiYCLwIhAi8CMgJOAjECGwJOAhsCSQJCAi8CMwJCAjMCOgJNAhkCLAJNAiwCSgI9AiMCJAI9AiQCPwJEAjQCNwJEAjcCQALtAjMCFwLtAhcC9QI7AkACNwI7AjcCHQI/Aj4CEgI/AhICJwL9AvcCEgL9AhICPgIqAhUCKQIqAikCLgJFAkMCOQJFAjkCMAJHAkwCHgJHAh4CIwIXAjMCLwIXAi8CJgIoAiQCIwIoAiMCHgLwAu4CEwLwAhMCFAL3AvQCFgL3AhYCEgIwAjkCNQIwAjUCGgI4AisCGAI4AhgCNAIlAiACIgIlAiICJwKBAnUBdAGBAnQBgAJ6At4B4QF6AuEBeAJ8AuAB3gF8At4BegKGAY8BiwGGAYsBcAERAgIC/gERAv4BCwKBAYcBhQGBAYUBggHHAd0B4QHHAeEBywF0AroBrwF0Aq8BcgINAv0B/wENAv8BDALGAeIB5wHGAecB3AHjAfIB8wHjAfMB7QHKAfAB8QHKAfEBywH5AQcCCAL5AQgC+gFDAkQCNQJDAjUCOQIaAjUCHAI1AjYCHAIUAhMCJAIUAiQCKAJXAlECsgFXArIBlQG8AcUBwQG8AcEBowFRAlMCvQFRAr0BsgEdAjcCNAIdAjQCGAJqAm8CEAJqAhACEQLUAtgCfQHUAn0BegElAicCEgIlAhICFgINAgsC/gENAv4B/QFlAtABzgFlAs4BYgJ2AqsBpgF2AqYBcAJfAmgBZQFfAmUBWQKAAoUCfgGAAn4BegFuAXgBcwF4AXQBcwEJAgAC9wEJAvcBBQIDAvgB/gEDAv4BAgJPAk4CMgJPAjICPAJKAk8CPAJKAjwCLQI4AjQCRAI4AkQCQwIrAjgCQwIrAkMCRQLuAv0CPgLuAj4CEwIkAhMCPgIkAj4CPwIcAjYCQAIcAkACOwI1AkQCQAI1AkACNgIiAj0CPwIiAj8CJwIuAkICOgIuAjoCKgJLAhwCOwJLAjsCUAIuAi0CPAIuAjwCQgIiAksCUAIiAlACPQIsAkYCTwIsAk8CSgJGAjECTgJGAk4CTwIdAhgCTAIdAkwCRwIfAk0CSgIfAkoCLQIyAk4CSQIyAkkCIQI9AlACRwI9AkcCIwIcAksCSAIcAkgCGgLcAt4CUwLcAlMCUQLiAtwCUQLiAlECVwKWAZEBVAKWAVQCWALdAuECVALdAlQCUgKXAb0BUwKXAVMCVQKTAZgBVgKTAVYCUgLaAl8CWQLaAlkC1AJlAWcBXQJlAV0CWQLbAtkCXgLbAl4CYALZAtUCWgLZAloCXgJnAWwBWwJnAVsCXQJrAYgBWgJrAVoCXALnAmUCYgLnAmIC5QLNAekBYwLNAWMCYQLoAuYCYwLoAmMCZgLrAmQCZQLrAmUC5wLpAugCZgLpAmYCZwLTAdUBZALTAWQCaAIEAsgCbwIEAm8CagIMAmkCbgIMAm4CDQIMAg8CbQIMAm0CaQINAm4CawINAmsCCwILAmsCagILAmoCEQIOAhACbwIOAm8CbAKtAXYCcAKtAXACsQG5AXQCcgK5AXICpwG4AboBdAK4AXQCdwKxAXACcQKxAXECrgGsAbgBdwKsAXcCdQKpAagBcwKpAXMCcQLYAXwCegLYAXoC2QHZAXoCeALZAXgC1gHnAesBfQLnAX0CeQLWAXgCfwLWAX8C2wHXAegBfQLXAX0CewLmAdoBfgLmAX4CeQJ0AXgBhQJ0AYUCgAJ9AYECgAJ9AYACegGEAYQCgwKEAYMCfAF5AYIBhwJ5AYcChgJ7AYICgQJ7AYECfQGDAYcChAKDAYQChAGNArMCqgKNAqoCiQK6ArsCuAK6ArgCpQKPAqkCkAKfArACpwKfAqcCmwK8AqYCowK8AqMCQQKwArQCrAKwAqwCpwKpAq8CkQKpApECkAKaAqwCtAKaArQCngKbAqcCnAKJAqoCigKdApwCpwKdAqcCrAKeArQCsAKeArACnwKUAq0CtQKUArUCmAKxArUCrQKxAq0CqAKjAqYCoAKZArECqAKZAqgClQKOAq8CtgKOArYCkgKSArYCsgKSArICkwKyArYCrwKyAq8CqQKzArcCrgKzAq4CqgKlArgCuQKlArkCoQKTArICqQKTAqkCjwKXAq0ClAKXApYCqAKXAqgCrQKqAq4CiwKqAosCigKgAqYCqwKgAqsCpAKZApgCtQKZArUCsQKdAqwCmgKVAqgClgKRAq8CjgKLAq4CiAK7AqsCpgK7AqYCvAKMArcCswKMArMCjQKhArkCogKMAogCrgKMAq4CtwK4ArsCvAK4ArwCuQK5ArwCQQK5AkECogKkAqsCuwKkArsCugLPAs4CBALPAgQCvgLTAsECxQLTAsUC0QLQAs8CvgLQAr4CvQLQAtECxQLQAsUCwwLNAsgCBALNAgQCzgLNAtIC9QHNAvUByALJAsAC0gLJAtICzQLJAs0CzgLJAs4CywK9AvQB0QK9AtEC0ALDAsYC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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import new file mode 100644 index 0000000..31c5355 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://csgsp0wuw8ucy" +path="res://.godot/imported/Hand_Glove_low_R.gltf-c32907596b2287c95aff0e704780ef3d.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" +dest_files=["res://.godot/imported/Hand_Glove_low_R.gltf-c32907596b2287c95aff0e704780ef3d.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf b/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf new file mode 100644 index 0000000..52042fd --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_L", + "rotation" : [ + -0.07576872408390045, + -0.019257033243775368, + -0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + -2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_L", + "rotation" : [ + 0.05564067140221596, + 0.010326135903596878, + 0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + -2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_L", + "rotation" : [ + -0.04595031589269638, + -0.027135659009218216, + -0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_L", + "rotation" : [ + 0.3235369920730591, + -2.565749491623137e-05, + -0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + 0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_L", + "rotation" : [ + -0.052288394421339035, + -0.0005572127993218601, + 0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_L", + "rotation" : [ + 0.014225997030735016, + -0.011990753002464771, + -0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_L", + "rotation" : [ + -0.013683199882507324, + -0.024668212980031967, + -0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_L", + "rotation" : [ + 0.11122288554906845, + -0.0027781203389167786, + 0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_L", + "rotation" : [ + -0.0005887771840207279, + 2.10358793992782e-05, + 0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_L", + "rotation" : [ + 0.013688242062926292, + 7.99239132902585e-05, + 0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_L", + "rotation" : [ + -0.013931511901319027, + -0.00014242221368476748, + -0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + 5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_L", + "rotation" : [ + 0.03945539891719818, + 0.004928736016154289, + -0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + 1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_L", + "rotation" : [ + -0.01194659061729908, + 0.000966736872214824, + -0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + -7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_L", + "rotation" : [ + -0.03585463762283325, + 4.2005005525425076e-05, + 0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_L", + "rotation" : [ + 0.03305169194936752, + -0.006719753611832857, + 0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + 5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_L", + "rotation" : [ + -0.011351789347827435, + 0.012621401809155941, + -0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + -2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_L", + "rotation" : [ + 0.01732625439763069, + 0.01860846020281315, + -0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_L", + "rotation" : [ + -0.05105672776699066, + -0.002022986998781562, + 0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_L", + "rotation" : [ + -0.07119493186473846, + 1.573348527017515e-05, + 0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_L", + "rotation" : [ + 0.015836291015148163, + -0.01933973841369152, + 0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_L", + "rotation" : [ + -0.018054774031043053, + 0.011455277912318707, + -0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + 2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_L", + "rotation" : [ + 0.044925764203071594, + 0.03280799090862274, + -0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + -4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_L", + "rotation" : [ + -0.08928601443767548, + 0.003168066032230854, + -0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_L", + "rotation" : [ + -0.09176954627037048, + 2.456200854794588e-05, + 0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_L", + "rotation" : [ + 0.7065238952636719, + -6.479929197666934e-06, + -8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + 0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_L", + "rotation" : [ + -0.7065169215202332, + 6.472751010733191e-06, + 6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Hand_Nails_L", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Hand_Nails_L", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 1988, + "max" : [ + 0.03656641021370888, + 0.09075886756181717, + 0.02576880156993866 + ], + "min" : [ + -0.03117927722632885, + -0.06861073523759842, + -0.18647876381874084 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 1988, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 1988, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 1988, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 1988, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 10224, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 23856, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 23856, + "byteOffset" : 23856 + }, + { + "buffer" : 0, + "byteLength" : 15904, + "byteOffset" : 47712 + }, + { + "buffer" : 0, + "byteLength" : 7952, + "byteOffset" : 63616 + }, + { + "buffer" : 0, + "byteLength" : 31808, + "byteOffset" : 71568 + }, + { + "buffer" : 0, + "byteLength" : 20448, + "byteOffset" : 103376 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 123824 + } + ], + "buffers" : [ + { + "byteLength" : 125488, + "uri" : "data:application/octet-stream;base64,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CAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAHBgAABwYAAAcGAAAHBgAABwYAAAcGAAAHBgAABwYAAAcGAAAHBgAABwYAAAcIAAAIBwAABwgAAAcIAAAIBwAACAcAAAgHAAAIBwAABwgAAAgHAAAHBggABwYIAAcGCAAHBgAABwYIAAcGAAAHBgAABwYAAAcGAAAHBgAABwYAAAcAAAAHBgAABwYAAAYHAAAGBwAABgcAAAYHAAAGBwAABwYAAAcGAAAHBgAABwYAAAcGAAAGBwAABgcAAAYHAAAGBwAABgcAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAACAAAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAcIBgAHBgAABgUAAAYHAAAIAAAACAAAAAgAAAAIAAAACAcAAAYHAAAHBgAABwYIAAgHAAAGBwAABwYAAAcIAAAHCAAACAAAAAcIAAAHCAAABwYAAAYHAAAIAAAABgcAAAgAAAAIAAAACAAAAAYHCwAIBwAABwYAAAgHAAAHBggABgsFAAcGAAAHCAYACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAwNAAAMDQAADAAAAAwNAAAMCwAADAsAAAwLAAAMCwAACwYMAAsMEAALAAAACwYAAAsQAAALEAAACwYAAAsAAAAMCwAADAsAAAwNAAAMDQAACxAAAAsQAAALDBAACwwQAAwLAAAMCwAADA0AAAwNAAALBgUACwYFAAsGDAALBgwADQAAAA0MAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQwAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAMAAAADAsAAAsAAAALAAAADQAAAAwNAAAMCwAACxAGCgsMBhANDAAADQAAAA0AAAANDAAADQAAAA0AAAANAAAADQAAAA0MAAANAAAADQAAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAAsMAAALAAAACwwAAAsMAAALDAAACwwGAAsMBgALDAYACwwAAAsMAAAMCwAADAsAAAwLAAAMCwAADAsAAAwLAAAMAAAADAsAAAwLAAAMCwAADAsAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAAMCw0ADAsNAAwLDQAMAAAADAsNAAwAAAAMCwAADAsAAAwLAAAMCwAADAAAAAwAAAAMCw0ADAsNAAsMAAALDAAACwwAAAsMAAALDAAADAsAAAwLAAAMCwAADAsAAAwLAAALDAAACwwAAAsMAAALDAAACwwAAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAA0MAAANDAAADA0AAA0MAAANDAAADA0AAA0MAAANDAAADQAAAA0MAAANDAAADQwAAA0AAAANAAAADQAAAA0MAAANDAAADQwAAAwNAAAMCwAACwYFCgsMBgANAAAADQAAAA0AAAANAAAADQwAAAsMBgAMCwAADAsNAA0MAAALDAAADAsAAAwNAAANDAAADQAAAA0MAAAMDQAADAsAAAsMAAANAAAACwwAAA0AAAANAAAADQAAAAsMEAANDAAADAsAAA0AAAAMCw0ACxAKAAwLAAAMDQAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAABESAAAREgAAEQAAABESAAAQEQAAEBEAABEQAAAREAAAEAsRABAVEQAQAAAAEAsAABAVAAAQFQAAEAsAABALAAAREAAAERAAABESEAAREhAAEBUAABAVAAAQERUAEBEVABEQAAAREAAAERIAABESAAAQCwAAEAsAABALEQAQCxEAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAARAAAAEBEAABALAAAQAAAAEgAAABESEAAQEQAAEAsVDxARCxUSAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIRAAASEQAAEhEAABIAAAASAAAAEgAAABIAAAASEQAAEhEAABARAAAQEQAAEBEAABARAAAQEQAAEBELABARCwAQEQsAEBEAABARCwAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAERAAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAAREBIAERASABEQEgAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAERAAABEAAAAREBIAERASABARAAAQEQAAEBEAABARAAAQEQAAERAAABEQAAAREAAAERAAABEQAAAQEQAAEBEAABARAAAQEQAAEBEAABESAAASEQAAEhEAABIRAAAREgAAERIAABIRAAAREgAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABESEAAQEQAAEAsPABALEQASAAAAEgAAABIAAAASAAAAEgAAABARCwAREAAAERASABIRAAAQEQAAERAAABESAAASEQAAEgAAABIRAAASEQAAERAAABARAAASAAAAEBEVABIAAAASAAAAEgAAABARFQASEQAAERAAABIAAAAREBIAEBUPFBARAAAREhAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABYXFQAWFxUAFhcAABYAAAAVFgAAFRYAABUWAAAVFgAAFRAWABUWAAAVAAAAFRAUDxUUAAAVFAAAFRAAABUQAAAVFgAAFRYAABYXFQAWFxUAFRQAABUWAAAVFgAAFhcVABUQAAAVEAAAFRAWABUQFgAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAWAAAAFRYAABUQFAAVAAAAFwAAABYXFQAVFgAAFRAUABUWAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAVFgAAFRYAABUAAAAVFgAAFRAWABUQFgAVEBYAFQAAABUWAAAVFgAAFhUAABYVAAAWFQAAFhUXABYVAAAWFRcAFhUXABYVFwAWFwAAFxYAABcWAAAWFwAAFxYAABcWAAAXFgAAFhcAABcWAAAWFRcAFhUXABYVFwAWFQAAFhUXABYVAAAWFQAAFhUAABYVAAAWFRcAFhUAABYVAAAWFRcAFRYAABUWAAAVFgAAFRYAABUWAAAWFRcAFhUAABYVAAAWFQAAFRYAABUWAAAVFgAAFRYAABUWAAAWFwAAFhcAABYXAAAWFwAAFhcVABYXAAAWFwAAFhcAABYXAAAWFwAAFhcAABcWAAAWFwAAFxYAABYXAAAWFwAAFhcAABYXAAAXAAAAFwAAABcAAAAXFgAAFwAAABcAAAAXFgAAFxYAABcWAAAWFxUAFRYAABUQFA8VEBYAFwAAABcAAAAXAAAAFxYAABUWEAAWFRcAFhUXABcWAAAVFgAAFhUXABYXFQAXFgAAFwAAABcWAAAWFxUAFhUXABUWAAAXAAAAFRYAABcAAAAXAAAAFRYAABcWAAAWFRcAFxYAABYVFwAVFAAAFRYAABYXFQAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAgMAAAMAAAACAwAAAwIAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAgAAAwAAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwAAAAMAAAADAAAAAwIAAAMAAAADAAAAAwIAAAMCAAADAgAAAwIAAAIDAAADAAAAAwAAAAMAAAADAAAAAwIAAAIDAAADAgAAAwIAAAMCAAADAAAAAwIAAAMCAAADAAAAAwAAAAMAAAADAAAAAwIAAAMCAAACAwAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAAHCAYABwgAAAcGAAAHBgAABgsAAAYFAAAGBwAABgAAAAgHAAAIAAAACAAAAAgAAAAIBwAACAcAAAYHAAAGBwAABwYAAAcGAAAIBwAABwgAAAgHAAAHBgAABwYAAAgHAAAHBgAABwYAAAYHAAAGBwAABwgAAAcIAAAHCAAABwgAAAgHAAAIBwAACAAAAAgAAAAIAAAACAcAAAgHAAAMDQAADA0AAAwLAAAMCwAACxAAAAsGAAALBgwACwAAAA0AAAANAAAADQAAAA0AAAANAAAADQwAAAsMAAALDAAADAsAAAwLAAANDAAADQwAAA0MAAAMAAAADAsNAA0MAAAMCwAADAsAAAsMAAALDAAADA0AAAwNAAANDAAADA0AAA0MAAANDAAADQAAAA0AAAANAAAADQwAAA0MAAAREgAAERIAABEQAAAREAAAEBUPABALAAAQCxEAEAAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABARCwAQEQAAERAAABEQAAASEQAAEhEAABIRAAAREAAAERAAABIAAAAREAAAERAAABARAAAQEQAAERIAABESAAASEQAAEhEAABIAAAASAAAAEgAAABIAAAASAAAAEhEAABIRAAAWFwAAFhcVABUWAAAVFgAAFRQAABUQDwAVEAAAFQAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABUQFgAVFgAAFhUAABYVAAAXFgAAFxYAABcWAAAWFQAAFhUAABcWAAAWFQAAFRYAABUWAAAVFgAAFhcAABYXAAAWFwAAFhcAABcAAAAXFgAAFwAAABcAAAAXAAAAFxYAABcWAAAHCAYABwYAAAYFAAAGBwAACAAAAAgAAAAIAAAABwgGAAcGAAAGCwUABgsHAAgAAAAIBwAABgcAAAcGAAAHBggACAcAAAYHAAAHBgAABwgAAAcIAAAIAAAACAAAAAgHAAAHCAAABwYAAAYHAAAHCAAABgcAAAgAAAAIAAAACAAAAAgHAAAIBwAABwYAAAcGAAAIAAAACAAAAAgAAAAIBwAACAcAAAwNAAAMCwAACwYFAAsGDAANAAAADQAAAA0AAAAMDQAADAsAAAsQAAALDBAADQAAAA0MAAALDAYADAsAAAwLDQANDAAACwwAAAwLAAAMDQAADQwAAA0AAAANAAAADQAAAA0MAAAMCwAACwwAAAwNAAALDAAADQAAAA0AAAANAAAADQwAAA0MAAAMCw0ADAsAAA0AAAANAAAADQAAAA0MAAANDAAAERIQABARAAAQCwAAEAsRABIAAAASAAAAEgAAABESEAAREAAAEBUPABARFQASAAAAEhEAABARCwAREAAAERASABIRAAAQEQAAERAAABIRAAASEQAAEgAAABIAAAASAAAAEhEAABEQAAAQEQAAEhEAABARFQASAAAAEgAAABIAAAASEQAAEgAAABEQAAAREAAAEgAAABIAAAASAAAAEhEAABIRAAAWFxUAFRYAABUQAAAVEBYAFwAAABcAAAAWFxUAFRYAABUUAAAVFgAAFwAAABcWAAAVFhAAFhUXABYVFwAXFgAAFRYAABYVAAAWFxUAFxYAABcAAAAXAAAAFwAAABcWAAAWFRcAFRYAABYXFQAVFgAAFwAAABcAAAAXFgAAFxYAABYVFwAWFRcAFwAAABcAAAAXAAAAFxYAABcWAAAGBQAABgsFAAYFAAAGBQAABgUAAAYFCwAGBQsABgUAAAYFCwALBgoACxAKAAsKAAALChAFCwYFCgsQCg8QCw8AEA8VABAPCwAQFQ8LEAsPChAVDxQVEBQPFRQAABUUAAAVFAAAFRQQDxUUEAAVEBQPFRQQAAYFAAAVFAAABgUAABUUAAAGBQAABgULAAYFAAAGBQsABQYAAAYFAAAFBgsKCwoGAAsKEAALChAGCgsFDwULCgYKDwsQEA8LChAPFQAQDwsKDxAUFQ8QCgsUFQ8QFRQPEBUUDwAVFAAAFRQPEBUUAAAVFA8QBgUAABQVAAAUFQ8QBQYAAAYFCwoFBgAABQYAAAUGCgsKCxAFCgULDwUKCwYKDwULDwoQFBQAAAABAgUAAQIAABALDwoGCwUKCg8FAAUGAAAFBgIBFA8VAAUCAQYFCgEGCgUPCwUKDwEKDwUUDxQKEA8KFAUUDxUADxQVEBQVAAAUFQAAFBUAABQPFQABAgAAAQIAAAECBQAQCw8KBQoBABQVAAAKBQ8LBQoGAA8UAAABAgUAAQIAAAECAAABAgAAAQUCAAUBAgoFCgYAFA8VABQAAAAUFQAAFA8AAAECBQAFAgEADxAVFAoPAAAKBQsADwoUAAEFAgABBQIAFA8AABQPAAAPFBAVCwoQDwUKAAAPChAADwoQCw8QChQPFAoACg8FAAoFDwAPFAoADwoUAAUBCgAUDwAAFAAAABQAAAAUAA8AFAAPABQPAAABAgUACxAKAAoPBQAPChQAFAAAABQAAAAUAAAACgULBgoLDxAPFBAVDwoUAAoFDwAKDwUABQoGCwoLBQ8FBgoADxQKAAUKAAALBgoFEBUPFAYHBQAGAAAABgAAAAYLAAAGCwAABgsAAAYHBQAGBwUABgAAAAYHBQAGBwUABgsFAAYHAAAGCwAABgcFAAYLAAALEAYACwAAAAsGDAALBgwACxAAAAsQAAALEAAACwYAAAsQAAALBhAFFQAAABUAAAALEAAACwYMABALEQAQFREAEBUAABAVAAAQCxEAEAsRABALEQAQCwAAEAsRABAVEQAQCwAAEBUAABUQAAAVEAAAEAAAABALERUQAAAAEBUAABUWAAAVEBYAFRYQABUQAAAVAAAAFRAAAAsQAAALAAAACwYAAAsGAAAVFgAAFRAWABUQFgAVFgAAFRAWAAoABQ8KAAUPBQAKAQUACgEFAQAKBQEACgEFAAoBBQAKAQAFAAEABQAAAQUUAAEFFAAKBQ8ACgUPDxQACg8UAAoPABQKDwAUCgAPChQADwoUAAoPBQAKDwUUDwAKFA8AChQPAAAUDwAAABQBDwAUAQ8AARQPAAEUDwABFAUAARQFFAAPABQADwAFCgAABQEAAAEFAAAFAQoADwoUAAoPBQAKDwUACgUPAA8UCgAUDwAACwYKBQYLBQAPEAoLFRAPFBQPFRAUFQ8ADxQKAAIAAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIAAAACAwAAAgMAAAIDAAACAwAAAgMFAAIDAAACAwAAAgUBAAIFAQACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgUBAAIBAAACAQAAAgUBAAIFAQACAAAAAgUBAAIBAAACAQAAAgEAAAIBAAACAQAAAgUBAAIBBQACAQAAAgUBAAIFAQACAAAAAgUBAAIBBQACAQAAAgEAAAIBAAACAQAAAgUBAAIBBQACAQUAAgUBAAIFAQACAQAAAgUBAAIBBQACAQAAAgEAAAIBAAACAQAABQIBAAIBBQACAQUABQIBBgUCAQYCAQAAAgUBAAEAAAABAAAAAQAAAAEFAAIFAQoPAQAFDwUKAQ8AAQ8FCg8FAQEAFAAAAQ8UDwoUBQABFAAPFAABDxQKAAAUAQAUDwAAFA8AABQAAQ8UFQ8ADxQKAA8KFAAUAAAAFA8AAAoFDwAKDwUADwoUAAAUAQ8UDwAACg8FAAUKAQAUDwAAAQIFAAUKAAAUAAAAFBUPAAUBAAABAAAAFAABDwAUAQAUAAAAFAAAAAABFAABAAUAAAEUAAUBAAAFAQAKBQEACgEFAAAUAA8AFAAPABQADwAUDwAACwUGChAPFRQQDwsKBgULAAsKBRAKCxAPFRQQDxUUAAAGBQAABgUAAAUGCwoQFQ8UBQIBBgUCAQYFAgYBBQYCAQUGAgEFAgEGBQECAAUGAgAFAQIAAQUAABQAAQ8UAA8BFAAPAQAUAQ8AFAEPAAEUAAABFA8AARQPAQAUAAEAFAABABQAAQAAAAEAAAABAAAABQYAAAUGAAAUAAAAABQPAQAUDwEUAAAAFAAAABQAAAAUAA8AFAAPABQADwAUDwAAFA8AAA8UAAoPFAoADwoAFAoPAAUKBQ8ACgUADwUKAAEFAQoAABQBDwAUAQ8AARQAAAEUBQEABQABAAUAAQUAAAUBAAoIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAA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AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAxBIcABAAxBAQAGwQwBF8ABgAwBAYAGgRbAF4ABQBbAAUANQD/BfkFDAD/BQwANgADBvgFCwADBgsAHQQEBvoFDQAEBg0AHAQ0BI0AAwA0BAMAGAQ1BI4AAQA1BAEAGQSRAJQAAgCRAAIANADDBLQEEgDDBBIAcQCBADUABQCBAAUAiQDFBLUEEADFBBAAfgAFBrcEHgAFBh4A/QVVABcACQBVAAkAUQCQABsAAQCQAAEAjgD8BRUADQD8BQ0A+gVdABkABgBdAAYAXwByABMAAAByAAAAdAD+BR8ACAD+BQgA9wVYAAgAHwBYAB8AVwAyBBsEBAAyBAQAigAzBBoEBgAzBAYAiAAvBE0ApAAvBKQAOARIAFAAqQBIAKkAqAC/BEMAogC/BKIAywQqBE8AqgAqBKoAOQRNAEgAqABNAKgApAAlBD4AIAAlBCAAIAQuADMAIAAuACAAIwBCAD8AJABCACQAJgC5BC0AIgC5BCIAygQkBEAAKAAkBCgAIQTEACoAJwDEACcAzgBFAD0AIQBFACEAKQBAAEUAKQBAACkAKAAoACkALAAoACwAMQApACEAOAApADgALACHAFsANQCHADUABAD4Bf8FNgD4BTYACwCNAJEANACNADQAAwDKAM0AOQDKADkAcACKAAQANQCKADUAgQDAAMwAOgDAADoAggACBsYAPAACBjwAAAbOACcARgDOAEYAwwAhBCgAMQAhBDEAIwTKBCIAQwDKBEMAvwQmACQAMgAmADIAMAAjACAAPgAjAD4ARAAgBCAAMwAgBDMAIgTBAKEARwDBAEcAyQCjAKoATwCjAE8ASgA4BKQAQAA4BEAAJATLBKIASQDLBEkAwASkAKgARQCkAEUAQACmAKcAPwCmAD8AQgCoAKkAPQCoAD0ARQA5BKoAPgA5BD4AJQQ9BOAATQA9BE0ALwThAN8AUADhAFAASADmAN4AbwDmAG8AxwA3AFkAUgA3AFIACgC3BMEEVgC3BFYAHgCMAFUAUQCMAFEAiACAAFgAVwCAAFcAfwAeBCYEUwAeBFMADwAfBCcEUQAfBFEACQAPAFMAWQAPAFkANwDGAMIAWgDGAFoAPAB7AHoAdQB7AHUAYQDcAN0ATgDcAE4ATAAtBHkAdwAtBHcAKATbBOIAbADbBGwAxASgAG0AZwCgAGcAnQDGBMIEYgDGBGIAhAC/AMgAYAC/AGAAgwAZBAEAeQAZBHkALQRzAHsAYQBzAGEAdgAuBHMAdgAuBHYAKQRTAIoAgQBTAIEAWQB9AGUAdwB9AHcAeQDIAMoAcADIAHAAYACFAGMAeACFAHgAhgA+BOQATwA+BE8AKgQmBDIEigAmBIoAUwDgAOEASADgAEgATQBhAHUAXgBhAF4AWwC9AMcAbwC9AG8AnAAYBAMAcwAYBHMALgQ0AAIAegA0AHoAewAbAH0AeQAbAHkAAQDIBMQEbADIBGwAnwDjAOQAZwDjAGcAbQAoBHcAXwAoBF8AMARjAHIAdABjAHQAeADCBMMEcQDCBHEAYgADADQAewADAHsAcwAZAIwAiAAZAIgABgDBBMUEfgDBBH4AVgBZAIEAiQBZAIkAUgDMAL8AgwDMAIMAOgARAIUAhgARAIYABwAnBDMEiAAnBIgAUQAHAIAAfwAHAH8AEQDCAMAAggDCAIIAWgC1BMYEhAC1BIQAEAApBHYAhwApBIcAMQR2AGEAWwB2AFsAhwBlAF0AXwBlAF8AdwA2BJcAjQA2BI0ANAQ3BJgAjgA3BI4ANQSbAJ4AlACbAJQAkQCaAJAAjgCaAI4AmACXAJsAkQCXAJEAjQATAJYAkwATAJMAAADNAL4AkgDNAJIAOQC0BMcElQC0BJUAEgCWAKAAnQCWAJ0AkwC+AL0AnAC+AJwAkgDHBMgEnwDHBJ8AlQAsBGYAlwAsBJcANgQrBGgAmAArBJgANwRuAGkAngBuAJ4AmwBrAJoAmABrAJgAaABmAG4AmwBmAJsAlwBMAE4ApwBMAKcApgDDAEYAoQDDAKEAwQBEAD4AqgBEAKoAowBwADkAqwBwAKsAtgCCADoArACCAKwAuAAABjwArgAABq4AAQZGALIAvABGALwAoQAqALAArwAqAK8AJwAnAK8AsgAnALIARgChALwAswChALMARwA8AFoAtAA8ALQArgDeAOUAtwDeALcAbwCDAGAAtQCDALUAuQCcAG8AtwCcALcAuwBgAHAAtgBgALYAtQBaAIIAuABaALgAtAA6AIMAuQA6ALkArAA5AJIAugA5ALoAqwCSAJwAuwCSALsAugDQBM4EwADQBMAAwgAGBr4ExgAGBsYAAga+BNAEwgC+BMIAxgDMBNQExwDMBMcAvQC4BM4AwwC4BMMA0wS8BM0EvwC8BL8AzAC7BM8EvgC7BL4AzQDJBMEAyQDJBMkA1QTWBLsEzQDWBM0AygDOBLwEzADOBMwAwADXBNYEygDXBMoAyADTBMMAwQDTBMEAyQTRBMQAzgDRBM4AuATPBMwEvQDPBL0AvgDcBOYAxwDcBMcA1ATNBNcEyADNBMgAvwDYANAAKwDYACsAxQAxACwAzwAxAM8A0wCxACsA0ACxANAA1wAjBDEA0wAjBNMAOgTRANUAMwDRADMALgAwADIA1AAwANQA0gDSBDAA0gDSBNIA2QQiBDMA1QAiBNUAOwTYBNEALgDYBC4AugQsADgA1gAsANYAzwDZBNIA2gDZBNoA2gTYBNoE2gDYBNoA0QDRANoA2QDRANkA1QDaANIA1ADaANQA2QA8BDoE0wA8BNMAzwA8BDsE1QA8BNUA2QArBGkA4AArBOAAPQRuAGYA3wBuAN8A4QDJAEcA3gDJAN4A5gBrAGgA3QBrAN0A3ADABEkA4gDABOIA2wQsBGcA5AAsBOQAPgRpAG4A4QBpAOEA4ABKAE8A5ABKAOQA4wBHALMA5QBHAOUA3gDVBMkA5gDVBOYA3ARYBG4B6wBYBOsAQgRXBEYB7QBXBO0AQQRCAUUB7ABCAewAHAEIBi4G8wAIBvMAHQEOBi8G8gAOBvIARAQNBi0G9AANBvQAQwRbBHQB6gBbBOoAPwRcBHUB6ABcBOgAQAR4AXsB6QB4AekAGwHsBN0E+QDsBPkAWAFoARwB7ABoAewAcAHuBN4E9wDuBPcAZQEUBuAEBQEUBgUBCQY8Af4A8AA8AfAAOAF3AQIB6AB3AegAdQEMBvsA9AAMBvQALQZEAQAB7QBEAe0ARgFZAfoA5wBZAecAWwEKBgYB7wAKBu8AMAY/Ae8ABgE/AQYBPgFZBEIE6wBZBOsAcQFaBEEE7QBaBO0AbwFWBDQBiwFWBIsBXwQvATcBkAEvAZABjwHoBCoBiQHoBIkB9ARRBDYBkQFRBJEBYAQ0AS8BjwE0AY8BiwFMBCUBBwFMBAcBRwQVARoBBwEVAQcBCgEpASYBCwEpAQsBDQHiBBQBCQHiBAkB8wRLBCcBDwFLBA8BSASrAREBDgGrAQ4BtQEsASQBCAEsAQgBEAEnASwBEAEnARABDwEPARABEwEPARMBGAEQAQgBHwEQAR8BEwFuAUIBHAFuARwB6wAvBggGHQEvBh0B8gB0AXgBGwF0ARsB6gCxAbQBIAGxASABVwFxAesAHAFxARwBaAGnAbMBIQGnASEBaQEPBq0BIwEPBiMBBwa1AQ4BLQG1AS0BqgFIBA8BGAFIBBgBSgTzBAkBKgHzBCoB6AQNAQsBGQENARkBFwEKAQcBJQEKASUBKwFHBAcBGgFHBBoBSQSoAYgBLgGoAS4BsAGKAZEBNgGKATYBMQFfBIsBJwFfBCcBSwT0BIkBMAH0BDAB6QSLAY8BLAGLASwBJwGNAY4BJgGNASYBKQGPAZABJAGPASQBLAFgBJEBJQFgBCUBTARkBMcBNAFkBDQBVgTIAcYBNwHIATcBLwHNAcUBVgHNAVYBrgEeAUABOQEeATkB8QDgBOoEPQHgBD0BBQFzATwBOAFzATgBbwFnAT8BPgFnAT4BZgFFBE0EOgFFBDoB9gBGBE4EOAFGBDgB8AD2ADoBQAH2AEABHgGtAakBQQGtAUEBIwFiAWEBXAFiAVwBSAHDAcQBNQHDATUBMwFUBGABXgFUBF4BTwQEBckBUwEEBVMB7QSHAVQBTgGHAU4BhAHvBOsESQHvBEkBawGmAa8BRwGmAUcBagFABOgAYAFABGABVARaAWIBSAFaAUgBXQFVBFoBXQFVBF0BUAQ6AXEBaAE6AWgBQAFkAUwBXgFkAV4BYAGvAbEBVwGvAVcBRwFsAUoBXwFsAV8BbQFlBMsBNgFlBDYBUQRNBFkEcQFNBHEBOgHHAcgBLwHHAS8BNAFIAVwBRQFIAUUBQgGkAa4BVgGkAVYBgwE/BOoAWgE/BFoBVQQbAekAYQEbAWEBYgECAWQBYAECAWAB6ADxBO0EUwHxBFMBhgHKAcsBTgHKAU4BVAFPBF4BRgFPBEYBVwRKAVkBWwFKAVsBXwHrBOwEWAHrBFgBSQHqABsBYgHqAGIBWgEAAXMBbwEAAW8B7QDqBO4EZQHqBGUBPQFAAWgBcAFAAXABOQGzAaYBagGzAWoBIQH4AGwBbQH4AG0B7gBOBFoEbwFOBG8BOAHuAGcBZgHuAGYB+ACpAacBaQGpAWkBQQHeBO8EawHeBGsB9wBQBF0BbgFQBG4BWARdAUgBQgFdAUIBbgFMAUQBRgFMAUYBXgFdBH4BdAFdBHQBWwReBH8BdQFeBHUBXASCAYUBewGCAXsBeAGBAXcBdQGBAXUBfwF+AYIBeAF+AXgBdAH6AH0BegH6AHoB5wC0AaUBeQG0AXkBIAHdBPAEfAHdBHwB+QB9AYcBhAF9AYQBegGlAaQBgwGlAYMBeQHwBPEEhgHwBIYBfAFTBE0BfgFTBH4BXQRSBE8BfwFSBH8BXgRVAVABhQFVAYUBggFSAYEBfwFSAX8BTwFNAVUBggFNAYIBfgEzATUBjgEzAY4BjQGqAS0BiAGqAYgBqAErASUBkQErAZEBigFXASABkgFXAZIBnQFpASEBkwFpAZMBnwEHBiMBlQEHBpUBEAYtAZkBowEtAaMBiAERAZcBlgERAZYBDgEOAZYBmQEOAZkBLQGIAaMBmgGIAZoBLgEjAUEBmwEjAZsBlQHFAcwBngHFAZ4BVgFqAUcBnAFqAZwBoAGDAVYBngGDAZ4BogFHAVcBnQFHAZ0BnAFBAWkBnwFBAZ8BmwEhAWoBoAEhAaABkwEgAXkBoQEgAaEBkgF5AYMBogF5AaIBoQH5BPcEpwH5BKcBqQETBucErQETBq0BDwbnBPkEqQHnBKkBrQH1BP0ErgH1BK4BpAHhBLUBqgHhBKoB/ATlBPYEpgHlBKYBswHkBPgEpQHkBKUBtAHyBKgBsAHyBLAB/gT/BOQEtAH/BLQBsQH3BOUEswH3BLMBpwEABf8EsQEABbEBrwH8BKoBqAH8BKgB8gT6BKsBtQH6BLUB4QT4BPUEpAH4BKQBpQEFBc0BrgEFBa4B/QT2BAAFrwH2BK8BpgG/AbcBEgG/ARIBrAEYARMBtgEYAbYBugGYARIBtwGYAbcBvgFKBBgBugFKBLoBYQS4AbwBGgG4ARoBFQEXARkBuwEXAbsBuQH7BBcBuQH7BLkBAgVJBBoBvAFJBLwBYgQBBbgBFQEBBRUB4wQTAR8BvQETAb0BtgECBbkBwQECBcEBAwUBBQMFwQEBBcEBuAG4AcEBwAG4AcABvAHBAbkBuwHBAbsBwAFjBGEEugFjBLoBtgFjBGIEvAFjBLwBwAFSBFABxwFSBMcBZARVAU0BxgFVAcYByAGwAS4BxQGwAcUBzQFSAU8BxAFSAcQBwwHpBDAByQHpBMkBBAVTBE4BywFTBMsBZQRQAVUByAFQAcgBxwExATYBywExAcsBygEuAZoBzAEuAcwBxQH+BLABzQH+BM0BBQV/BFUC0gF/BNIBaQR+BC0C1AF+BNQBaAQpAiwC0wEpAtMBAwIjBiUG2gEjBtoBBAIfBhwG2QEfBtkBawQgBiYG2wEgBtsBagSCBFsC0QGCBNEBZgSDBFwCzwGDBM8BZwRfAmIC0AFfAtABAgIVBQYF4AEVBeABPwJPAgMC0wFPAtMBVwIXBQcF3gEXBd4BTAIVBgkF7AEVBuwBGQYjAuQB1wEjAtcBHwJeAukBzwFeAs8BXAIXBuIB2wEXBtsBJgYrAucB1AErAtQBLQJAAuEBzgFAAs4BQgIaBu0B1gEaBtYBGwYmAtYB7QEmAu0BJQKABGkE0gGABNIBWAKBBGgE1AGBBNQBVgJ9BBsCcgJ9BHIChgQWAh4CdwIWAncCdgIRBRECcAIRBXACHQV4BB0CeAJ4BHgChwQbAhYCdgIbAnYCcgJzBAwC7gFzBO4BbgT8AQEC7gH8Ae4B8QEQAg0C8gEQAvIB9AELBfsB8AELBfABHAVyBA4C9gFyBPYBbwSSAvgB9QGSAvUBnAITAgsC7wETAu8B9wEOAhMC9wEOAvcB9gH2AfcB+gH2AfoB/wH3Ae8BBgL3AQYC+gFVAikCAwJVAgMC0gEcBiMGBAIcBgQC2QFbAl8CAgJbAgIC0QGYApsCBwKYAgcCPgJYAtIBAwJYAgMCTwKOApoCCAKOAggCUAIeBpQCCgIeBgoCJAacAvUBFAKcAhQCkQJvBPYB/wFvBP8BcQQcBfABEQIcBRECEQX0AfIBAAL0AQAC/gHxAe4BDALxAQwCEgJuBO4BAQJuBAECcASPAm8CFQKPAhUClwJxAngCHQJxAh0CGAKGBHICDgKGBA4CcgQdBXACFwIdBRcCEgVyAnYCEwJyAhMCDgJ0AnUCDQJ0Ag0CEAJ2AncCCwJ2AgsCEwKHBHgCDAKHBAwCcwSLBK4CGwKLBBsCfQSvAq0CHgKvAh4CFgK0AqwCPQK0Aj0ClQIFAicCIAIFAiAC2AEJBRMFJAIJBSQC7AFaAiMCHwJaAh8CVgJOAiYCJQJOAiUCTQJsBHQEIQJsBCEC3QFtBHUEHwJtBB8C1wHdASECJwLdAScCBQKUApACKAKUAigCCgJJAkgCQwJJAkMCLwKqAqsCHAKqAhwCGgJ7BEcCRQJ7BEUCdgQtBbACOgItBToCFgVuAjsCNQJuAjUCawIYBRQFMAIYBTACUgKNApYCLgKNAi4CUQJnBM8BRwJnBEcCewRBAkkCLwJBAi8CRAJ8BEECRAJ8BEQCdwQhAlgCTwIhAk8CJwJLAjMCRQJLAkUCRwKWApgCPgKWAj4CLgJTAjECRgJTAkYCVAKMBLICHQKMBB0CeAR0BIAEWAJ0BFgCIQKuAq8CFgKuAhYCGwIvAkMCLAIvAiwCKQKLApUCPQKLAj0CagJmBNEBQQJmBEECfAQCAtABSAICAkgCSQLpAUsCRwLpAUcCzwEaBRYFOgIaBToCbQKxArICNQKxAjUCOwJ2BEUCLQJ2BC0CfgQxAkACQgIxAkICRgIUBRUFPwIUBT8CMALRAQICSQLRAUkCQQLnAVoCVgLnAVYC1AETBRcFTAITBUwCJAInAk8CVwInAlcCIAKaAo0CUQKaAlECCALfAVMCVALfAVQC1QF1BIEEVgJ1BFYCHwLVAU4CTQLVAU0C3wGQAo4CUAKQAlACKAIHBRgFUgIHBVIC3gF3BEQCVQJ3BFUCfwREAi8CKQJEAikCVQIzAisCLQIzAi0CRQKEBGUCWwKEBFsCggSFBGYCXAKFBFwCgwRpAmwCYgJpAmICXwJoAl4CXAJoAlwCZgJlAmkCXwJlAl8CWwLhAWQCYQLhAWECzgGbAowCYAKbAmACBwIGBRkFYwIGBWMC4AFkAm4CawJkAmsCYQKMAosCagKMAmoCYAIZBRoFbQIZBW0CYwJ6BDQCZQJ6BGUChAR5BDYCZgJ5BGYChQQ8AjcCbAI8AmwCaQI5AmgCZgI5AmYCNgI0AjwCaQI0AmkCZQIaAhwCdQIaAnUCdAKRAhQCbwKRAm8CjwISAgwCeAISAngCcQI+AgcCeQI+AnkChAJQAggCegJQAnoChgIkBgoCfAIkBnwCHQYUAoACigIUAooCbwL4AX4CfQL4AX0C9QH1AX0CgAL1AYACFAJvAooCgQJvAoECFQIKAigCggIKAoICfAKsArMChQKsAoUCPQJRAi4CgwJRAoMChwJqAj0ChQJqAoUCiQIuAj4ChAIuAoQCgwIoAlAChgIoAoYCggIIAlEChwIIAocCegIHAmACiAIHAogCeQJgAmoCiQJgAokCiAIiBSAFjgIiBY4CkAIWBhAFlAIWBpQCHgYQBSIFkAIQBZAClAIeBSYFlQIeBZUCiwIKBZwCkQIKBZECJQUOBR8FjQIOBY0CmgINBSEFjAINBYwCmwIbBY8ClwIbBZcCJwUoBQ0FmwIoBZsCmAIgBQ4FmgIgBZoCjgIpBSgFmAIpBZgClgIlBZECjwIlBY8CGwUjBZICnAIjBZwCCgUhBR4FiwIhBYsCjAIuBbQClQIuBZUCJgUfBSkFlgIfBZYCjQKmAp4C+QGmAvkBkwL/AfoBnQL/AZ0CoQJ/AvkBngJ/Ap4CpQJxBP8BoQJxBKECiASfAqMCAQKfAgEC/AH+AQACogL+AaICoAIkBf4BoAIkBaACKwVwBAECowJwBKMCiQQqBZ8C/AEqBfwBDAX6AQYCpAL6AaQCnQIrBaACqAIrBagCLAUqBSwFqAIqBagCnwKfAqgCpwKfAqcCowKoAqACogKoAqICpwKKBIgEoQKKBKECnQKKBIkEowKKBKMCpwJ5BDcCrgJ5BK4CiwQ8AjQCrQI8Aq0CrwKXAhUCrAKXAqwCtAI5AjYCqwI5AqsCqgISBRcCsAISBbACLQV6BDUCsgJ6BLICjAQ3AjwCrwI3Aq8CrgIYAh0CsgIYArICsQIVAoECswIVArMCrAInBZcCtAInBbQCLgWmBCwDuQKmBLkCkASlBAcDuwKlBLsCjwQEAwYDugIEA7oC4QIqBhIGwQIqBsEC4gIsBiEGwAIsBsACkgQrBhEGwgIrBsICkQSpBDEDuAKpBLgCjQSqBDIDtgKqBLYCjgQ0AzcDtwI0A7cC4AI9BS8FyAI9BcgCGAMmA+ECugImA7oCLgM/BTAFxgI/BcYCJAMoBjIF0AIoBtACMwb+AsoCvgL+Ar4C+wIzA8wCtgIzA7YCMgMxBskCwgIxBsICEQYFA8sCuwIFA7sCBwMXA8cCtQIXA7UCGgMyBs8CvQIyBr0CIgYBA70CzwIBA88C/wKnBJAEuQKnBLkCLwOoBI8EuwKoBLsCLQOkBPcCRgOkBEYDrQTzAvoCSgPzAkoDSQM5Be8CRQM5BUUDRQWfBPkCSwOfBEsDrgT3AvMCSQP3AkkDRgOaBOoC0QKaBNEClQTbAt8C0QLbAtEC0wLtAusC1ALtAtQC1QI0BdsC0wI0BdMCRAWZBOwC1wKZBNcClgRkA9kC1gJkA9YCbQPwAukC0gLwAtIC2ALsAvAC2ALsAtgC1wLXAtgC2gLXAtoC3QLYAtIC5ALYAuQC2gIsAwQD4QIsA+ECuQIhBioG4gIhBuICwAIxAzQD4AIxA+ACuAJpA2wD5QJpA+UCFgMvA7kC4QIvA+ECJgNgA2sD5gJgA+YCJwM0BmUD6AI0BugCKQZtA9YC8QJtA/ECYwOWBNcC3QKWBN0CmAREBdMC7wJEBe8COQXVAtQC3gLVAt4C3ALTAtEC6gLTAuoC7gKVBNEC3wKVBN8ClwRhA0MD8gJhA/ICaANEA0sD+QJEA/kC9AKtBEYD7AKtBOwCmQRFBUUD9QJFBfUCOgVGA0kD8AJGA/AC7AJHA0gD6wJHA+sC7QJJA0oD6QJJA+kC8AKuBEsD6gKuBOoCmgSyBH4D9wKyBPcCpAR/A30D+gJ/A/oC8wKEA3wDFQOEAxUDZgPjAgID/ALjAvwCvwIyBTsFAAMyBQAD0AIwA/4C+wIwA/sCLQMlAwED/wIlA/8CIwOTBJsE/QKTBP0CxAKUBJwE+wKUBPsCvgLEAv0CAgPEAgID4wJlA2IDAwNlAwMD6AIhAyADGwMhAxsDCQN6A3sD+AJ6A/gC9gKiBB8DHQOiBB0DnQRUBYEDEwNUBRMDPgVBAxIDDgNBAw4DPwNABTwFCwNABQsDKgNfA2cDCANfAwgDKAOOBLYCHwOOBB8DogQZAyEDCQMZAwkDHAOjBBkDHAOjBBwDngT9Ai8DJgP9AiYDAgMiAwwDHQMiAx0DHwNnA2kDFgNnAxYDCAMpAwoDHgMpAx4DKwOzBIID+QKzBPkCnwSbBKcELwObBC8D/QJ+A38D8wJ+A/MC9wIJAxsDBgMJAwYDBANdA2YDFQNdAxUDPgONBLgCGQONBBkDowTgArcCIAPgAiADIQPMAiIDHwPMAh8DtgJCBT4FEwNCBRMDQgOAA4IDDgOAAw4DEgOdBB0DBwOdBAcDpQQKAxcDGgMKAxoDHgM8BT0FGAM8BRgDCwO4AuACIQO4AiEDGQPLAjADLQPLAi0DuwI7BT8FJAM7BSQDAAMCAyYDLgMCAy4D/AJrA18DKANrAygD5gLFAikDKwPFAisDvAKcBKgELQOcBC0D+wK8AiUDIwO8AiMDxQJiA2ADJwNiAycDAwMwBUAFKgMwBSoDxgKeBBwDLAOeBCwDpgQcAwkDBAMcAwQDLAMMAwUDBwMMAwcDHQOrBDoDMQOrBDEDqQSsBDsDMgOsBDIDqgQ9A0ADNwM9AzcDNAM8AzMDMgM8AzIDOwM6Az0DNAM6AzQDMQPHAjgDNgPHAjYDtQJsA14DNQNsAzUD5QIvBUEFOQMvBTkDyAI4A0EDPwM4Az8DNgNeA10DPgNeAz4DNQNBBUIFQgNBBUIDOQOhBA0DOgOhBDoDqwSgBA8DOwOgBDsDrAQUAxADQAMUA0ADPQMRAzwDOwMRAzsDDwMNAxQDPQMNAz0DOgP2AvgCSAP2AkgDRwNjA/ECQwNjA0MDYQPuAuoCSwPuAksDRAMWA+UCTAMWA0wDVgMnA+YCTQMnA00DWAMpBugCTwMpBk8DNQbxAlIDXAPxAlwDQwPZAlEDUAPZAlAD1gLWAlADUgPWAlID8QJDA1wDUwNDA1MD8gLoAgMDVAPoAlQDTwN8A4MDVwN8A1cDFQMoAwgDVQMoA1UDWQM+AxUDVwM+A1cDWwMIAxYDVgMIA1YDVQMDAycDWAMDA1gDVAPmAigDWQPmAlkDTQPlAjUDWgPlAloDTAM1Az4DWwM1A1sDWgNKBUgFYANKBWADYgMnBjgFZQMnBmUDNAY4BUoFYgM4BWIDZQNGBU0FZgNGBWYDXQMzBW0DYwMzBWMDTAU2BUcFXwM2BV8DawM1BUkFXgM1BV4DbANDBWEDaANDBWgDTgVPBTUFbANPBWwDaQNIBTYFawNIBWsDYANQBU8FaQNQBWkDZwNMBWMDYQNMBWEDQwVLBWQDbQNLBW0DMwVJBUYFXQNJBV0DXgNVBYQDZgNVBWYDTQVHBVAFZwNHBWcDXwN3A28D2QJ3A9kCZAPdAtoCbgPdAm4DcgNRA9kCbwNRA28DdgOYBN0CcgOYBHIDrwRwA3QD3wJwA98C2wLcAt4CcwPcAnMDcQNLBdwCcQNLBXEDUgWXBN8CdAOXBHQDsARRBXAD2wJRBdsCNAXaAuQCdQPaAnUDbgNSBXEDeQNSBXkDUwVRBVMFeQNRBXkDcANwA3kDeANwA3gDdAN5A3EDcwN5A3MDeAOxBK8EcgOxBHIDbgOxBLAEdAOxBHQDeAOgBBADfgOgBH4DsgQUAw0DfQMUA30DfwNoA/ICfANoA3wDhAMRAw8DewMRA3sDegM6BfUCgQM6BYEDVAWhBA4DggOhBIIDswQQAxQDfwMQA38DfgP0AvkCggP0AoIDgAPyAlMDgwPyAoMDfANOBWgDhANOBYQDVQXSA8wDiAPSA4gDhQPTA80DhgPTA4YDhwPQA9MDhwPQA4cDoQPwA+oDiQPwA4kDwwPPA4wDhgPPA4YDzQPEA4oDhQPEA4UDxgO1A7QD4wO1A+MD5gOvA7cD6AOvA+gD5wPuA6oD4QPuA+ED9AO3A7YD6QO3A+kD6AO0A68D5wO0A+cD4wOkA6UDjQOkA40DjgObA6ADjQObA40DkAOpA6YDkQOpA5EDkwPsA5oDjwPsA48D6wOmA6cDlQOmA5UDkQP5A5cDlAP5A5QD/wOsA6QDjgOsA44DlgOnA6wDlgOnA5YDlQOVA5YDmQOVA5kDngOWA44DogOWA6IDmQPMA9ADoQPMA6EDiAP9A/4DowP9A6MDwgP/A5QDrQP/A60D+AORA5UDngORA54DnwPrA48DqgPrA6oD7gOTA5EDnwOTA58DnQOQA40DpQOQA6UDqwOOA40DoAOOA6ADogP3A+ADrgP3A64D/APiA+kDtgPiA7YDsQPmA+MDpwPmA6cDpgP0A+EDsAP0A7AD7wPjA+cDrAPjA6wDpwPlA+YDpgPlA6YDqQPnA+gDpAPnA6QDrAPoA+kDpQPoA6UDpAMOBBEEtAMOBLQDtQMSBBAEtwMSBLcDrwMXBA8EwQMXBMED+wMNBA4EtQMNBLUDswMWBBMEvgMWBL4D8QPfA78DuQPfA7kD3AOHA4YDxwOHA8cDyAMQBBUEtgMQBLYDtwMRBBIErwMRBK8DtAP1A/sDwQP1A8ED2wOFA4gDxQOFA8UDxgOhA4cDyAOhA8gDyQOMA8sDxwOMA8cDhgPzA/EDvgPzA74D3gMUBBUEuQMUBLkDvwOIA6EDyQOIA8kDxQPcA9YDzAPcA8wD0gPdA9cDzQPdA80D0wPaA90D0wPaA9MD0APZA88DzQPZA80D1wPWA9oD0APWA9ADzAOKA9UD0gOKA9IDhQP+A/YD0QP+A9EDowPqA/ID1APqA9QDiQPVA98D3APVA9wD0gP2A/UD2wP2A9sD0QPyA/MD3gPyA94D1AO5A7gD1gO5A9YD3AO7A7oD1wO7A9cD3QPAA7sD3QPAA90D2gO9A9kD1wO9A9cDugO4A8AD2gO4A9oD1gOzA7UD5gOzA+YD5QP4A60D4AP4A+AD9wOrA6UD6QOrA+kD4gPCA6MD6gPCA+oD8AOtA+4D9AOtA/QD4AOXA+wD6wOXA+sDlAOUA+sD7gOUA+4DrQPgA/QD7wPgA+8DrgMPBBYE8QMPBPEDwQPbA8ED8QPbA/ED8wOjA9ED8gOjA/ID6gPRA9sD8wPRA/MD8gPYA7wD+wPYA/sD9QOSA/8D+AOSA/gDqAOLA84D9gOLA/YD/gPkA/cD/APkA/wDsgPKA4sD/gPKA/4D/QOoA/gD9wOoA/cD5AOcA/kD/wOcA/8DkgPOA9gD9QPOA/UD9gMMBBcE+wMMBPsDvAMJBAEEmAMJBJgD+gOeA5kDAASeAwAEBATtA5gDAQTtAwEECASfA54DBASfAwQEBQQCBAYEoAMCBKADmwOdA58DBQSdAwUEAwT6A50DAwT6AwMECQSiA6ADBwSgAwYEBwQIBAIEmwMIBJsD7QOZA6IDBwSZAwcEAAQJBAMECwQJBAsEAQQIBAEECwQIBAsEAgQCBAsECgQCBAoEBgQLBAMEBQQLBAUECgQKBAUEBAQKBAQEAAQABAcEBgQABAYECgS6A7sDEQS6AxEEDgTAA7gDEATAAxAEEgT8A64DDwT8Aw8EFwS9A7oDDgS9Aw4EDQTvA7ADEwTvAxMEFgS4A7kDFQS4AxUEEAS7A8ADEgS7AxIEEQSxA7YDFQSxAxUEFASuA+8DFgSuAxYEDwSyA/wDFwSyAxcEDASGADEEGwSGABsEBwBeADAEGgReABoEBQD3BQMGHQT3BR0EDgD5BQQGHAT5BRwEDACTADQEGASTABgEAACUADUEGQSUABkEAgCAAAcAGwSAABsEMgSJAAUAGgSJABoEMwROAC8EOAROADgEpwBQACoEOQRQADkEqQA9ACUEIAQ9ACAEIQA/ACQEIQQ/ACEEJAAkACEEIwQkACMEMgAhACAEIgQhACIEOACnADgEJASnACQEPwCpADkEJQSpACUEPQDdAD0ELwTdAC8ETgAIAFgAJgQIACYEHgQKAFIAJwQKACcEHwR6AC0EKAR6ACgEdQACABkELQQCAC0EegB0AC4EKQR0ACkEeADfAD4EKgTfACoEUABYAIAAMgRYADIEJgQAABgELgQAAC4EdAB1ACgEMAR1ADAEXgBSAIkAMwRSADMEJwR4ACkEMQR4ADEEhgCdADYENASdADQEkwCeADcENQSeADUElABnACwENgRnADYEnQBpACsENwRpADcEngAyACMEOgQyADoE1AA4ACIEOwQ4ADsE1gDZANQAOgTZADoEPATPANYAOwTPADsEPARoACsEPQRoAD0E3QBmACwEPgRmAD4E3wBtAVgEQgRtAUIE7gBFAVcEQQRFAUEE7AAwBg4GRAQwBkQE9QAuBg0GQwQuBkME8wB6AVsEPwR6AT8E5wB7AVwEQAR7AUAE6QBnAe4AQgRnAUIEWQRwAewAQQRwAUEEWgQ1AVYEXwQ1AV8EjgE3AVEEYAQ3AWAEkAEkAUwERwQkAUcECAEmAUsESAQmAUgECwELAUgESgQLAUoEGQEIAUcESQQIAUkEHwGOAV8ESwSOAUsEJgGQAWAETASQAUwEJAHEAWQEVgTEAVYENQHvAD8BTQTvAE0ERQTxADkBTgTxAE4ERgRhAVQETwRhAU8EXAHpAEAEVATpAFQEYQFbAVUEUARbAVAEXwHGAWUEUQTGAVEENwE/AWcBWQQ/AVkETQTnAD8EVQTnAFUEWwFcAU8EVwRcAVcERQE5AXABWgQ5AVoETgRfAVAEWARfAVgEbQGEAV0EWwSEAVsEegGFAV4EXASFAVwEewFOAVMEXQROAV0EhAFQAVIEXgRQAV4EhQEZAUoEYQQZAWEEuwEfAUkEYgQfAWIEvQHAAbsBYQTAAWEEYwS2Ab0BYgS2AWIEYwRPAVIEZARPAWQExAFNAVMEZQRNAWUExgFUAn8EaQRUAmkE1QEsAn4EaAQsAmgE0wEbBh8GawQbBmsE3AElBiAGagQlBmoE2gFhAoIEZgRhAmYEzgFiAoMEZwRiAmcE0AFOAtUBaQROAmkEgARXAtMBaARXAmgEgQQcAn0EhgQcAoYEdQIeAngEhwQeAocEdwILAnMEbgQLAm4E7wENAnIEbwQNAm8E8gHyAW8EcQTyAXEEAALvAW4EcATvAXAEBgJ1AoYEcgR1AnIEDQJ3AocEcwR3AnMECwKrAosEfQSrAn0EHALWASYCdATWAXQEbATYASACdQTYAXUEbQRIAnsEdgRIAnYEQwLQAWcEewTQAXsESAJCAnwEdwRCAncERgKtAowEeAStAngEHgImAk4CgAQmAoAEdATOAWYEfATOAXwEQgJDAnYEfgRDAn4ELAIgAlcCgQQgAoEEdQRGAncEfwRGAn8EVAJrAoQEggRrAoIEYQJsAoUEgwRsAoMEYgI1AnoEhAQ1AoQEawI3AnkEhQQ3AoUEbAIAAnEEiAQAAogEogIGAnAEiQQGAokEpAKnAqICiASnAogEigSdAqQCiQSdAokEigQ2AnkEiwQ2AosEqwI0AnoEjAQ0AowErQIrA6YEkAQrA5AEvAIGA6UEjwQGA48EugIiBiwGkgQiBpIEwwISBisGkQQSBpEEwQI2A6kEjQQ2A40EtQI3A6oEjgQ3A44EtwIlA7wCkAQlA5AEpwQuA7oCjwQuA48EqAT4AqQErQT4Aq0ESAP6Ap8ErgT6Aq4ESgPpApoElQTpApUE0gLrApkElgTrApYE1ALUApYEmATUApgE3gLSApUElwTSApcE5AJIA60EmQRIA5kE6wJKA64EmgRKA5oE6QJ7A7IEpAR7A6QE+AK9AgEDmwS9ApsEkwS/AvwCnAS/ApwElAQgA6IEnQQgA50EGwO3Ao4EogS3AqIEIAMaA6MEngQaA54EHgN9A7MEnwR9A58E+gIBAyUDpwQBA6cEmwS1Ao0EowS1AqMEGgMbA50EpQQbA6UEBgP8Ai4DqAT8AqgEnAQeA54EpgQeA6YEKwM/A6sEqQQ/A6kENgNAA6wEqgRAA6oENwMOA6EEqwQOA6sEPwMQA6AErAQQA6wEQAPeApgErwTeAq8EcwPkApcEsATkArAEdQN4A3MDrwR4A68EsQRuA3UDsARuA7AEsQQPA6AEsgQPA7IEewMNA6EEswQNA7MEfQO2AKsAtAS2ALQEwwS4AKwAtQS4ALUExQQBBq4AtwQBBrcEBQayAL8EywSyAMsEvACwALkEygSwAMoErwCvAMoEvwSvAL8EsgC8AMsEwAS8AMAEswCuALQAwQSuAMEEtwTlANsExATlAMQEtwC5ALUAwgS5AMIExgS7ALcAxAS7AMQEyAS1ALYAwwS1AMMEwgS0ALgAxQS0AMUEwQSsALkAxgSsAMYEtQSrALoAxwSrAMcEtAS6ALsAyAS6AMgExwRUAIsAzgRUAM4E0AT7BRYAvgT7Bb4EBgYWAFQA0AQWANAEvgSZAGoA1ASZANQEzAQlALgE0wQlANMEQQAYAFwAzQQYAM0EvAQaAI8AzwQaAM8EuwSlAMkE1QSlANUESwB8ABoAuwR8ALsE1gSLABgAvASLALwEzgRkAHwA1gRkANYE1wRBANMEyQRBAMkEpQAvANEEuAQvALgEJQCPAJkAzASPAMwEzwTbANwE1ATbANQEagBcAGQA1wRcANcEzQTFANIE2QTFANkE2ADXANgEugTXALoEsQDYANkE2gTYANoE0ADXANAA2gTXANoE2ASzAMAE2wSzANsE5QBLANUE3ARLANwE2wCdAZIB3QSdAd0E7ASfAZMB3gSfAd4E7gQQBpUB4AQQBuAEFAaZAegE9ASZAfQEowGXAeIE8wSXAfMElgGWAfME6ASWAegEmQGjAfQE6QSjAekEmgGVAZsB6gSVAeoE4ATMAQQF7QTMAe0EngGgAZwB6wSgAesE7wSiAZ4B7QSiAe0E8QScAZ0B7AScAewE6wSbAZ8B7gSbAe4E6gSTAaAB7wSTAe8E3gSSAaEB8ASSAfAE3QShAaIB8QShAfEE8AQ7AXIB9wQ7AfcE+QQLBv0A5wQLBucEEwb9ADsB+QT9APkE5wSAAVEB/QSAAf0E9QQMAeEE/AQMAfwEKAH/AEMB9gT/APYE5QQBAXYB+AQBAfgE5ASMAfIE/gSMAf4EMgFjAQEB5ARjAeQE/wRyAf8A5QRyAeUE9wRLAWMB/wRLAf8EAAUoAfwE8gQoAfIEjAEWAfoE4QQWAeEEDAF2AYAB9QR2AfUE+ATCAQUF/QTCAf0EUQFDAUsBAAVDAQAF9gSsAfsEAgWsAQIFvwG+AQEF4wS+AeMEmAG/AQIFAwW/AQMFtwG+AbcBAwW+AQMFAQWaAekEBAWaAQQFzAEyAf4EBQUyAQUFwgGEAnkCBgWEAgYFFQWGAnoCBwWGAgcFFwUdBnwCCQUdBgkFFQaAAhEFHQWAAh0FigJ+AgsFHAV+AhwFfQJ9AhwFEQV9AhEFgAKKAh0FEgWKAhIFgQJ8AoICEwV8AhMFCQWzAi0FFgWzAhYFhQKHAoMCFAWHAhQFGAWJAoUCFgWJAhYFGgWDAoQCFQWDAhUFFAWCAoYCFwWCAhcFEwV6AocCGAV6AhgFBwV5AogCGQV5AhkFBgWIAokCGgWIAhoFGQUiAlkCIAUiAiAFIgUYBuUBEAUYBhAFFgblASICIgXlASIFEAVnAjgCJgVnAiYFHgXzAQoFJQXzASUFDwLmASoCHwXmAR8FDgXoAV0CIQXoASEFDQVzAhsFJwVzAicFGQJKAugBDQVKAg0FKAVZAuYBDgVZAg4FIAUyAkoCKAUyAigFKQUPAiUFGwUPAhsFcwL9ASMFCgX9AQoF8wFdAmcCHgVdAh4FIQWpAi4FJgWpAiYFOAIqAjICKQUqAikFHwWTAiQFKwWTAisFpgKlAioFDAWlAgwFfwKmAisFLAWmAiwFngKlAp4CLAWlAiwFKgWBAhIFLQWBAi0FswIZAicFLgUZAi4FqQJWA0wDLwVWAy8FPQVYA00DMAVYAzAFPwU1Bk8DMgU1BjIFKAZSAzkFRQVSA0UFXANRAzQFRAVRA0QFUANQA0QFOQVQAzkFUgNcA0UFOgVcAzoFUwNPA1QDOwVPAzsFMgWDA1QFPgWDAz4FVwNZA1UDPAVZAzwFQAVbA1cDPgVbAz4FQgVVA1YDPQVVAz0FPAVUA1gDPwVUAz8FOwVNA1kDQAVNA0AFMAVMA1oDQQVMA0EFLwVaA1sDQgVaA0IFQQX+AjADSAX+AkgFSgUxBsoCOAUxBjgFJwbKAv4CSgXKAkoFOAU8AxEDTQU8A00FRgXVAjMFTAXVAkwF7QLLAgUDRwXLAkcFNgXMAjMDSQXMAkkFNQVHA0MFTgVHA04F9gIiA8wCNQUiAzUFTwUwA8sCNgUwAzYFSAUMAyIDTwUMA08FUAXtAkwFQwXtAkMFRwPcAksFMwXcAjMF1QIzAzwDRgUzA0YFSQV6A1UFTQV6A00FEQMFAwwDUAUFA1AFRwVkA0sFUgVkA1IFdwN2A1EFNAV2AzQFUQN3A1IFUwV3A1MFbwN2A28DUwV2A1MFUQVTAzoFVAVTA1QFgwP2Ak4FVQX2AlUFegMEAtoBZgUEAmYFZwWyASIBYgWyAWIFZAVvBWsFwAJvBcAC4gJ2BW4FyQJ2BckCNwUdBAsAVgUdBFYFcwV1BV0FrQB1Ba0AtgTiAsECbAXiAmwFbwV0BWwFwQJ0BcECkQRqA+cCcAVqA3AFcgU3BWoDcgU3BXIFdgWZAgkCaAWZAmgFagVzBVgFDgBzBQ4AHQRjBWIFIgFjBSIBlAFhBV8F8gBhBfIAHQFdBVwFOwBdBTsArQBxBXAF5wJxBecCTgO2BBwAWQW2BFkFdQVpBWgFCQJpBQkCewIdAfMAYAUdAWAFYQVbBVYFCwBbBQsANgBYBVoFHQBYBR0ADgBuBW0FwgJuBcICyQKRBMICbQWRBG0FdAXLADsAXAXLAFwFXgVnBWUF2QFnBdkBBAI2AAwAVwU2AFcFWwXoBucGaAXoBmgFaQXrBuoGgQXrBoEFgwXsBu0GcAXsBnAFcQWMBY4FsQWMBbEFxQXmBuoGYgXmBmIFYwXxBucGhwXxBocFiQXwBukGewXwBnsFfQWXBZoFggWXBYIFfQWJBZIFxAaJBcQGjwVqBPYFZgVqBGYF2gGXBX0FewWXBXsFlgWXBZYFpAWXBaQFpwWDBYEFmQWDBZkFmwWjBZMFeQWjBXkFkAWaBZkFgQWaBYEFggW2BWsE2QG2BdkBZQWtBZIF0QWtBdEFqwWpBagFmQWpBZkFmgWSBYkFhwWSBYcF0QWbBZkFqAWbBagFqgXGBcMFrgXGBa4FsgXxBesFygXxBcoFuQWyBa8FxAWyBcQFxgXrBdUF1AXrBdQFygXMBdQF1QXMBdUF1gUPBwwH4gUPB+IFyAa7BcwF1gW7BdYF7AXIBuIF3QXIBt0F0Aa5BcsF6gW5BeoF8QXJBtIG9AXJBvQF7gXKBs4G2AXKBtgF5QXLBsYG5gXLBuYF7QXSBs8GtwXSBrcF9AXqBfAFoQXqBaEF9QVDBOQFYAVDBGAF8wDOBsYG2wXOBtsF2AXFBssG7QXFBu0F8wXKBskG7gXKBu4FogXSBaAF1QXSBdUF6wXwBfIFlAXwBZQFoQVnBrIFrgVnBq4FZgbLBboF8AXLBfAF6gWuBewFyQWuBckFZgY3AAoA+QU3APkF/wUeBA8A+AUeBPgFAwYfBAkA+gUfBPoFBAa2BAUG/QW2BP0FHAAXAPwF+gUXAPoFCQAdAP4F9wUdAPcFDgAPADcA/wUPAP8F+AXLAAIGAAbLAAAGOwA7AAAGAQY7AAEGrQC9BAYGAga9BAIGywAIAB4EAwYIAAMG9wUKAB8EBAYKAAQG+QWtAAEGBQatAAUGtgQUAPsFBgYUAAYGvQTmBBMGDwbmBA8GsgFFBPYALwZFBC8GDgZGBPAALQZGBC0GDQb+AAwGLQb+AC0G8ADkARcGJgbkASYG1wHfBBQGCQbfBAkGAwEPBRYGHgYPBR4GmQIJAiQGHQYJAh0GewKyAQ8GBwayAQcGIgHdAQUCIwbdASMGHAaUARAGFAaUARQG3wTxAEYEDQbxAA0GLgZtBNcBJgZtBCYGIAbvAEUEDgbvAA4GMAZsBN0BHAZsBBwGHwb8AAsGEwb8ABMG5gQiAQcGEAYiARAGlAHnAikGNQbnAjUGTgP2AB4BCAb2AAgGLwYEAQoGMAYEATAG9QB7Ah0GFQZ7AhUGCAUeAfEALgYeAS4GCAbjARgGFgbjARYGDwVqAzQGKQZqAykG5wIIBRUGGQYIBRkG6gHjAr8CEgbjAhIGKgYxBSgGMwYxBTMGzgKTBMQCIQaTBCEGLAbYAW0EIAbYASAGJQbrARoGGwbrARsG3AEFAtgBJQYFAiUGIwbWAWwEHwbWAR8GGwaZAh4GJAaZAiQGCQK/ApQEKwa/AisGEgbEAuMCKgbEAioGIQZOAzUGKAZOAygGMQU3BScGNAY3BTQGagO9ApMELAa9AiwGIgbJAjEGJwbJAicGNwXNAjIGIgbNAiIGwwKUBL4CEQaUBBEGKwbKAjEGEQbKAhEGvgLsBdYFZAbsBWQGyQXxBeoF9QXxBfUFmAWQBZQF8gWQBfIFowWYBdIF6wWYBesF8QWGBWQGoAWGBaAFhAWABZgF9QWABfUFfgXWBdUFoAXWBaAFZAaNBW8FbAWNBWwFiwViBkQE8gBiBvIAXwUcBGMGVwUcBFcFDABEBBwEDQBEBA0A9QAcBEQEYgYcBGIGYwZvBY0FigVvBYoFawVmBmUGawVmBmsFigVrBEME9ABrBPQA3AFkBoYFhQVkBoUFyQVDBGsEtgVDBLYF5AXJBfYFZQbJBWUGZgZnBo0FiwVnBosFkQWyBWcGkQWyBZEFrwVlBpIEwAJlBsACawVqBJIEZQZqBGUG9gWSBGoE2wGSBNsBwwKNBWcGZgaNBWYGigWcBawFqwWcBasF0QUdBzgGOgYdBzoGHgccB0IGOAYcBzgGHQfEA8YDbQbEA20GawZyBm4GxwNyBscDywNzBmkGwgNzBsID8AP9A8IDaQb9A2kGdAZvBnAGyQNvBskDyANuBm8GyANuBsgDxwN0BnEGygN0BsoD/QNwBmwGxQNwBsUDyQPwA8MDagbwA2oGcwZsBm0GxgNsBsYDxQN8BngGbAZ8BmwGcAZ4BnkGbQZ4Bm0GbAZzBmoGdgZzBnYGfwZ+BnoGbgZ+Bm4GcgZrBm0GeQZrBnkGdwZ/BnUGaQZ/BmkGcwZ0BmkGdQZ0BnUGgAaABn0GcQaABnEGdAZ7BnwGcAZ7BnAGbwZ6BnsGbwZ6Bm8GbgaHBogGfAaHBnwGewaGBocGewaGBnsGegaIBoQGeAaIBngGfAaEBoUGeQaEBnkGeAZ/BnYGggZ/BoIGiwaKBoYGegaKBnoGfgZ3BnkGhQZ3BoUGgwaLBoEGdQaLBnUGfwaABnUGgQaABoEGjAaMBokGfQaMBn0GgAaXBo0GgQaXBoEGiwaMBoEGjQaMBo0GmAaYBpUGiQaYBokGjAaTBpQGiAaTBogGhwaSBpMGhwaSBocGhgaUBpAGhAaUBoQGiAaQBpEGhQaQBoUGhAaLBoIGjgaLBo4GlwaWBpIGhgaWBoYGigaDBoUGkQaDBpEGjwaXBo4GmgaXBpoGowaiBp4GkgaiBpIGlgaPBpEGnQaPBp0GmwajBpkGjQajBo0GlwaYBo0GmQaYBpkGpAakBqEGlQakBpUGmAafBqAGlAafBpQGkwaeBp8GkwaeBpMGkgagBpwGkAagBpAGlAacBp0GkQacBpEGkAasBqgGnAasBpwGoAaoBqkGnQaoBp0GnAajBpoGpgajBqYGrwauBqoGngauBp4GogabBp0GqQabBqkGpwavBqUGmQavBpkGowakBpkGpQakBqUGsAawBq0GoQawBqEGpAarBqwGoAarBqAGnwaqBqsGnwaqBp8GngafBakGqAafBagGngW0BacGqQa0BakGnwXBBcAFtAbBBbQGtQbABb4FsgbABbIGtAa/Bb0FsQa/BbEGswa1BrQGtga1BrYGtwa3BrYGuAa3BrgGuQa5BrgGuwa5BrsGvAbNBfoG1QbNBdUG+wa8BrsGvga8Br4Gvwa/Br4GwQa/BsEGwgbNBsEG/QbNBv0G4AWlBcIGwQalBcEGzQYVAAQB9QAVAPUADQD7AOsB3AH7ANwB9AC9BN8EAwG9BAMBFADfBL0EywDfBMsAlAGUAcsAXgWUAV4FYwXwBuYGYwXwBmMFXgWkBfcGwQWkBcEFpwWaBZcFpwWaBacFqQW1Ba8Gpga1BaYGswXmBAgF6gHmBOoB/AAIBeYEsgEIBbIBewLiAc0CwwLiAcMC2wEPBTEFzgIPBc4C4wExBQ8FmQIxBZkCTgNOA5kCagVOA2oFcQXxBuwGcQXxBnEFagWcBYgFgwWcBYMFmwWsBZwFmwWsBZsFqgXRBYcFiAXRBYgFnAXoBusGgwXoBoMFiAVkBWkFewJkBXsCsgGPBcQGsQWPBbEFjgXFBtAG3QXFBt0F1wXsBa4FwwXsBcMFuwWUBXoFeAWUBXgFoQWUBZAFdwWUBXcFegWYBYAFfwWYBX8F0gWvBZEFjAWvBYwFxQXHBaUGrwbHBa8GtQXQBcgG0AbQBdAGzwXZBdMF0gbZBdIGyQbzBc8F0AbzBdAGxQbXBdoFywbXBcsGxQbTBdwFzwbTBc8G0gaiBe8FzgaiBc4GygbaBdsFxgbaBcYGywblBdkFyQblBckGygbvBeYFxgbvBcYGzgaxBcQG1AaxBdQGsAW+Bv8G/Qa+Bv0GwQaSBa0F1AaSBdQGxAa7BgIH/wa7Bv8GvgbIBbAGpQbIBaUGxwWwBsgF8gawBvIGrQamBaoGrgamBa4G8wbjBasGqgbjBaoGpgWrBuMF0QarBtEGrAbPBtwF1QbPBtUG+gbHBtMG5wXHBucF3gXTBscG6QXTBukFnQXEBa8FxQXEBcUFuAW8Bc0F+wa8BfsGWgYcB18GXgYcB14GGwcbB14GXQYbB10GGgcaB10GXAYaB1wGGQcZB1wGYAYZB2AGGAcYB2AGaAYYB2gGFwcXB2gGYQYXB2EGFgcWB2EG5QYWB+UGFQfZBV8GWAbZBVgG0wXlBV4GXwblBV8G2QVeBuUF2AVeBtgFXQZdBtgF2wVdBtsFXAbaBWAGXAbaBVwG2wXXBWgGYAbXBWAG2gVoBtcF3QVoBt0FYQYUB1cGTgYUB04GFQcSB+MGVwYSB1cGFAfiBeUGYQbiBWEG3QWFBWYF9gWFBfYFyQWIBYcF5waIBecG6AZ8BXsF6QZ8BekGdQWGBWcFZgWGBWYFhQVnBYYFhAVnBYQFZQVkBWIF6gZkBeoG6wagBbYFZQWgBWUFhAWPBY4F7QaPBe0G7AZ1BekGXAV1BVwFXQW2BaAF0gW2BdIF5AV/BWAF5AV/BeQF0gWABWEFYAWABWAFfwVhBYAFfgVhBX4FXwWCBYEF6gaCBeoG5gZqBWgF5wZqBecG8QZ2Be0GjgV2BY4FbgX1BWIGXwX1BV8FfgVeBVwF6QZeBekG8AZiBvUFoQViBqEFYwZ4BVcFYwZ4BWMGoQV6BVsFVwV6BVcFeAV2BXIFcAV2BXAF7QZbBXoFdwVbBXcFVgWQBXMFVgWQBVYFdwVzBZAFeQVzBXkFWAWTBQsH7waTBe8GeQV8Be4GCgd8BQoHlQVuBY4FjAVuBYwFbQWRBXQFbQWRBW0FjAV0BZEFiwV0BYsFbAVYBXkF7wZYBe8GWgV9BYIF5gZ9BeYG8AaJBY8F7AaJBewG8QZpBWQF6wZpBesG6AasBtEGngWsBp4FqAb0BqYF8wb0BvMG9gbOBeMFpgXOBaYF9AbyBfAFugXyBboFwgX6BvgGtwX6BrcFzwYMBxAH5QYMB+UG4gXNBdEG4wXNBeMFzgUMB94F2QYMB9kGEAf5BqMF8gX5BvIFwgXCBbcF+AbCBfgG+Qb4Bs4F9Ab4BvQG+QajBfkG9AajBfQGkwW6BfQFtwW6BbcFwgXLBe4F9AXLBfQFugXNBtMGnQXNBp0FpQXTBs0G4AXTBuAF5wXDBtcG2gbDBtoG3wXABtgG1wbABtcGwwa9BtsG2Aa9BtgGwAa6Bt0G2wa6BtsGvQbWBtwG3QbWBt0GugZaBuEG3AZaBtwG1gb7Bt4G4Qb7BuEGWgbVBlkG3gbVBt4G+wbDBt8F6AXDBugF/AaxBr0FvAWxBrwFWgbABsMG/AbABvwGzAboBeEF/gboBf4G/Aa4BgUHAge4BgIHuwYFB7gGtgYFB7YGCAcAB8wG/AYAB/wG/gbMBgAHAwfMBgMHAQcBBwMHBgcBBwYHBAcEBwYHCQcEBwkHBwe9BsAGzAa9BswGAQcEB7oGvQYEB70GAQe6BgQHBwe6BgcH1ga2BrQGsga2BrIGCAcJB7MGsQYJB7EGBwexBloG1gaxBtYGBwfFBbEFsAXFBbAFuAW5BaIF7gW5Be4FywWiBbkFygWiBcoF7wXvBcoF1AXvBdQF5gXMBe0F5gXMBeYF1AW7BfMF7QW7Be0FzAXDBc8F8wXDBfMFuwXGBdAFzwXGBc8FwwWwBZ0F6QWwBekFuAWdBbAF1AadBdQGpQWtBcIGpQWtBaUF1AbCBq0FqwXCBqsFvwasBbwGvwasBb8GqwW8BqwFqgW8BqoFuQa5BqoFqAW5BqgFtwapBbUGtwapBbcGqAW1BqkFpwW1BqcFwQV8BXUFWQV8BVkF7gaWBZUFCgeWBQoHpAV8BZUFlgV8BZYFewWTBfQG9gaTBfYGCwfHBt4FDAfHBgwHDwfcBVsGWQbcBVkG1QbTBVgGWwbTBVsG3AW4BekFEQe4BREHxAXHBg8HEQfHBhEH6QXQBcYFxAXQBcQFEQcPB8gG0AUPB9AFEQfOBfgG+gbOBfoGzQXIBfcG9QbIBfUG8gb3BsgFxwX3BscFwQXBBccFtQXBBbUFwAXABbUFswXABbMFvgW/BbQFnwW/BZ8FvQW9BZ8FngW9BZ4FvAW8BZ4F0Qa8BdEGzQUmB+AGPQYmBz0GJQclBz0GPwYlBz8GJAckBz8GQQYkB0EGIwciB90G3AYiB9wGIwchB9sG3QYhB90GIgcgB9gG2wYgB9sGIQcfB9cG2AYfB9gGIAcfBw4H5AYfB+QGEwceBzoG4AYeB+AGJgfZBhIHFAfZBhQHEAdCBhwHGwdCBhsHNgZTBiEHIgdTBiIHVQZfBhwHHQdfBh0HWAbhBiQHIwfhBiMH3AZYBh0HHgdYBh4HWwZMBhYHFQdMBhUHTgZbBh4HJgdbBiYHWQZIBhkHGAdIBhgHRgZEBhcHFgdEBhYHTAbeBiUHJAfeBiQH4QYOBx8HIAcOByAHUQZKBhoHGQdKBhkHSAZGBhgHFwdGBhcHRAbXBh8HEwfXBhMH2gZVBiIHIwdVBiMHQQY2BhsHGgc2BhoHSgYQBxQHFQcQBxUH5QZRBiAHIQdRBiEHUwZZBiYHJQdZBiUH3gYKB/UG9wYKB/cGpAXiBg0HTQbiBk0GTwY3BkAGPgY3Bj4GQwZHBlAGUgZHBlIGSQZUBkAGNwZUBjcGSwZHBkUGUAZPBlYG4gYNB1AGRQYNB0UGTQY+BjwGOQY+BjkGQwZUBksGSQZUBkkGUgbfBjsGOQbfBjkGPAZQB1gHsgdQB7IHcQcpB2EHqgcpB6oHdAdAB10HtgdAB7YHvAdXB1AHcQdXB3EHbwedB7UHSQedB0kHRQejB50HRQejB0UHTAc3BzMHeQc3B3kHpAdeB0EHpgdeB6YHoAc2B1sHtwc2B7cHvgdDBzwHgwdDB4MHlgdWB1UHjgdnB00HkgdnB5IHkAdcBzcHpAdcB6QHoQc0BzYHvgc0B74HbAcsB1kHuAcsB7gHwAc8B0QHhQc8B4UHgwdOB2gHfwdOB38HgQdLB0cHcgdLB3IHpQctBykHdActB3QHpwdIB0oHugdIB7oHagdaBy0HpwdaB6cHogebB7YHPwebBz8HOwdgB0sHpQdgB6UHowdEB2YHrwdEB68HhQegB5sHOwegBzsHQgdlB0MHlgdlB5YHlAdUB1MHswcyBzoHhwcyB4cHfgc5BzIHfgc5B34HmAc6B2QHrAc6B6wHhwddBz8HtgeNB7gHKweNBysHJwdjBzkHmAdjB5gHwwdMB2AHoweiB40HJweiBycHLgcwB2IHnwcwB58HiQdYB1IHtAdYB7QHsgdSB1QHswdSB7MHtAcoBzAHiQcoB4kHiwdoB0gHagdoB2oHfwcvBygHiwcvB4sHmgdbBzUHtwdmBz4HawdmB2sHrwdhBy8HmgdhB5oHqgcuB1oHogdCB14HoAdHB2cHkAdHB5AHcgdkBzQHbAdkB2wHrAdfB0kHtQdZBysHuAc+B0AHvAc+B7wHawdBBz0HcwdBB3MHpgcqBywHwAcqB8AHbQdGB04HgQdGB4EHfAdiByoHbQdiB20Hnwc9B2UHlAc9B5QHcwdNB0YHfAdNB3wHkgeOB5wHTweOB08H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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import new file mode 100644 index 0000000..fb4f1ce --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://q1l3fknstir2" +path="res://.godot/imported/Hand_Nails_L.gltf-22452b307072e9d363b1f547e2b6a365.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" +dest_files=["res://.godot/imported/Hand_Nails_L.gltf-22452b307072e9d363b1f547e2b6a365.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf b/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf new file mode 100644 index 0000000..60c9de2 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_R", + "rotation" : [ + -0.07576872408390045, + 0.019257033243775368, + 0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + 2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_R", + "rotation" : [ + 0.05564067140221596, + -0.010326135903596878, + -0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + 2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_R", + "rotation" : [ + -0.04595031589269638, + 0.027135659009218216, + 0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_R", + "rotation" : [ + 0.3235369920730591, + 2.565749491623137e-05, + 0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + -0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_R", + "rotation" : [ + -0.052288394421339035, + 0.0005572127993218601, + -0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_R", + "rotation" : [ + 0.014225997030735016, + 0.011990753002464771, + 0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_R", + "rotation" : [ + -0.013683199882507324, + 0.024668212980031967, + 0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_R", + "rotation" : [ + 0.11122288554906845, + 0.0027781203389167786, + -0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_R", + "rotation" : [ + -0.0005887771840207279, + -2.10358793992782e-05, + -0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_R", + "rotation" : [ + 0.013688242062926292, + -7.99239132902585e-05, + -0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_R", + "rotation" : [ + -0.013931511901319027, + 0.00014242221368476748, + 0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + -5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_R", + "rotation" : [ + 0.03945539891719818, + -0.004928736016154289, + 0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + -1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_R", + "rotation" : [ + -0.01194659061729908, + -0.000966736872214824, + 0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + 7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_R", + "rotation" : [ + -0.03585463762283325, + -4.2005005525425076e-05, + -0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_R", + "rotation" : [ + 0.03305169194936752, + 0.006719753611832857, + -0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + -5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_R", + "rotation" : [ + -0.011351789347827435, + -0.012621401809155941, + 0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + 2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_R", + "rotation" : [ + 0.01732625439763069, + -0.01860846020281315, + 0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_R", + "rotation" : [ + -0.05105672776699066, + 0.002022986998781562, + -0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_R", + "rotation" : [ + -0.07119493186473846, + -1.573348527017515e-05, + -0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_R", + "rotation" : [ + 0.015836291015148163, + 0.01933973841369152, + -0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_R", + "rotation" : [ + -0.018054774031043053, + -0.011455277912318707, + 0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + -2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_R", + "rotation" : [ + 0.044925764203071594, + -0.03280799090862274, + 0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + 4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_R", + "rotation" : [ + -0.08928601443767548, + -0.003168066032230854, + 0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_R", + "rotation" : [ + -0.09176954627037048, + -2.456200854794588e-05, + -0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_R", + "rotation" : [ + 0.7065238952636719, + 6.479929197666934e-06, + 8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + -0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_R", + "rotation" : [ + -0.7065169215202332, + -6.472751010733191e-06, + -6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Hand_Nails_R", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Hand_Nails_R", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 1988, + "max" : [ + 0.030590161681175232, + 0.09075886011123657, + 0.025806419551372528 + ], + "min" : [ + -0.03715551644563675, + -0.0686107948422432, + -0.18644104897975922 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 1988, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 1988, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 1988, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 1988, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 10224, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 23856, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 23856, + "byteOffset" : 23856 + }, + { + "buffer" : 0, + "byteLength" : 15904, + "byteOffset" : 47712 + }, + { + "buffer" : 0, + "byteLength" : 7952, + "byteOffset" : 63616 + }, + { + "buffer" : 0, + "byteLength" : 31808, + "byteOffset" : 71568 + }, + { + "buffer" : 0, + "byteLength" : 20448, + "byteOffset" : 103376 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 123824 + } + ], + "buffers" : [ + { + "byteLength" : 125488, + "uri" : "data:application/octet-stream;base64,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CAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAHBgAABwYAAAcGAAAHBgAABwYAAAcGCAAHBgAABwYAAAcGAAAHBgAABwYAAAcIAAAIBwAACAcAAAcIAAAIBwAACAcAAAgHAAAIBwAABwgAAAgHAAAHBggABwYIAAcGCAAHBgAABwYIAAcGAAAHBgAABwYAAAcGAAAHBgAABwYAAAcAAAAHBgAABwYAAAYHAAAGBwAABgcAAAYHAAAGBwAABwYAAAcGAAAHBgAABwYAAAcGAAAGBwAABgcAAAYHAAAGBwAABgcAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAACAAAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAcIBgAHBgAABgUAAAYHAAAIAAAACAAAAAgAAAAIAAAACAcAAAYHAAAHBggABwYIAAgHAAAGBwAABwYAAAcIAAAHCAAACAAAAAcIAAAHCAAABwYAAAYHAAAIAAAABgcAAAgAAAAIAAAACAAAAAYHCwAIBwAABwYAAAgHAAAHBggABgsFAAcGAAAHCAYACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAwNAAAMDQAADAAAAAwNAAAMCwAADAsAAAwLAAAMCwAACwYMAAsMEAALAAAACwYAAAsQAAALEAAACwYAAAsAAAAMCwAADAsAAAwNAAAMDQAACxAAAAsQAAALDBAACwwQAAwLAAAMCwAADA0AAAwNAAALBgUACwYFAAsGDAALBgwADQAAAA0MAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAMAAAADAsAAAsAAAALAAAADQAAAAwNCwAMCwAACxAGCgsMBhANDAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0MAAANAAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAAsMAAALAAAACwwAAAsMAAALDAAACwwGAAsMBgALDAYACwwAAAsMAAAMCwAADAsAAAwLAAAMCwAADAsAAAwLAAAMAAAADAsAAAwLAAAMCwAADAsAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAAMCw0ADAsNAAwLDQAMAAAADAsNAAwAAAAMCwAADAsAAAwLAAAMCwAADAAAAAwAAAAMCw0ADAsNAAsMAAALDAAACwwAAAsMAAALDAAADAsAAAwLAAAMCwAADAsAAAwLAAALDAAACwwAAAsMAAALDAAACwwAAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAAwNAAAMDQAADA0AAAwNAAANDAAADQwAAA0MAAANDAAADA0AAA0MAAANDAAADA0AAA0MAAANDAAADQAAAA0AAAANAAAADQwAAA0AAAANAAAADQAAAA0MAAANDAAADQwAAAwNAAAMCwAACwYFCgsMBgANAAAADQAAAA0AAAANAAAADQwAAAsMBgAMCwAADAsNAA0MAAALDAAADAsAAAwNAAANDAAADQAAAA0MAAAMDQAADAsAAAsMAAANAAAACwwAAA0AAAANAAAADQAAAAsMEAANDAAADAsAAA0MAAAMCw0ACxAKAAwLAAAMDQsADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAABESAAAREgAAEQAAABESAAAQEQAAEBEAABEQAAAREAAAEAsRABAVEQAQAAAAEAsAABAVAAAQFQAAEAsAABALAAAREAAAERAAABESEAAREhAAEBUAABAVAAAQERUAEBEVABEQAAAREAAAERIAABESAAAQCwAAEAsAABALEQAQCxEAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAARAAAAEBEAABALAAAQAAAAEgAAABESEAAQEQAAEAsVDxARCxUSAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASEQAAEhEAABIAAAASAAAAEgAAABIAAAASEQAAEhEAABARAAAQAAAAEBEAABARAAAQEQAAEBELABARCwAQEQsAEAAAABARCwAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAERAAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAAREBIAERASABEQEgAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAERAAABEAAAAREBIAERASABARAAAQEQAAEBEAABARAAAQEQAAERAAABEQAAAREAAAERAAABEQAAAQEQAAEBEAABARAAAQEQAAEBEAABESAAASEQAAEhEAABIRAAAREgAAERIAABIRAAAREgAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABESEAAQEQAAEAsPChALEQASAAAAEgAAABIAAAASAAAAEgAAABARCwAREAAAERASABIRAAAQEQAAERAAABESAAASEQAAEgAAABIRAAASEQAAERAAABARAAASAAAAEBEVABIAAAASAAAAEgAAABARFQASEQAAERAAABIAAAAREBIAEBUPFBARAAAREhAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABYXFQAWFxUAFhcAABYAAAAVFgAAFRYAABUWAAAVFgAAFRAAABUWAAAVAAAAFRAUDxUUAAAVFAAAFRAAABUQAAAVFgAAFRYAABYXFQAWFxUAFRQAABUWAAAVFgAAFhcVABUQAAAVEAAAFRAWABUQFgAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAWAAAAFRYAABUUEAAVAAAAFwAAABYXFQAVFgAAFRAUABUWEAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAVFgAAFRYAABUAAAAVFgAAFRAWABUQFgAVEBYAFQAAABUWAAAVFgAAFhUXABYVAAAWFQAAFhUXABYVAAAWFRcAFhUXABYVFwAWFwAAFxYAABcWAAAWFwAAFxYAABcWAAAXFgAAFhcAABcWAAAWFRcAFhUXABYVFwAWFQAAFhUXABYVAAAWFQAAFhUAABYVAAAWFRcAFhUAABYVAAAWFRcAFRYAABUWAAAVFgAAFRYAABUWAAAWFRcAFhUAABYVAAAWFQAAFRYAABUWAAAVFgAAFRYAABUWAAAWFwAAFhcAABYXAAAWFwAAFhcVABYXAAAWFwAAFhcAABYXAAAWFwAAFhcAABcWAAAWFwAAFxYAABYXAAAWFwAAFhcAABYXAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFxYAABcWAAAWFxUAFRYAABUQFA8VFhAAFwAAABcAAAAXAAAAFxYAABUWEAAWFRcAFhUXABcWAAAVFgAAFhUXABYXFQAXFgAAFwAAABcWAAAWFxUAFhUXABUWAAAXAAAAFRYAABcAAAAXAAAAFRYAABcWAAAWFRcAFxYAABYVFwAVFBYAFRYAABYXFQAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAgMAAAMAAAACAwAAAwIAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAgAAAwAAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwAAAAMAAAADAAAAAwIAAAMAAAADAAAAAwIAAAMCAAADAgAAAwIAAAIDAAADAAAAAwAAAAMAAAADAAAAAwIAAAIDAAADAgAAAwIAAAMCAAADAAAAAwIAAAMCAAADAAAAAwAAAAMAAAADAAAAAwIAAAMCAAACAwAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAAHCAYABwgAAAYHAAAHBgAABgsAAAYFAAAGBwAABgAAAAgAAAAIAAAACAAAAAgAAAAIBwAACAcAAAYHAAAGBwAABwYAAAcGAAAIBwAABwgAAAgHAAAHBgAABwYAAAgHAAAHBgAABwYAAAYHAAAGBwAABwgAAAcIAAAHCAAABwgAAAgHAAAIBwAACAAAAAgAAAAIAAAACAcAAAgHAAAMDQAADA0AAAwLAAAMCwAACxAAAAsGAAALBgwACwAAAA0AAAANAAAADQAAAA0AAAANAAAADQwAAAsMAAALDAAADAsAAAwLAAANDAAADQwAAA0MAAAMAAAADAsNAA0MAAAMCwAADAsAAAsMAAALDAAADA0AAAwNAAANDAAADQwAAA0AAAANDAAADQAAAA0AAAANAAAADQwAAA0MAAAREgAAERIAABEQAAAREAAAEBUPABALAAAQCxEAEAAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABARCwAQEQAAERAAABEQAAASEQAAEhEAABIRAAAREAAAERAAABIAAAAREAAAERAAABARAAAQEQAAERIAABESAAASEQAAEhEAABIAAAASAAAAEgAAABIAAAASAAAAEhEAABIRAAAWFwAAFhcVABUWAAAVFgAAFRQAABUQDwAVEAAAFQAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABUQFgAVFgAAFhUAABYVAAAXFgAAFxYAABcWAAAWFQAAFhUAABcWAAAWFQAAFRYAABUWAAAVFgAAFhcAABYXAAAWFwAAFhcAABcAAAAXFgAAFwAAABcAAAAXAAAAFxYAABcWAAAHCAYABwYAAAYFAAAGBwAACAAAAAgAAAAIAAAABwgGAAcGAAAGCwUABgsHAAgAAAAIBwAABgcAAAcGAAAHBggACAcAAAYHAAAHBgAABwgAAAcIAAAIAAAACAAAAAgHAAAHCAAABwYAAAYHAAAHCAAABgcAAAgAAAAIAAAACAAAAAgHAAAIBwAABwYIAAcGAAAIAAAACAAAAAgAAAAIBwAACAcAAAwNAAAMCwAACwYFCgsGDAANAAAADQAAAA0AAAAMDQAADAsAAAsQAAALDBAADQAAAA0MAAALDAYADAsAAAwLDQANDAAACwwAAAwLAAAMDQAADQwAAA0AAAANAAAADQAAAA0MAAAMCwAACwwAAAwNAAALDAAADQAAAA0AAAANAAAADQwAAA0MAAAMCw0ADAsAAA0AAAANAAAADQAAAA0MAAANDAAAERIQABARAAAQCwAAEAsRABIAAAASAAAAEgAAABESEAAREAAAEBUPABARFQASAAAAEhEAABARCwAREAAAERASABIRAAAQEQAAERAAABIRAAASEQAAEgAAABIAAAASAAAAEhEAABEQAAAQEQAAEhEAABARFQASAAAAEgAAABIAAAASEQAAEgAAABEQEgAREAAAEgAAABIAAAASAAAAEhEAABIRAAAWFxUAFRYAABUQDxQVEBYAFwAAABcAAAAWFxUAFRYAABUUAAAVFgAAFwAAABcWAAAVFhAAFhUXABYVFwAXFgAAFRYAABYVFwAWFxUAFxYAABcAAAAXAAAAFwAAABcWAAAWFRcAFRYAABYXFQAVFgAAFwAAABcAAAAXFgAAFxYAABYVFwAWFRcAFwAAABcAAAAXAAAAFxYAABcWAAAGBQAABgsFAAYFAAAGBQAABgUAAAYFAAAGBQsABgUAAAYFCwoLBgoACxAKAAsKAAALChAFCwYFCgsQCg8QCw8AEA8VABAPCwAQDxULEAsPChAVDxQVEBQPFRQAABUUAAAVFAAAFRQQDxUUEAAVEBQPFRQQAAYFAAAVFAAABgUAABUUAAAGBQAABgULAAYFAAAGBQsABQYAAAYFAAAFBgsKCwoGAAsKEAALChAGCgULDwUKCwYKDwsQEA8LChAPFQAQDwsVDxAUFQ8QCgsUFQ8QFRQPEBUUDwAVFAAAFRQPABUUAAAVFA8QBgUAABQVAAAUFQ8QBQYAAAYFCwoFBgAABQYAAAUGCgsKCxAFCgULDwUKCwYKDwULDwoQFBQAAAABAgUAAQIAABALDwoGCwUKCg8FAAUGAAAFBgIBFA8VAAUCAQYFCgEGCgUPCwUKDwEKDwUUDxQKFQ8KFAUUDxUADxQVABQVAAAUFQAAFBUAABQPFQABAgAAAQIAAAECBQAQCw8KBQoBABQVAAAKBQ8ABQoGAA8UAAABAgUAAQIAAAECAAABAgAAAQUCAAUBAgoFCgYAFA8VABQAAAAUFQAAFA8AAAECBQAFAgEADxAVFAoPAAAKBQsADwoUAAEFAgABBQIAFA8AABQPAAAPFBUQCwoQDwUKAAAPChAADwoQCw8KEBQPFAoACg8FAAoFDwAPFAoADwoUAAUBCgAUDwAAFAAAABQAAAAUAA8AFAAPABQPAAABAgUACxAKAAoPBQAPChQAFAAAABQAAAAUAAAACgULBgoLDxAPFBAVDwoUAAoFDwAKDwUABQoGCwoLBQ8FBgoADxQKAAUKAAALBgoFEBUPFAYHBQAGAAAABgAAAAYLAAAGCwAABgsAAAYHBQAGBwUABgAAAAYHBQAGBwUABgsFAAYHAAAGCwAABgcFAAYLAAALEAYKCwAAAAsGDAALBgwACxAAAAsQAAALEAAACwYAAAsQAAALBhAFFQAAABUAAAALEAAACwYMABALEQAQFREAEBUAABAVAAAQCxEAEAsRABALEQAQCwAAEAsRABAVEQAQCwAAEBUAABUQAAAVEAAAEAAAABALERUQAAAAEBUAABUWAAAVEBYAFRYQABUQAAAVAAAAFRAAAAsQAAALAAAACwYAAAsGAAAVFgAAFRAWABUQFgAVFgAAFRAWAAAKBQ8ACgUPBQoBAAUKAQAFAQAKBQEACgEFAAoBBQAKAQAFCgEABQoBAAUUAQAFFAoABQEKAAUBDxQACg8UAAoPABQKDwAUCgAPChQADwoUAA8KBQAPCgUUDwAAFA8AABQPAAAUDwAAABQBDwAUAQ8AARQAAAEUAAABFAUAARQFFAAPABQADwAFCgAABQEAAAEFAAAFAQoADwoUAAoPBQAKDwUACgUPAA8UCgAUDwAACwYKBQYLBQAPEAoLFRAPFBQPFRAUFQ8ADxQKAAIAAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIAAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgUAAAIFAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgUBAAIBAAACAQAAAgUBAAIFAQACAAAAAgUBAAIBAAACAQAAAgEAAAIBAAACAQAAAgUBAAIBBQACAQAAAgUBAAIFAQACAQAAAgEFAAIBBQACAQAAAgEAAAIBAAACAQAAAgUBAAIBBQACAQUAAgUBAAIFAQACAQAAAgEFAAIBBQACAQAAAgEAAAIBAAACAQAABQIBAAIBBQACAQUAAgUBBgIFAQYCAQAAAgUBAAEAAAABAAAAAQAAAAEFAAIFAQoPAQAFDwUKAQ8AAQ8FCg8FAQEAFAAAAQ8UDwoUBQABFAAPFAABDxQKAAAUAQAUDwABFA8AABQAAQ8UFQ8ADxQKAA8KFAAUAAAAFA8AAAoFDwAKDwUADwoUAAAUAQ8UDwAACg8FAAUBCgAUDwAAAQIFAAUKAAAUAAAAFBUPAAUBAAABAAAAFAABDwAUAQAUAAAAFAAAAAABFAABAAUAAAEUAAEFAAABBQAKAQUACgEFAAAUAA8BFAAPARQADwEUDwAACwUKBhAPFRQQDwoLBgULAAsKBRAKCxAPFRQQDxUUAAAGBQAABgUAAAUGCwoVEA8UBQIBBgUCAQYFAgYBBQYCAQUGAgEFAgEGBQECAAUGAgAFAQIAAQUAABQAAQ8UAA8BFAAPAQAUAQ8AFAEPAAEUAAABFA8AARQPAQAUAAEAFAABABQAAQAAAAEAAAABAAAABQYAAAUGAAAUAAAAABQBDwAUAQ8UAAAAFAAAABQAAAAUAA8AFAAPABQADwAUDwAAFA8AAA8UAAoPFAoADwoAFAoPAAUKAAUPCgUADwUKAQAFAQoAABQBDwAUAQAAARQAAAEUAAEABQABAAUAAQUACgUBAAoIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAA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AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAxBBsEBAAxBAQAhwAwBBoEBgAwBAYAXwBbADUABQBbAAUAXgD/BTYADAD/BQwA+QUDBh0ECwADBgsA+AUEBhwEDQAEBg0A+gU0BBgEAwA0BAMAjQA1BBkEAQA1BAEAjgCRADQAAgCRAAIAlADDBHIAEwDDBBMAtASBAIkABQCBAAUANQDFBH8AEQDFBBEAtQQFBv4FHwAFBh8AtwRVAFEACQBVAAkAFwCPAI4AAQCPAAEAGgD8BfoFDQD8BQ0AFQBcAF8ABgBcAAYAGQBxAHQAAABxAAAAEgD9BfcFCAD9BQgAHgBYAFYAHgBYAB4ACAAyBIoABAAyBAQAGwQzBIgABgAzBAYAGgQvBDgEpAAvBKQATQBIAKgAqQBIAKkAUAC/BMsEowC/BKMARAAqBDkEqgAqBKoATwBNAKQAqABNAKgASAAlBCAEIAAlBCAAPgAtACIAIAAtACAAMwBBACUAJABBACQAPwC6BMoEIwC6BCMALgAkBCEEKAAkBCgAQADFAM4AJwDFACcAKwBFACkAIQBFACEAPQBAACgAKQBAACkARQAoADEALAAoACwAKQApACwAOAApADgAIQCHAAQANQCHADUAWwD4BQsANgD4BTYA/wWNAAMANACNADQAkQDKAHAAOQDKADkAzQCKAIEANQCKADUABADAAIIAOgDAADoAzAACBgAGPAACBjwAxgDOAMMARgDOAEYAJwAhBCMEMQAhBDEAKADKBL8ERADKBEQAIwAlAC8AMgAlADIAJAAiAEMAPgAiAD4AIAAgBCIEMwAgBDMAIADBAMkARwDBAEcAoQCiAEkATwCiAE8AqgA4BCQEQAA4BEAApADLBMAESgDLBEoAowCkAEAARQCkAEUAqAClAEEAPwClAD8ApwCoAEUAPQCoAD0AqQA5BCUEPgA5BD4AqgA9BC8ETQA9BE0A4ADhAEgAUADhAFAA3wDmAMcAbwDmAG8A3gA3AAoAUgA3AFIAWQC3BB8AVwC3BFcAwQSMAIgAUQCMAFEAVQCAAH4AVgCAAFYAWAAeBA8AUwAeBFMAJgQfBAkAUQAfBFEAJwQPADcAWQAPAFkAUwDGADwAWgDGAFoAwgB7AGEAdQB7AHUAegDbAEsATgDbAE4A3QAtBCgEdwAtBHcAeQDbBMQEbQDbBG0A4wCfAJ0AZwCfAGcAbADGBIUAYwDGBGMAwgS/AIMAYAC/AGAAyAAZBC0EeQAZBHkAAQBzAHYAYQBzAGEAewAuBCkEdgAuBHYAcwBTAFkAgQBTAIEAigB8AHkAdwB8AHcAZADIAGAAcADIAHAAygCEAIYAeACEAHgAYgA+BCoETwA+BE8A5AAmBFMAigAmBIoAMgTgAE0ASADgAEgA4QBhAFsAXgBhAF4AdQC9AJwAbwC9AG8AxwAYBC4EcwAYBHMAAwA0AHsAegA0AHoAAgAaAAEAeQAaAHkAfADIBKAAbQDIBG0AxATiAGwAZwDiAGcA5AAoBDAEXwAoBF8AdwBiAHgAdABiAHQAcQDCBGMAcgDCBHIAwwQDAHMAewADAHsANAAZAAYAiAAZAIgAjADBBFcAfwDBBH8AxQRZAFIAiQBZAIkAgQDMADoAgwDMAIMAvwAQAAcAhgAQAIYAhAAnBFEAiAAnBIgAMwQHABAAfgAHAH4AgADCAFoAggDCAIIAwAC1BBEAhQC1BIUAxgQpBDEEhwApBIcAdgB2AIcAWwB2AFsAYQBkAHcAXwBkAF8AXAA2BDQEjQA2BI0AlwA3BDUEjgA3BI4AmACbAJEAlACbAJQAngCZAJgAjgCZAI4AjwCXAI0AkQCXAJEAmwASAAAAkwASAJMAlQDNADkAkgDNAJIAvgC0BBMAlgC0BJYAxwSVAJMAnQCVAJ0AnwC+AJIAnAC+AJwAvQDHBJYAoADHBKAAyAQsBDYElwAsBJcAZgArBDcEmAArBJgAaABuAJsAngBuAJ4AaQBqAGgAmABqAJgAmQBmAJcAmwBmAJsAbgBLAKUApwBLAKcATgDDAMEAoQDDAKEARgBDAKIAqgBDAKoAPgBwALYAqwBwAKsAOQCCALgArACCAKwAOgAABgEGrgAABq4APABGAKEAvABGALwAsgArACcArwArAK8AsQAnAEYAsgAnALIArwChAEcAswChALMAvAA8AK4AtAA8ALQAWgDeAG8AtwDeALcA5QCDALkAtQCDALUAYACcALsAtwCcALcAbwBgALUAtgBgALYAcABaALQAuABaALgAggA6AKwAuQA6ALkAgwA5AKsAugA5ALoAkgCSALoAuwCSALsAnADQBMIAwADQBMAAzgQGBgIGxgAGBsYAvgS+BMYAwgC+BMIA0ATMBL0AxwDMBMcA1AS4BNMEwwC4BMMAzgC8BMwAvwC8BL8AzQS7BM0AvgC7BL4AzwTJBNUEyQDJBMkAwQDWBMoAzQDWBM0AuwTOBMAAzADOBMwAvATXBMgAygDXBMoA1gTTBMkEwQDTBMEAwwDSBLgEzgDSBM4AxQDPBL4AvQDPBL0AzATcBNQExwDcBMcA5gDNBL8AyADNBMgA1wTYAMQAKgDYACoA0AAxANMAzwAxAM8ALACwANcA0ACwANAAKgAjBDoE0wAjBNMAMQDRAC0AMwDRADMA1QAvANIA1AAvANQAMgDRBNkE0gDRBNIALwAiBDsE1QAiBNUAMwDYBLkELQDYBC0A0QAsAM8A1gAsANYAOADZBNoE2gDZBNoA0gDYBNEA2gDYBNoA2gTRANUA2QDRANkA2gDaANkA1ADaANQA0gA8BM8A0wA8BNMAOgQ8BNkA1QA8BNUAOwQrBD0E4AArBOAAaQBuAOEA3wBuAN8AZgDJAOYA3gDJAN4ARwBqANsA3QBqAN0AaADABNsE4wDABOMASgAsBD4E5AAsBOQAZwBpAOAA4QBpAOEAbgBJAOIA5ABJAOQATwBHAN4A5QBHAOUAswDVBNwE5gDVBOYAyQBYBEIE6wBYBOsAbgFXBEEE7QBXBO0ARgFCARwB7ABCAewARQEIBh0B8wAIBvMALgYOBkQE8gAOBvIALwYNBkME9AANBvQALQZbBD8E6gBbBOoAdAFcBEAE6ABcBOgAdQF4ARsB6QB4AekAewHsBFgB+QDsBPkA3QRoAXAB7ABoAewAHAHuBGUB9wDuBPcA3gQUBgkGBQEUBgUB4AQ8ATgB8AA8AfAA/gB3AXUB6AB3AegAAgEMBi0G9AAMBvQA/ABEAUYB7QBEAe0AAAFZAVsB5wBZAecA+gAKBjAG7wAKBu8ABgE/AT4BBgE/AQYB7wBZBHEB6wBZBOsAQgRaBG8B7QBaBO0AQQRWBF8EiwFWBIsBNAEvAY8BkAEvAZABNwHoBPQEiQHoBIkBKgFRBGAEkQFRBJEBNgE0AYsBjwE0AY8BLwFMBEcEBwFMBAcBJQEVAQoBBwEVAQcBGgEpAQ0BCwEpAQsBJgHiBPMECQHiBAkBFAFLBEgEDwFLBA8BJwGrAbUBDgGrAQ4BEQEsARABCAEsAQgBJAEnAQ8BEAEnARABLAEPARgBEwEPARMBEAEQARMBHwEQAR8BCAFuAesAHAFuARwBQgEvBvIAHQEvBh0BCAZ0AeoAGwF0ARsBeAGxAVcBIAGxASABtAFxAWgBHAFxARwB6wCnAWkBIQGnASEBswEPBgcGIwEPBiMBrQG1AaoBLQG1AS0BDgFIBEoEGAFIBBgBDwHzBOgEKgHzBCoBCQENARcBGQENARkBCwEKASsBJQEKASUBBwFHBEkEGgFHBBoBBwGoAbABLgGoAS4BiAGKATEBNgGKATYBkQFfBEsEJwFfBCcBiwH0BOkEMAH0BDABiQGLAScBLAGLASwBjwGNASkBJgGNASYBjgGPASwBJAGPASQBkAFgBEwEJQFgBCUBkQFkBFYENAFkBDQBxwHIAS8BNwHIATcBxgHNAa4BVgHNAVYBxQEeAfEAOQEeATkBQAHgBAUBPQHgBD0B6gRzAW8BOAFzATgBPAFnAWYBPgFnAT4BPwFFBPYAOgFFBDoBTQRGBPAAOAFGBDgBTgT2AB4BQAH2AEABOgGtASMBQQGtAUEBqQFiAUgBXAFiAVwBYQHDATMBNQHDATUBxAFUBE8EXgFUBF4BYAEEBe0EUwEEBVMByQGHAYQBTgGHAU4BVAHvBGsBSQHvBEkB6wSmAWoBRwGmAUcBrwFABFQEYAFABGAB6ABaAV0BSAFaAUgBYgFVBFAEXQFVBF0BWgE6AUABaAE6AWgBcQFkAWABXgFkAV4BTAGvAUcBVwGvAVcBsQFsAW0BXwFsAV8BSgFlBFEENgFlBDYBywFNBDoBcQFNBHEBWQTHATQBLwHHAS8ByAFIAUIBRQFIAUUBXAGkAYMBVgGkAVYBrgE/BFUEWgE/BFoB6gAbAWIBYQEbAWEB6QACAegAYAECAWABZAHxBIYBUwHxBFMB7QTKAVQBTgHKAU4BywFPBFcERgFPBEYBXgFKAV8BWwFKAVsBWQHrBEkBWAHrBFgB7ATqAFoBYgHqAGIBGwEAAe0AbwEAAW8BcwHqBD0BZQHqBGUB7gRAATkBcAFAAXABaAGzASEBagGzAWoBpgH4AO4AbQH4AG0BbAFOBDgBbwFOBG8BWgTuAPgAZgHuAGYBZwGpAUEBaQGpAWkBpwHeBPcAawHeBGsB7wRQBFgEbgFQBG4BXQFdAW4BQgFdAUIBSAFMAV4BRgFMAUYBRAFdBFsEdAFdBHQBfgFeBFwEdQFeBHUBfwGCAXgBewGCAXsBhQGBAX8BdQGBAXUBdwF+AXQBeAF+AXgBggH6AOcAegH6AHoBfQG0ASABeQG0AXkBpQHdBPkAfAHdBHwB8AR9AXoBhAF9AYQBhwGlAXkBgwGlAYMBpAHwBHwBhgHwBIYB8QRTBF0EfgFTBH4BTQFSBF4EfwFSBH8BTwFVAYIBhQFVAYUBUAFSAU8BfwFSAX8BgQFNAX4BggFNAYIBVQEzAY0BjgEzAY4BNQGqAagBiAGqAYgBLQErAYoBkQErAZEBJQFXAZ0BkgFXAZIBIAFpAZ8BkwFpAZMBIQEHBhAGlQEHBpUBIwEtAYgBowEtAaMBmQERAQ4BlgERAZYBlwEOAS0BmQEOAZkBlgGIAS4BmgGIAZoBowEjAZUBmwEjAZsBQQHFAVYBngHFAZ4BzAFqAaABnAFqAZwBRwGDAaIBngGDAZ4BVgFHAZwBnQFHAZ0BVwFBAZsBnwFBAZ8BaQEhAZMBoAEhAaABagEgAZIBoQEgAaEBeQF5AaEBogF5AaIBgwH5BKkBpwH5BKcB9wQTBg8GrQETBq0B5wTnBK0BqQHnBKkB+QT1BKQBrgH1BK4B/QThBPwEqgHhBKoBtQHlBLMBpgHlBKYB9gTkBLQBpQHkBKUB+ATyBP4EsAHyBLABqAH/BLEBtAH/BLQB5AT3BKcBswH3BLMB5QQABa8BsQEABbEB/wT8BPIEqAH8BKgBqgH6BOEEtQH6BLUBqwH4BKUBpAH4BKQB9QQFBf0ErgEFBa4BzQH2BKYBrwH2BK8BAAW/AawBEgG/ARIBtwEYAboBtgEYAbYBEwGYAb4BtwGYAbcBEgFKBGEEugFKBLoBGAG4ARUBGgG4ARoBvAEXAbkBuwEXAbsBGQH7BAIFuQH7BLkBFwFJBGIEvAFJBLwBGgEBBeMEFQEBBRUBuAETAbYBvQETAb0BHwECBQMFwQECBcEBuQEBBbgBwQEBBcEBAwW4AbwBwAG4AcABwQHBAcABuwHBAbsBuQFjBLYBugFjBLoBYQRjBMABvAFjBLwBYgRSBGQExwFSBMcBUAFVAcgBxgFVAcYBTQGwAc0BxQGwAcUBLgFSAcMBxAFSAcQBTwHpBAQFyQHpBMkBMAFTBGUEywFTBMsBTgFQAccByAFQAcgBVQExAcoBywExAcsBNgEuAcUBzAEuAcwBmgH+BAUFzQH+BM0BsAF/BGkE0gF/BNIBVQJ+BGgE1AF+BNQBLQIpAgMC0wEpAtMBLAIjBgQC2gEjBtoBJQYfBmsE2QEfBtkBHAYgBmoE2wEgBtsBJgaCBGYE0QGCBNEBWwKDBGcEzwGDBM8BXAJfAgIC0AFfAtABYgIVBT8C4AEVBeABBgVPAlcC0wFPAtMBAwIXBUwC3gEXBd4BBwUVBhkG7AEVBuwBCQUjAh8C1wEjAtcB5QFeAlwCzwFeAs8B6QEYBiYG2wEYBtsB4wErAi0C1AErAtQB5wFAAkICzgFAAs4B4QEaBhsG1gEaBtYB7QEmAiUC7QEmAu0B1gGABFgC0gGABNIBaQSBBFYC1AGBBNQBaAR9BIYEcgJ9BHICGwIWAnYCdwIWAncCHgIRBR0FcAIRBXACEQJ4BIcEeAJ4BHgCHQIbAnICdgIbAnYCFgJzBG4E7gFzBO4BDAL8AfEB7gH8Ae4BAQIQAvQB8gEQAvIBDQILBRwF8AELBfAB+wFyBG8E9gFyBPYBDgKSApwC9QGSAvUB+AETAvcB7wETAu8BCwIOAvYB9wEOAvcBEwL2Af8B+gH2AfoB9wH3AfoBBgL3AQYC7wFVAtIBAwJVAgMCKQIcBtkBBAIcBgQCIwZbAtEBAgJbAgICXwKYAj4CBwKYAgcCmwJYAk8CAwJYAgMC0gGOAlACCAKOAggCmgIeBiQGCgIeBgoClAKcApECFAKcAhQC9QFvBHEE/wFvBP8B9gEcBREFEQIcBREC8AH0Af4BAAL0AQAC8gHxARICDALxAQwC7gFuBHAEAQJuBAEC7gGPApcCFQKPAhUCbwJxAhgCHQJxAh0CeAKGBHIEDgKGBA4CcgIdBRIFFwIdBRcCcAJyAg4CEwJyAhMCdgJ0AhACDQJ0Ag0CdQJ2AhMCCwJ2AgsCdwKHBHMEDAKHBAwCeAKLBH0EGwKLBBsCrgKvAhYCHgKvAh4CrQK0ApUCPQK0Aj0CrAIFAtgBIAIFAiACJwIJBewBJAIJBSQCEwVaAlYCHwJaAh8CIwJOAk0CJQJOAiUCJgJsBN0BIQJsBCECdARtBNcBHwJtBB8CdQTdAQUCJwLdAScCIQKUAgoCKAKUAigCkAJJAi8CQwJJAkMCSAKqAhoCHAKqAhwCqwJ7BHYERQJ7BEUCRwItBRYFOgItBToCsAJuAmsCNQJuAjUCOwIYBVICMAIYBTACFAWNAlECLgKNAi4ClgJnBHsERwJnBEcCzwFBAkQCLwJBAi8CSQJ8BHcERAJ8BEQCQQIhAicCTwIhAk8CWAJLAkcCRQJLAkUCMwKWAi4CPgKWAj4CmAJTAlQCRgJTAkYCMQKMBHgEHQKMBB0CsgJ0BCECWAJ0BFgCgASuAhsCFgKuAhYCrwIvAikCLAIvAiwCQwKLAmoCPQKLAj0ClQJmBHwEQQJmBEEC0QECAkkCSAICAkgC0AHpAc8BRwLpAUcCSwIaBW0COgIaBToCFgWxAjsCNQKxAjUCsgJ2BH4ELQJ2BC0CRQIxAkYCQgIxAkICQAIUBTACPwIUBT8CFQXRAUECSQLRAUkCAgLnAdQBVgLnAVYCWgITBSQCTAITBUwCFwUnAiACVwInAlcCTwKaAggCUQKaAlECjQLfAdUBVALfAVQCUwJ1BB8CVgJ1BFYCgQTVAd8BTQLVAU0CTgKQAigCUAKQAlACjgIHBd4BUgIHBVICGAV3BH8EVQJ3BFUCRAJEAlUCKQJEAikCLwIzAkUCLQIzAi0CKwKEBIIEWwKEBFsCZQKFBIMEXAKFBFwCZgJpAl8CYgJpAmICbAJoAmYCXAJoAlwCXgJlAlsCXwJlAl8CaQLhAc4BYQLhAWECZAKbAgcCYAKbAmACjAIGBeABYwIGBWMCGQVkAmECawJkAmsCbgKMAmACagKMAmoCiwIZBWMCbQIZBW0CGgV6BIQEZQJ6BGUCNAJ5BIUEZgJ5BGYCNgI8AmkCbAI8AmwCNwI5AjYCZgI5AmYCaAI0AmUCaQI0AmkCPAIaAnQCdQIaAnUCHAKRAo8CbwKRAm8CFAISAnECeAISAngCDAI+AoQCeQI+AnkCBwJQAoYCegJQAnoCCAIkBh0GfAIkBnwCCgIUAm8CigIUAooCgAL4AfUBfQL4AX0CfgL1ARQCgAL1AYACfQJvAhUCgQJvAoECigIKAnwCggIKAoICKAKsAj0ChQKsAoUCswJRAocCgwJRAoMCLgJqAokChQJqAoUCPQIuAoMChAIuAoQCPgIoAoIChgIoAoYCUAIIAnoChwIIAocCUQIHAnkCiAIHAogCYAJgAogCiQJgAokCagIiBZACjgIiBY4CIAUWBh4GlAIWBpQCEAUQBZQCkAIQBZACIgUeBYsClQIeBZUCJgUKBSUFkQIKBZECnAIOBZoCjQIOBY0CHwUNBZsCjAINBYwCIQUbBScFlwIbBZcCjwIoBZgCmwIoBZsCDQUgBY4CmgIgBZoCDgUpBZYCmAIpBZgCKAUlBRsFjwIlBY8CkQIjBQoFnAIjBZwCkgIhBYwCiwIhBYsCHgUuBSYFlQIuBZUCtAIfBY0ClgIfBZYCKQWmApMC+QGmAvkBngL/AaECnQL/AZ0C+gF/AqUCngJ/Ap4C+QFxBIgEoQJxBKEC/wGfAvwBAQKfAgECowL+AaACogL+AaICAAIkBSsFoAIkBaAC/gFwBIkEowJwBKMCAQIqBQwF/AEqBfwBnwL6AZ0CpAL6AaQCBgIrBSwFqAIrBagCoAIqBZ8CqAIqBagCLAWfAqMCpwKfAqcCqAKoAqcCogKoAqICoAKKBJ0CoQKKBKECiASKBKcCowKKBKMCiQR5BIsErgJ5BK4CNwI8Aq8CrQI8Aq0CNAKXArQCrAKXAqwCFQI5AqoCqwI5AqsCNgISBS0FsAISBbACFwJ6BIwEsgJ6BLICNQI3Aq4CrwI3Aq8CPAIYArECsgIYArICHQIVAqwCswIVArMCgQInBS4FtAInBbQClwKmBJAEuQKmBLkCLAOlBI8EuwKlBLsCBwMEA+ECugIEA7oCBgMqBuICwQIqBsECEgYsBpIEwAIsBsACIQYrBpEEwgIrBsICEQapBI0EuAKpBLgCMQOqBI4EtgKqBLYCMgM0A+ACtwI0A7cCNwM9BRcDxwI9BccCLwUmAy4DugImA7oC4QI/BSMDxQI/BcUCMAUoBjIGzwIoBs8CMgX+AvsCvgL+Ar4CygIzAzIDtgIzA7YCzAIxBhEGwgIxBsICyQIFAwcDuwIFA7sCywIYAxoDtQIYA7UCyAIzBiIGvQIzBr0C0AIBAwAD0AIBA9ACvQKnBC8DuQKnBLkCkASoBC0DuwKoBLsCjwSkBK0ERgOkBEYD9wLzAkkDSgPzAkoD+gI5BUUFRAM5BUQD7gKfBK4ESwOfBEsD+QL3AkYDSQP3AkkD8wKaBJUE0QKaBNEC6gLbAtMC0QLbAtEC3wLtAtUC1ALtAtQC6wI0BUQF0wI0BdMC2wKZBJYE1wKZBNcC7AJkA20D1gJkA9YC2QLwAtgC0gLwAtIC6QLsAtcC2ALsAtgC8ALXAt0C2gLXAtoC2ALYAtoC5ALYAuQC0gIsA7kC4QIsA+ECBAMhBsAC4gIhBuICKgYxA7gC4AIxA+ACNANpAxYD5QJpA+UCbAMvAyYD4QIvA+ECuQJgAycD5gJgA+YCawM0BikG6AI0BugCZQNtA2MD8QJtA/EC1gKWBJgE3QKWBN0C1wJEBTkF7gJEBe4C0wLVAtwC3gLVAt4C1ALTAu8C6gLTAuoC0QKVBJcE3wKVBN8C0QJhA2gD8gJhA/ICQwNFA/UC+QJFA/kCSwOtBJkE7AKtBOwCRgNFBToF9AJFBfQCRANGA+wC8AJGA/ACSQNHA+0C6wJHA+sCSANJA/AC6QJJA+kCSgOuBJoE6gKuBOoCSwOyBKQE9wKyBPcCfgN/A/MC+gJ/A/oCfQOEA2YDFQOEAxUDfAPjAr8C/ALjAvwCAgMyBc8C/wIyBf8COwUwAy0D+wIwA/sC/gIlAyQDAAMlAwADAQOTBMQC/QKTBP0CmwSUBL4C+wKUBPsCnATEAuMCAgPEAgID/QJlA+gCAwNlAwMDYgMhAwkDGwMhAxsDIAN6A/YC+AJ6A/gCewOiBJ0EHQOiBB0DHwNUBT4FEgNUBRIDgANCAz8DDgNCAw4DEwNABSkDCgNABQoDPAVfAygDCANfAwgDZwOOBKIEHwOOBB8DtgIZAxwDCQMZAwkDIQOjBJ4EHAOjBBwDGQP9AgIDJgP9AiYDLwMiAx8DHQMiAx0DDANnAwgDFgNnAxYDaQMqAysDHgMqAx4DCwOzBJ8E+QKzBPkCggObBP0CLwObBC8DpwR+A/cC8wJ+A/MCfwMJAwQDBgMJAwYDGwNdAz4DFQNdAxUDZgONBKMEGQONBBkDuALgAiEDIAPgAiADtwLMArYCHwPMAh8DIgNCBUEDEgNCBRIDPgWBAxMDDgOBAw4DggOdBKUEBwOdBAcDHQMLAx4DGgMLAxoDGAM8BQoDFwM8BRcDPQW4AhkDIQO4AiED4ALLArsCLQPLAi0DMAM7Bf8CIwM7BSMDPwUCA/wCLgMCAy4DJgNrA+YCKANrAygDXwPGArwCKwPGAisDKgOcBPsCLQOcBC0DqAS8AsYCJAO8AiQDJQNiAwMDJwNiAycDYAMwBcUCKQMwBSkDQAWeBKYELAOeBCwDHAMcAywDBAMcAwQDCQMMAx0DBwMMAwcDBQOrBKkEMQOrBDEDOgOsBKoEMgOsBDIDOwM9AzQDNwM9AzcDQAM8AzsDMgM8AzIDMwM6AzEDNAM6AzQDPQPIArUCNgPIAjYDOQNsA+UCNQNsAzUDXgMvBccCOAMvBTgDQQU5AzYDPwM5Az8DQgNeAzUDPgNeAz4DXQNBBTgDQQNBBUEDQgWhBKsEOgOhBDoDDQOgBKwEOwOgBDsDDwMUAz0DQAMUA0ADEAMRAw8DOwMRAzsDPAMNAzoDPQMNAz0DFAP2AkcDSAP2AkgD+AJjA2EDQwNjA0MD8QLvAkUDSwPvAksD6gIWA1YDTAMWA0wD5QInA1gDTQMnA00D5gIpBjUGTwMpBk8D6ALxAkMDXAPxAlwDUgPZAtYCUAPZAlADUQPWAvECUgPWAlIDUANDA/ICUwNDA1MDXAPoAk8DVAPoAlQDAwN8AxUDVwN8A1cDgwMoA1kDVQMoA1UDCAM+A1sDVwM+A1cDFQMIA1UDVgMIA1YDFgMDA1QDWAMDA1gDJwPmAk0DWQPmAlkDKAPlAkwDWgPlAloDNQM1A1oDWwM1A1sDPgNKBWIDYANKBWADSAUnBjQGZQMnBmUDOAU4BWUDYgM4BWIDSgVGBV0DZgNGBWYDTQUzBUwFYwMzBWMDbQM2BWsDXwM2BV8DRwU1BWwDXgM1BV4DSQVDBU4FaANDBWgDYQNPBWkDbANPBWwDNQVIBWADawNIBWsDNgVQBWcDaQNQBWkDTwVMBUMFYQNMBWEDYwNLBTMFbQNLBW0DZANJBV4DXQNJBV0DRgVVBU0FZgNVBWYDhANHBV8DZwNHBWcDUAV3A2QD2QJ3A9kCbwPdAnIDbgPdAm4D2gJRA3YDbwNRA28D2QKYBK8EcgOYBHID3QJwA9sC3wJwA98CdAPcAnEDcwPcAnMD3gJLBVIFcQNLBXED3AKXBLAEdAOXBHQD3wJRBTQF2wJRBdsCcAPaAm4DdQPaAnUD5AJSBVMFeQNSBXkDcQNRBXADeQNRBXkDUwVwA3QDeANwA3gDeQN5A3gDcwN5A3MDcQOxBG4DcgOxBHIDrwSxBHgDdAOxBHQDsASgBLIEfgOgBH4DEAMUA38DfQMUA30DDQNoA4QDfANoA3wD8gIRA3oDewMRA3sDDwM6BVQFgAM6BYAD9AKhBLMEggOhBIIDDgMQA34DfwMQA38DFAP1AoEDggP1AoID+QLyAnwDgwPyAoMDUwNOBVUFhANOBYQDaAPSA4UDiAPSA4gDzAPTA4cDhgPTA4YDzQPQA6EDhwPQA4cD0wPwA8QDigPwA4oD6gPOA80DhgPOA4YDiwPDA8YDhQPDA4UDiQO1A+YD4wO1A+MDtAOvA+cD6AOvA+gDtwPuA/QD4gPuA+IDqwO3A+gD6QO3A+kDtgO0A+MD5wO0A+cDrwOkA44DjQOkA40DpQOaA48DjQOaA40DoAOoA5IDkQOoA5EDpgPtA+sDkAPtA5ADmwOmA5EDlQOmA5UDpwP6A/8DlAP6A5QDmAOsA5YDjgOsA44DpAOnA5UDlgOnA5YDrAOVA54DmQOVA5kDlgOWA5kDogOWA6IDjgPMA4gDoQPMA6ED0AP9A8IDowP9A6MD/gP/A/gDrQP/A60DlAORA58DngORA54DlQPrA+4DqwPrA6sDkAOSA5wDnwOSA58DkQOPA6oDpQOPA6UDjQOOA6IDoAOOA6ADjQP3A/wDrgP3A64D4APhA7ADtgPhA7YD6QPmA6YDpwPmA6cD4wP0A+8DsQP0A7ED4gPjA6cDrAPjA6wD5wPkA6gDpgPkA6YD5gPnA6wDpAPnA6QD6APoA6QDpQPoA6UD6QMOBLUDtAMOBLQDEQQSBK8DtwMSBLcDEAQXBPsDwQMXBMEDDwQMBLIDtQMMBLUDDgQWBPEDvwMWBL8DFATeA9wDuQPeA7kDvgOHA8gDxwOHA8cDhgMQBLcDtgMQBLYDFQQRBLQDrwMRBK8DEgT1A9sDwQP1A8ED+wOFA8YDxQOFA8UDiAOhA8kDyAOhA8gDhwOLA4YDxwOLA8cDygPzA98DvwPzA78D8QMTBL4DuQMTBLkDFQSIA8UDyQOIA8kDoQPcA9IDzAPcA8wD1gPdA9MDzQPdA80D1wPaA9AD0wPaA9MD3QPYA9cDzQPYA80DzgPWA8wD0APWA9AD2gOJA4UD0gOJA9ID1AP+A6MD0QP+A9ED9gPqA4oD1QPqA9UD8gPUA9ID3APUA9wD3gP2A9ED2wP2A9sD9QPyA9UD3wPyA98D8wO5A9wD1gO5A9YDuAO7A90D1wO7A9cDugPAA9oD3QPAA90DuwO8A7oD1wO8A9cD2AO4A9YD2gO4A9oDwAOyA+QD5gOyA+YDtQP4A/cD4AP4A+ADrQOqA+ED6QOqA+kDpQPCA/AD6gPCA+oDowOtA+AD9AOtA/QD7gOYA5QD6wOYA+sD7QOUA60D7gOUA+4D6wPgA64D7wPgA+8D9AMPBMED8QMPBPEDFgTbA/MD8QPbA/EDwQOjA+oD8gOjA/ID0QPRA/ID8wPRA/MD2wPZA/UD+wPZA/sDvQOTA6kD+AOTA/gD/wOMA/4D9gOMA/YDzwPlA7MD/APlA/wD9wPLA/0D/gPLA/4DjAOpA+UD9wOpA/cD+AOdA5MD/wOdA/8D+gPPA/YD9QPPA/UD2QMNBL0D+wMNBPsDFwQJBPkDlwMJBJcDAQSeAwQEAASeAwAEmQPsAwgEAQTsAwEElwOfAwUEBASfAwQEngMCBJoDoAMCBKADBgScAwMEBQScAwUEnwP5AwkEAwT5AwMEnAOiAwcEoAMHBAYEoAMIBOwDmgMIBJoDAgSZAwAEBwSZAwcEogMJBAEECwQJBAsEAwQIBAIECwQIBAsEAQQCBAYECgQCBAoECwQLBAoEBQQLBAUEAwQKBAAEBAQKBAQEBQQABAoEBgQABAYEBwS6Aw4EEQS6AxEEuwPAAxIEEATAAxAEuAP8AxcEDwT8Aw8ErgO8AwwEDgS8Aw4EugPvAxYEFATvAxQEsQO4AxAEFQS4AxUEuQO7AxEEEgS7AxIEwAOwAxMEFQSwAxUEtgOuAw8EFgSuAxYE7wOzAw0EFwSzAxcE/AOGAAcAGwSGABsEMQReAAUAGgReABoEMAT3BQ4AHQT3BR0EAwb5BQwAHAT5BRwEBAaTAAAAGASTABgENASUAAIAGQSUABkENQSAADIEGwSAABsEBwCJADMEGgSJABoEBQBOAKcAOAROADgELwRQAKkAOQRQADkEKgQ9ACEAIAQ9ACAEJQQ/ACQAIQQ/ACEEJAQkADIAIwQkACMEIQQhADgAIgQhACIEIASnAD8AJASnACQEOASpAD0AJQSpACUEOQTdAE4ALwTdAC8EPQQIAB4EJgQIACYEWAAKAB8EJwQKACcEUgB6AHUAKAR6ACgELQQCAHoALQQCAC0EGQR0AHgAKQR0ACkELgTfAFAAKgTfACoEPgRYACYEMgRYADIEgAAAAHQALgQAAC4EGAR1AF4AMAR1ADAEKARSACcEMwRSADMEiQB4AIYAMQR4ADEEKQSdAJMANASdADQENgSeAJQANQSeADUENwRnAJ0ANgRnADYELARpAJ4ANwRpADcEKwQyANQAOgQyADoEIwQ4ANYAOwQ4ADsEIgTZADwEOgTZADoE1ADPADwEOwTPADsE1gBoAN0APQRoAD0EKwRmAN8APgRmAD4ELARtAe4AQgRtAUIEWARFAewAQQRFAUEEVwQwBvUARAQwBkQEDgYuBvMAQwQuBkMEDQZ6AecAPwR6AT8EWwR7AekAQAR7AUAEXARnAVkEQgRnAUIE7gBwAVoEQQRwAUEE7AA1AY4BXwQ1AV8EVgQ3AZABYAQ3AWAEUQQkAQgBRwQkAUcETAQmAQsBSAQmAUgESwQLARkBSgQLAUoESAQIAR8BSQQIAUkERwSOASYBSwSOAUsEXwSQASQBTASQAUwEYATEATUBVgTEAVYEZATvAEUETQTvAE0EPwHxAEYETgTxAE4EOQFhAVwBTwRhAU8EVATpAGEBVATpAFQEQARbAV8BUARbAVAEVQTGATcBUQTGAVEEZQQ/AU0EWQQ/AVkEZwHnAFsBVQTnAFUEPwRcAUUBVwRcAVcETwQ5AU4EWgQ5AVoEcAFfAW0BWARfAVgEUASEAXoBWwSEAVsEXQSFAXsBXASFAVwEXgROAYQBXQROAV0EUwRQAYUBXgRQAV4EUgQZAbsBYQQZAWEESgQfAb0BYgQfAWIESQTAAWMEYQTAAWEEuwG2AWMEYgS2AWIEvQFPAcQBZARPAWQEUgRNAcYBZQRNAWUEUwRUAtUBaQRUAmkEfwQsAtMBaAQsAmgEfgQbBtwBawQbBmsEHwYlBtoBagQlBmoEIAZhAs4BZgRhAmYEggRiAtABZwRiAmcEgwROAoAEaQROAmkE1QFXAoEEaARXAmgE0wEcAnUChgQcAoYEfQQeAncChwQeAocEeAQLAu8BbgQLAm4EcwQNAvIBbwQNAm8EcgTyAQACcQTyAXEEbwTvAQYCcATvAXAEbgR1Ag0CcgR1AnIEhgR3AgsCcwR3AnMEhwSrAhwCfQSrAn0EiwTWAWwEdATWAXQEJgLYAW0EdQTYAXUEIAJIAkMCdgRIAnYEewTQAUgCewTQAXsEZwRCAkYCdwRCAncEfAStAh4CeAStAngEjAQmAnQEgAQmAoAETgLOAUICfATOAXwEZgRDAiwCfgRDAn4EdgQgAnUEgQQgAoEEVwJGAlQCfwRGAn8EdwRrAmECggRrAoIEhARsAmICgwRsAoMEhQQ1AmsChAQ1AoQEegQ3AmwChQQ3AoUEeQQAAqICiAQAAogEcQQGAqQCiQQGAokEcASnAooEiASnAogEogKdAooEiQSdAokEpAI2AqsCiwQ2AosEeQQ0Aq0CjAQ0AowEegQrA7wCkAQrA5AEpgQGA7oCjwQGA48EpQQiBsMCkgQiBpIELAYSBsECkQQSBpEEKwY2A7UCjQQ2A40EqQQ3A7cCjgQ3A44EqgQlA6cEkAQlA5AEvAIuA6gEjwQuA48EugL4AkgDrQT4Aq0EpAT6AkoDrgT6Aq4EnwTpAtIClQTpApUEmgTrAtQClgTrApYEmQTUAt4CmATUApgElgTSAuQClwTSApcElQRIA+sCmQRIA5kErQRKA+kCmgRKA5oErgR7A/gCpAR7A6QEsgS9ApMEmwS9ApsEAQO/ApQEnAS/ApwE/AIgAxsDnQQgA50EogS3AiADogS3AqIEjgQaAx4DngQaA54EowR9A/oCnwR9A58EswQBA5sEpwQBA6cEJQO1AhoDowS1AqMEjQQbAwYDpQQbA6UEnQT8ApwEqAT8AqgELgMeAysDpgQeA6YEngQ/AzYDqQQ/A6kEqwRAAzcDqgRAA6oErAQOAz8DqwQOA6sEoQQQA0ADrAQQA6wEoATeAnMDrwTeAq8EmATkAnUDsATkArAElwR4A7EErwR4A68EcwNuA7EEsARuA7AEdQMPA3sDsgQPA7IEoAQNA30DswQNA7MEoQS2AMMEtAS2ALQEqwC4AMUEtQS4ALUErAABBgUGtwQBBrcErgCyALwAywSyAMsEvwSxAK8AygSxAMoEugSvALIAvwSvAL8EygS8ALMAwAS8AMAEywSuALcEwQSuAMEEtADlALcAxATlAMQE2wS5AMYEwgS5AMIEtQC7AMgExAS7AMQEtwC1AMIEwwS1AMMEtgC0AMEExQS0AMUEuACsALUExgSsAMYEuQCrALQExwSrAMcEugC6AMcEyAS6AMgEuwBUANAEzgRUAM4EiwD7BQYGvgT7Bb4EFgAWAL4E0AQWANAEVACaAMwE1ASaANQEawAmAEIA0wQmANMEuAQYALwEzQQYAM0EXQAbALsEzwQbAM8EkACmAEwA1QSmANUEyQR9ANYEuwR9ALsEGwCLAM4EvASLALwEGABlANcE1gRlANYEfQBCAKYAyQRCAMkE0wQwACYAuAQwALgE0gSQAM8EzASQAMwEmgDcAGsA1ATcANQE3ARdAM0E1wRdANcEZQDEANgA2QTEANkE0QTXALAAuQTXALkE2ATYANAA2gTYANoE2QTXANgE2gTXANoE0ACzAOUA2wSzANsEwARMANwA3ARMANwE1QSdAewE3QSdAd0EkgGfAe4E3gSfAd4EkwEQBhQG4AQQBuAElQGZAaMB9ASZAfQE6ASXAZYB8wSXAfME4gSWAZkB6ASWAegE8wSjAZoB6QSjAekE9ASVAeAE6gSVAeoEmwHMAZ4B7QTMAe0EBAWgAe8E6wSgAesEnAGiAfEE7QSiAe0EngGcAesE7AScAewEnQGbAeoE7gSbAe4EnwGTAd4E7wSTAe8EoAGSAd0E8ASSAfAEoQGhAfAE8QShAfEEogE7AfkE9wQ7AfcEcgELBhMG5wQLBucE/QD9AOcE+QT9APkEOwGAAfUE/QSAAf0EUQEMASgB/AQMAfwE4QT/AOUE9gT/APYEQwEBAeQE+AQBAfgEdgGMATIB/gSMAf4E8gRjAf8E5ARjAeQEAQFyAfcE5QRyAeUE/wBLAQAF/wRLAf8EYwEoAYwB8gQoAfIE/AQWAQwB4QQWAeEE+gR2AfgE9QR2AfUEgAHCAVEB/QTCAf0EBQVDAfYEAAVDAQAFSwGsAb8BAgWsAQIF+wS+AZgB4wS+AeMEAQW/AbcBAwW/AQMFAgW+AQEFAwW+AQMFtwGaAcwBBAWaAQQF6QQyAcIBBQUyAQUF/gSEAhUFBgWEAgYFeQKGAhcFBwWGAgcFegIdBhUGCQUdBgkFfAKAAooCHQWAAh0FEQV+An0CHAV+AhwFCwV9AoACEQV9AhEFHAWKAoECEgWKAhIFHQV8AgkFEwV8AhMFggKzAoUCFgWzAhYFLQWHAhgFFAWHAhQFgwKJAhoFFgWJAhYFhQKDAhQFFQWDAhUFhAKCAhMFFwWCAhcFhgJ6AgcFGAV6AhgFhwJ5AgYFGQV5AhkFiAKIAhkFGgWIAhoFiQIiAiIFIAUiAiAFWQIXBhYGEAUXBhAF5AHkARAFIgXkASIFIgJnAh4FJgVnAiYFOALzAQ8CJQXzASUFCgXmAQ4FHwXmAR8FKgLoAQ0FIQXoASEFXQJzAhkCJwVzAicFGwVKAigFDQVKAg0F6AFZAiAFDgVZAg4F5gEyAikFKAUyAigFSgIPAnMCGwUPAhsFJQX9AfMBCgX9AQoFIwVdAiEFHgVdAh4FZwKpAjgCJgWpAiYFLgUqAh8FKQUqAikFMgKTAqYCKwWTAisFJAWlAn8CDAWlAgwFKgWmAp4CLAWmAiwFKwWlAioFLAWlAiwFngKBArMCLQWBAi0FEgUZAqkCLgUZAi4FJwVWAz0FLwVWAy8FTANYAz8FMAVYAzAFTQM1BigGMgU1BjIFTwNSA1wDRQVSA0UFOQVRA1ADRAVRA0QFNAVQA1IDOQVQAzkFRAVcA1MDOgVcAzoFRQVPAzIFOwVPAzsFVAODA1cDPgWDAz4FVAVZA0AFPAVZAzwFVQNbA0IFPgVbAz4FVwNVAzwFPQVVAz0FVgNUAzsFPwVUAz8FWANNAzAFQAVNA0AFWQNMAy8FQQVMA0EFWgNaA0EFQgVaA0IFWwP+AkoFSAX+AkgFMAMxBicGOAUxBjgFygLKAjgFSgXKAkoF/gI8A0YFTQU8A00FEQPVAu0CTAXVAkwFMwXLAjYFRwXLAkcFBQPMAjUFSQXMAkkFMwNHA/YCTgVHA04FQwUiA08FNQUiAzUFzAIwA0gFNgUwAzYFywIMA1AFTwUMA08FIgPtAkcDQwXtAkMFTAXcAtUCMwXcAjMFSwUzA0kFRgUzA0YFPAN6AxEDTQV6A00FVQUFA0cFUAUFA1AFDANkA3cDUgVkA1IFSwV2A1EDNAV2AzQFUQV3A28DUwV3A1MFUgV2A1EFUwV2A1MFbwNTA4MDVAVTA1QFOgX2AnoDVQX2AlUFTgUEAmcFZgUEAmYF2gGyAWQFYgWyAWIFIgFvBeICwAJvBcACawV2BTcFyQJ2BckCbgUdBHMFVgUdBFYFCwB1BbYErQB1Ba0AXQXiAm8FbAXiAmwFwQJ0BZEEwQJ0BcECbAVqA3IFcAVqA3AF5wI3BXYFcgU3BXIFagOZAmoFaAWZAmgFCQJzBR0EDgBzBQ4AWAVjBZQBIgFjBSIBYgVhBR0B8gBhBfIAXwVdBa0AOwBdBTsAXAVxBU4D5wJxBecCcAW2BHUFWgW2BFoFHQBpBXsCCQJpBQkCaAUdAWEFYAUdAWAF8wBbBTYACwBbBQsAVgVYBQ4AHABYBRwAWQVuBckCwgJuBcICbQWRBHQFbQWRBG0FwgLLAF4FXAXLAFwFOwBnBQQC2QFnBdkBZQU2AFsFVwU2AFcFDADoBmkFaAXoBmgF5wbrBoMFgQXrBoEF6gbsBnEFcAXsBnAF7QaMBcUFsQWMBbEFjgXmBmMFYgXmBmIF6gbxBokFhwXxBocF5wbwBn0FewXwBnsF6QaXBX0FggWXBYIFmgWJBY8FxAaJBcQGkgVqBNoBZgVqBGYF9gWXBZYFewWXBXsFfQWXBacFpAWXBaQFlgWDBZsFmQWDBZkFgQWjBZAFeQWjBXkFkwWaBYIFgQWaBYEFmQW2BWUF2QG2BdkBawStBasF0QWtBdEFkgWpBZoFmQWpBZkFqAWSBdEFhwWSBYcFiQWbBaoFqAWbBagFmQXGBbIFrgXGBa4FwwXxBbkFygXxBcoF6wWyBcYFxAWyBcQFrwXrBcoF1AXrBdQF1QXMBdYF1QXMBdUF1AUPB8gG4gUPB+IFDAe7BewF1gW7BdYFzAXIBtAG3QXIBt0F4gW5BfEF6gW5BeoFywXJBu4F9AXJBvQF0gbKBuUF2AXKBtgFzgbLBu0F5gXLBuYFxgbSBvQFtwXSBrcFzwbqBfUFoQXqBaEF8AVDBPMAYAVDBGAF5AXOBtgF2wXOBtsFxgbFBvMF7QXFBu0FywbKBqIF7gXKBu4FyQbSBesF1QXSBdUFoAXwBaEFlAXwBZQF8gVnBmYGrgVnBq4FsgXLBeoF8AXLBfAFugWuBWYGyQWuBckF7AU3AP8F+QU3APkFCgAeBAMG+AUeBPgFDwAfBAQG+gUfBPoFCQC2BB0A/gW2BP4FBQYXAAkA+gUXAPoF/AUcAA4A9wUcAPcF/QUPAPgF/wUPAP8FNwDLADsAAAbLAAAGAgY7AK0AAQY7AAEGAAa9BMsAAga9BAIGBgYIAPcFAwYIAAMGHgQKAPkFBAYKAAQGHwStALYEBQatAAUGAQYUAL0EBgYUAAYG+wXmBLIBDwbmBA8GEwZFBA4GLwZFBC8G9gBGBA0GLQZGBC0G8AD+APAALQb+AC0GDAblAdcBJgblASYGGAbfBAMBCQbfBAkGFAYPBZkCHgYPBR4GFgYJAnsCHQYJAh0GJAayASIBBwayAQcGDwbdARwGIwbdASMGBQKUAd8EFAaUARQGEAbxAC4GDQbxAA0GRgRtBCAGJgZtBCYG1wHvADAGDgbvAA4GRQRsBB8GHAZsBBwG3QH7AOYEEwb7ABMGCwYiAZQBEAYiARAGBwbnAk4DNQbnAjUGKQb2AC8GCAb2AAgGHgEEAfUAMAYEATAGCgZ7AggFFQZ7AhUGHQYeAQgGLgYeAS4G8QDiAQ8FFgbiARYGFwZqA+cCKQZqAykGNAYIBeoBGQYIBRkGFQbjAioGEgbjAhIGvwIxBc0CMgYxBTIGKAaTBCwGIQaTBCEGxALYASUGIAbYASAGbQTrAdwBGwbrARsGGgYFAiMGJQYFAiUG2AHWARsGHwbWAR8GbASZAgkCJAaZAiQGHga/AhIGKwa/AisGlATEAiEGKgbEAioG4wJOAzEFKAZOAygGNQY3BWoDNAY3BTQGJwa9AiIGLAa9AiwGkwTJAjcFJwbJAicGMQbOAsMCIgbOAiIGMwaUBCsGEQaUBBEGvgLKAr4CEQbKAhEGMQbsBckFZAbsBWQG1gXxBZgF9QXxBfUF6gWQBaMF8gWQBfIFlAWYBfEF6wWYBesF0gWGBYQFoAWGBaAFZAaABX4F9QWABfUFmAXWBWQGoAXWBaAF1QWNBYsFbAWNBWwFbwViBl8F8gBiBvIARAQcBAwAVwUcBFcFYwZEBPUADQBEBA0AHAQcBGMGYgYcBGIGRARvBWsFigVvBYoFjQVmBooFawVmBmsFZQZrBNwB9ABrBPQAQwRkBskFhQVkBoUFhgVDBOQFtgVDBLYFawTJBWYGZQbJBWUG9gVnBpEFiwVnBosFjQWyBa8FkQWyBZEFZwZlBmsFwAJlBsACkgRqBPYFZQZqBGUGkgSSBMMC2wGSBNsBagSNBYoFZgaNBWYGZwacBdEFqwWcBasFrAUdBx4HOwYdBzsGOQYcBx0HOQYcBzkGQwbDA2oGbQbDA20GxgNxBsoDxwNxBscDbgZzBvADwgNzBsIDaQb9A3QGaQb9A2kGwgNvBsgDyQNvBskDcAZuBscDyANuBsgDbwZ0Bv0DywN0BssDcgZwBskDxQNwBsUDbAbwA3MGawbwA2sGxANsBsUDxgNsBsYDbQZ8BnAGbAZ8BmwGeAZ4BmwGbQZ4Bm0GeQZzBn8GdwZzBncGawZ9BnEGbgZ9Bm4GegZqBnYGeQZqBnkGbQZ/BnMGaQZ/BmkGdQZ0BoAGdQZ0BnUGaQaABnQGcgaABnIGfgZ7Bm8GcAZ7BnAGfAZ6Bm4GbwZ6Bm8GewaHBnsGfAaHBnwGiAaGBnoGewaGBnsGhwaIBnwGeAaIBngGhAaEBngGeQaEBnkGhQZ/BosGgwZ/BoMGdwaJBn0GegaJBnoGhgZ2BoIGhQZ2BoUGeQaLBn8GdQaLBnUGgQaABowGgQaABoEGdQaMBoAGfgaMBn4GigaXBosGgQaXBoEGjQaMBpgGjQaMBo0GgQaYBowGigaYBooGlgaTBocGiAaTBogGlAaSBoYGhwaSBocGkwaUBogGhAaUBoQGkAaQBoQGhQaQBoUGkQaLBpcGjwaLBo8GgwaVBokGhgaVBoYGkgaCBo4GkQaCBpEGhQaXBqMGmwaXBpsGjwahBpUGkgahBpIGngaOBpoGnQaOBp0GkQajBpcGjQajBo0GmQaYBqQGmQaYBpkGjQakBpgGlgakBpYGogafBpMGlAafBpQGoAaeBpIGkwaeBpMGnwagBpQGkAagBpAGnAacBpAGkQacBpEGnQasBqAGnAasBpwGqAaoBpwGnQaoBp0GqQajBq8GpwajBqcGmwatBqEGngatBp4GqgaaBqYGqQaaBqkGnQavBqMGmQavBpkGpQakBrAGpQakBqUGmQawBqQGogawBqIGrgarBp8GoAarBqAGrAaqBp4GnwaqBp8GqwafBZ4FqAafBagGqQazBZ8FqQazBakGpgbBBbUGtAbBBbQGwAXABbQGswbABbMGvwW+BbIGsQa+BbEGvQW1BrcGtga1BrYGtAa3BrkGuAa3BrgGtga5BrwGuwa5BrsGuAbNBfsG1QbNBdUG+ga8Br8Gvga8Br4Guwa/BsIGwQa/BsEGvgbNBuEF/gbNBv4GwQalBc0GwQalBcEGwgYVAA0A9QAVAPUABAH8APQA3AH8ANwB6wG9BBQAAwG9BAMB3wTfBJQBywDfBMsAvQSUAWMFXgWUAV4FywDwBl4FYwXwBmMF5gakBacFwQWkBcEF9waaBakFpwWaBacFlwW1BbQFpwa1BacGrwbmBPsA6gHmBOoBCAUIBXsCsgEIBbIB5gTjAdsBwwLjAcMCzgIPBeIBzQIPBc0CMQUxBU4DmQIxBZkCDwVOA3EFagVOA2oFmQLxBmoFcQXxBnEF7AacBZsFgwWcBYMFiAWsBaoFmwWsBZsFnAXRBZwFiAXRBYgFhwXoBogFgwXoBoMF6wZkBbIBewJkBXsCaQWPBY4FsQWPBbEFxAbFBtcF3QXFBt0F0AbsBbsFwwXsBcMFrgWUBaEFeAWUBXgFegWUBXoFdwWUBXcFkAWYBdIFfwWYBX8FgAWvBcUFjAWvBYwFkQXHBbUFrwbHBa8GpQbQBc8F0AbQBdAGyAbZBckG0gbZBdIG0wXzBcUG0AbzBdAGzwXXBcUGywbXBcsG2gXTBdIGzwbTBc8G3AWiBcoGzgaiBc4G7wXaBcsGxgbaBcYG2wXlBcoGyQblBckG2QXvBc4GxgbvBcYG5gWxBbAF1AaxBdQGxAa+BsEG/ga+Bv4GAAeSBcQG1AaSBdQGrQW7Br4GAAe7BgAHAwfIBccFpQbIBaUGsAawBq4G8wawBvMGyAWmBfIGrQamBa0GqgbjBaYFqgbjBaoGqwarBqwG0QarBtEG4wXPBvoG1QbPBtUG3AXHBt8F6AXHBugF0wbTBp0F6QXTBukFxwbEBbgFxQXEBcUFrwW8BVoG+wa8BfsGzQUcBxsHXgYcB14GXwYbBxoHXQYbB10GXgYaBxkHXAYaB1wGXQYZBxgHYAYZB2AGXAYYBxcHaAYYB2gGYAYXBxYHYQYXB2EGaAYWBxUH5QYWB+UGYQbZBdMFWAbZBVgGXwblBdkFXwblBV8GXgZeBl0G2AVeBtgF5QVdBlwG2wVdBtsF2AXaBdsFXAbaBVwGYAbXBdoFYAbXBWAGaAZoBmEG3QVoBt0F1wUUBxUHTwYUB08GVgYTBxQHVgYTB1YG4wbiBd0FYQbiBWEG5QaFBckF9gWFBfYFZgWIBegG5waIBecGhwV8BXUF6QZ8BekGewWGBYUFZgWGBWYFZwVnBWUFhAVnBYQFhgVkBesG6gZkBeoGYgWgBYQFZQWgBWUFtgWPBewG7QaPBe0GjgV1BV0FXAV1BVwF6Qa2BeQF0gW2BdIFoAV/BdIF5AV/BeQFYAWABX8FYAWABWAFYQVhBV8FfgVhBX4FgAWCBeYG6gaCBeoGgQVqBfEG5wZqBecGaAV2BW4FjgV2BY4F7Qb1BX4FXwX1BV8FYgZeBfAG6QZeBekGXAViBmMGoQViBqEF9QV4BaEFYwZ4BWMGVwV6BXgFVwV6BVcFWwV2Be0GcAV2BXAFcgVbBVYFdwVbBXcFegWQBXcFVgWQBVYFcwVzBVgFeQVzBXkFkAWTBXkF7gaTBe4GCgd8BZUFCwd8BQsH7wZuBW0FjAVuBYwFjgWRBYwFbQWRBW0FdAV0BWwFiwV0BYsFkQVYBVkF7gZYBe4GeQV9BfAG5gZ9BeYGggWJBfEG7AaJBewGjwVpBegG6wZpBesGZAWsBqgGngWsBp4F0Qb0BvUG8gb0BvIGpgXOBfQGpgXOBaYF4wXyBcIFugXyBboF8AX6Bs8GtwX6BrcF+AYMB+IF5QYMB+UGEAfNBc4F4wXNBeMF0QYMBxAH2gYMB9oG3wX5BsIF8gX5BvIFowXCBfkG+AbCBfgGtwX4BvkG9Ab4BvQGzgWjBZMF9AajBfQG+Qa6BcIFtwW6BbcF9AXLBboF9AXLBfQF7gXNBqUFnQXNBp0F0wbTBugF4QXTBuEFzQbDBt4F2QbDBtkG1wbABsMG1wbABtcG2Aa9BsAG2Aa9BtgG2wa6Br0G2wa6BtsG3QbWBroG3QbWBt0G3AZaBtYG3AZaBtwG4Qb7BloG4Qb7BuEG3gbVBvsG3gbVBt4GWQbDBvwG5wXDBucF3gWxBloGvAWxBrwFvQXABswG/AbABvwGwwbnBfwG/QbnBf0G4AW4BrsGAwe4BgMHBgcGBwkHtgYGB7YGuAb/Bv0G/Ab/BvwGzAbMBgEHAgfMBgIH/wYBBwQHBQcBBwUHAgcEBwcHCAcEBwgHBQe9BgEHzAa9BswGwAYEBwEHvQYEB70Guga6BtYGBwe6BgcHBAe2BgkHswa2BrMGtAYIBwcHsQYIB7EGsgaxBgcH1gaxBtYGWgbFBbgFsAXFBbAFsQW5BcsF7gW5Be4FogWiBe8FygWiBcoFuQXvBeYF1AXvBdQFygXMBdQF5gXMBeYF7QW7BcwF7QW7Be0F8wXDBbsF8wXDBfMFzwXGBcMFzwXGBc8F0AWwBbgF6QWwBekFnQWdBaUF1AadBdQGsAWtBdQGpQWtBaUFwgbCBr8GqwXCBqsFrQWsBasFvwasBb8GvAa8BrkGqgW8BqoFrAW5BrcGqAW5BqgFqgWpBagFtwapBbcGtQa1BsEFpwW1BqcFqQV8Be8GWgV8BVoFdQWWBaQFCweWBQsHlQV8BXsFlgV8BZYFlQWTBQoH9QaTBfUG9AbHBg8HDAfHBgwH3wXcBdUGWQbcBVkGWwbTBdwFWwbTBVsGWAa4BcQFEQe4BREH6QXHBukFEQfHBhEHDwfQBREHxAXQBcQFxgUPBxEH0AUPB9AFyAbOBc0F+gbOBfoG+AbIBfMG9gbIBfYG9wb3BsEFxwX3BscFyAXBBcAFtQXBBbUFxwXABb8FtAXABbQFtQW+Bb0FnwW+BZ8FswW9BbwFngW9BZ4FnwW8Bc0F0Qa8BdEGngUmByUHPAYmBzwG4AYlByQHPgYlBz4GPAYkByMHQAYkB0AGPgYiByMH3AYiB9wG3QYhByIH3QYhB90G2wYgByEH2wYgB9sG2AYfByAH2AYfB9gG1wYfBxIH4gYfB+IGDQceByYH4AYeB+AGOwbaBhAHFAfaBhQHEwdDBjcGGwdDBhsHHAdSBlQGIgdSBiIHIQdfBlgGHQdfBh0HHAfhBtwGIwfhBiMHJAdYBlsGHgdYBh4HHQdNBk8GFQdNBhUHFgdbBlkGJgdbBiYHHgdJBkcGGAdJBhgHGQdFBk0GFgdFBhYHFwfeBuEGJAfeBiQHJQcNB1AGIAcNByAHHwdLBkkGGQdLBhkHGgdHBkUGFwdHBhcHGAfXBtkGEgfXBhIHHwdUBkAGIwdUBiMHIgc3BksGGgc3BhoHGwcQB+UGFQcQBxUHFAdQBlIGIQdQBiEHIAdZBt4GJQdZBiUHJgcLB6QF9wYLB/cG9gbkBlcGTgY9Bj8GQgY9BkIGOAZEBkYGUQZBBlUGSgZBBkoGNgZTBlEGRgZTBkYGSAY/BkEGNgY/BjYGQgZRBg4HTAZRBkwGRAbkBk4GTAbkBkwGDgc4BjoG3wY9BjgG3wZVBlMGSAZVBkgGSgZhBykHcQdhB3EHoQdYB1AHaQdYB2kHrgdQB1cHvQdQB70HaQc1B1sHugdfB0oHpQdfB6UHuAdnB0cHdgdnB3YHiQdABz4HbgdAB24HpwdHB0sHnwdHB58HdgeWB0UHSQeWB0kHuAcrB1kHuwdcBzgHmgddB0AHpwddB6cHuQc6BzIHeQc6B3kHdwcyBzkHjwcyB48HeQcxB5IHmgcxB5oHOAcvB2EHoQcvB6EHhwdBB14HmAdBB5gHmQdIB2gHtwdIB7cHbQdeB0IHmAdbBzYHqwdbB6sHugdNB2cHiQdNB4kHiwdDB2UHwgdDB8IHjQc+B2YHrAc+B6wHbgdgB0wHngdFB5YHngdFB54HTAcpBy0HnQcpB50HcQc3B1wHmgc3B5oHowdZBywHqQdZB6kHuwc5B2MHswc5B7MHjwcnB5MHlwcnB5cHLgdXB1EHwAdXB8AHvQc2BzQHawc2B2sHqwdRB1UHvwdRB78HwAeRBzsHPweRBz8HuQc9B0EHmQc9B5kHcActB1oHlwctB5cHnQdLB2AHngdLB54HnwdkBzoHdwdkB3cHmwdmB0QHfQdmB30HrAcwBygHgwcwB4MHewdaBy4HlwdOB0YHgQdOB4EHhQcoBy8HhwcoB4cHgwdGB00HiwdGB4sHgQc0B2QHmwc0B5sHawdJB18HuAdiBzAHewdiB3sHlAdlBz0HcAdlB3AHwgdSB1gHrgdSB64HsQcqB2IHlAcqB5QHbAdTB1QHsAcsByoHbAcsB2wHqQdUB1IHsQdUB7EHsAc7B5EHmAc7B5gHQgczBzcHowczB6MHdAdVB1YHvwdKB0gHbQdKB20HpQdoB04HhQdoB4UH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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import new file mode 100644 index 0000000..d198397 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c6s5nvekg0isa" +path="res://.godot/imported/Hand_Nails_R.gltf-35869d6a39400588d95465aa5e3b528d.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" +dest_files=["res://.godot/imported/Hand_Nails_R.gltf-35869d6a39400588d95465aa5e3b528d.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf b/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf new file mode 100644 index 0000000..b77efb3 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_L", + "rotation" : [ + -0.07576872408390045, + -0.019257033243775368, + -0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + -2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_L", + "rotation" : [ + 0.05564067140221596, + 0.010326135903596878, + 0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + -2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_L", + "rotation" : [ + -0.04595031589269638, + -0.027135659009218216, + -0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_L", + "rotation" : [ + 0.3235369920730591, + -2.565749491623137e-05, + -0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + 0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_L", + "rotation" : [ + -0.052288394421339035, + -0.0005572127993218601, + 0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_L", + "rotation" : [ + 0.014225997030735016, + -0.011990753002464771, + -0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_L", + "rotation" : [ + -0.013683199882507324, + -0.024668212980031967, + -0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_L", + "rotation" : [ + 0.11122288554906845, + -0.0027781203389167786, + 0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_L", + "rotation" : [ + -0.0005887771840207279, + 2.10358793992782e-05, + 0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_L", + "rotation" : [ + 0.013688242062926292, + 7.99239132902585e-05, + 0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_L", + "rotation" : [ + -0.013931511901319027, + -0.00014242221368476748, + -0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + 5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_L", + "rotation" : [ + 0.03945539891719818, + 0.004928736016154289, + -0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + 1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_L", + "rotation" : [ + -0.01194659061729908, + 0.000966736872214824, + -0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + -7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_L", + "rotation" : [ + -0.03585463762283325, + 4.2005005525425076e-05, + 0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_L", + "rotation" : [ + 0.03305169194936752, + -0.006719753611832857, + 0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + 5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_L", + "rotation" : [ + -0.011351789347827435, + 0.012621401809155941, + -0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + -2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_L", + "rotation" : [ + 0.01732625439763069, + 0.01860846020281315, + -0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_L", + "rotation" : [ + -0.05105672776699066, + -0.002022986998781562, + 0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_L", + "rotation" : [ + -0.07119493186473846, + 1.573348527017515e-05, + 0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_L", + "rotation" : [ + 0.015836291015148163, + -0.01933973841369152, + 0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_L", + "rotation" : [ + -0.018054774031043053, + 0.011455277912318707, + -0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + 2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_L", + "rotation" : [ + 0.044925764203071594, + 0.03280799090862274, + -0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + -4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_L", + "rotation" : [ + -0.08928601443767548, + 0.003168066032230854, + -0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_L", + "rotation" : [ + -0.09176954627037048, + 2.456200854794588e-05, + 0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_L", + "rotation" : [ + 0.7065238952636719, + -6.479929197666934e-06, + -8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + 0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_L", + "rotation" : [ + -0.7065169215202332, + 6.472751010733191e-06, + 6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Hand_Nails_low_L", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Hand_Nails_low_L", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 642, + "max" : [ + 0.03515050560235977, + 0.09175886958837509, + 0.02576880156993866 + ], + "min" : [ + -0.029946306720376015, + -0.06838366389274597, + -0.18577708303928375 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 642, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 642, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 642, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 642, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 3018, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 7704, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 7704, + "byteOffset" : 7704 + }, + { + "buffer" : 0, + "byteLength" : 5136, + "byteOffset" : 15408 + }, + { + "buffer" : 0, + "byteLength" : 2568, + "byteOffset" : 20544 + }, + { + "buffer" : 0, + "byteLength" : 10272, + "byteOffset" : 23112 + }, + { + "buffer" : 0, + "byteLength" : 6036, + "byteOffset" : 33384 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 39420 + } + ], + "buffers" : [ + { + "byteLength" : 41084, + "uri" : "data:application/octet-stream;base64,c0DTvK9bkDuLe8e9lr9Qu9pSGbwc07+9SPIsO1y5W73ra5291XyPu+KdG70F8q691XyPu+KdG70F8q69JOCsO0ReQr1s16S9N2mhvCL8Db2H0qi9NGaKvIXVg7zDF7y905r9u2AX+DwOubq9nRN1u+ktlTwQsLa94EVEOcp/BDw8Lra9gClbOhYd8bsnfrK9uBDQOte1iLwCfLC9VPQ9O2j4Ab24q6q9UKBCO77dG71M+KK9ItiyOypxPb07HKC96bkTvEdVCT26e7S9IJzDO/jjQ70115q9NinsvIlv/jziHbK9Ny7svHnvrDxyGLO9XgWDu9/1AT2VLKC9SBEQOjM0njwg2KK9NeHvvAhgLDsxya699VH1vOZN6rvFRKy9TIwCO2pKIDyjm569RjoyO3BX07uJ+Ji9dybEvAtMqLyKk6C9907MvBfQ67yIVZq9JJObO9CXeLzar5a9IKH+OyzBA73vWZW9udWAvPBOJL3BloW9cT9CvOrkP71q64O9IEe9Oxb9Sb22cI69k6gWPGCPKb2YXZG9N3jbvJ4rCj3TVau9d9MOvB7WRL2jWHq97l/su6B59zyPh7W9uIe/vOK/e7ynOJy9t1vkvLOSizxr3au9+mzJvBFrDj1bZpa9vbbMPEabNj3/ow29vbbMPEabNj3/ow29+e2HPIanTT24kDy8PYLRPIczDz1U6Oa8PYLRPIczDz1U6Oa8QAafPD0s/DyxmCC9C7MKPOec5zz7jVu9+YKyvLP2/bzpNo29AP+ZOS5zXD1oSlS8gY9FvCRFRz3HvBG9NtTgvIkGHLyu+KK9x0XNvDedrTyoXTK8BpiavLHOzLxQpFa8hovZvKRer7sI4z68x07bvN/9Nzxo+T+8xtvJvAL+SLzIYkO8Cpx9vE/J97zA0F+8+ABiPBBxJ71gZBO8+ABiPBBxJ71gZBO8fgSwPBo0C71A+ca8fgSwPBo0C71A+ca8QTvfvAEemDxf2TG9t0vgvPjf7Tti5qi9DWmqvJj3nztYBMc8DWmqvJj3nztYBMc8jAeCvAwDrDxsPsI8jAeCvAwDrDxsPsI80E/rOwap5jzgtMI80E/rOwap5jzgtMI86ANpPIw1yjzQYMg86ANpPIw1yjzQYMg8c1SiPG8gmTzwhc08c1SiPG8gmTzwhc08Dd+fvOh0VTxYx8Q8Dd+fvOh0VTxYx8Q8jIiJvD4Tirzw1sI8jIiJvD4Tirzw1sI8DfydvP1MIbyUvMQ8DfydvP1MIbyUvMQ8zYanvIb/JrsgFMc8zYanvIb/JrsgFMc8GCcRvDdk5rzwJ7s8GCcRvDdk5rzwJ7s8XkQOu+CtBL2Ambs8XkQOu+CtBL2Ambs882zePEi3S7wYGdM882zePEi3S7wYGdM8c1XcPOCHdroYztI8c1XcPOCHdroYztI88wbGPGa6JzwAbNA88wbGPGa6JzwAbNA80IyqO06aDL1Yy7880IyqO06aDL1Yy788iPu1vInqsDwguhs7ES4FvF7YGD2QUtI7eICTPEisFz3g4hG7yPC7vAo0M7zA1Mw6COLKvHjfe7tAFOw6yEHKvKVISzyADuo6EB1UvCf38LxARqs6u/qIvJ7IE7281IG9CACKvH7Zw7yAAUQ6/fjJPPtL2DxoVLK8/fjJPPtL2DxoVLK8AKqbPIKRtDxTdA+9CngIPNyRjzx9k029gNt8PEz8tTtYnu28t1OxPFG1NjwguZA7ADljPFwcMLtgyN+8NxLAPIBmjjoQbKI7wC2hPArkz7zzrgG9+cDSPKHBwLyAa0s6wiqgvDOQ27zYaOe8QivMvK4oYrzoC+K8Q5rdvBQdIzxEiuO8gmSXPAIeJb04UBS9QW7bvBxH4LvE6+C8Q/CCvIjABb2w9fO8xDXXvLPBpTwgrtm8gFRQPGaHN73YxAm9jHcyvEqJLT2QiIi7dRu0PCXcv7zQU0c8cihkPGzFEL1Q9fg7cihkPGzFEL1Q9fg7dazCPAADUrmocFg8taqsPD85JzwYIE48dE/5OjzfFj0gy+I7v5jGumR18Tyk98A8v5jGumR18Tyk98A87rFNPKVg8zxIugk8s9WAPJuD/rzggL88s9WAPJuD/rzggL88s9WAPJuD/rzggL88KvDPOxwcIL1oKZu97H1UvKJTID2pC6y97H1UvKJTID2pC6y9xi1qu5ZoKz0txXy9xi1qu5ZoKz0txXy9dk5nvIQDKj1CPny93rHju764Jz2oh4293rHju764Jz2oh429wrmZvDRfJT1zORy9hiVyvHDwNz1sHpO8IK9bOkAFOj3gmwe7/ZDHPBdYu7zwO5q8/ZDHPBdYu7zwO5q8OvWwPICLyTlgbT+8OvWwPICLyTlgbT+8+xSzPODdEDzge1a8+xSzPODdEDzge1a8bDsQvMpGIj1eTp29bDsQvMpGIj1eTp29KCQ7u3IeNL2gRG+8c6zDPKOyvLwk0co8c6zDPKOyvLwk0co8A+Ogu+pUNb2cGuy8iFfsOrjrIb1gwnU7EkZkPC2m8jxaSz69wO7BOnBHcj345Om8Fr5fPD0JojwZki69WeoVPBBiQL1ZTVO9sIuCPDxOJr1SkTe9im41PMykPL0Nii69RdEXPNnbbjuduB691tjBO5g4KrzUcEq9pUnVu86BO73bczi9fEpVPK8x7rxQVVW9eXjavIqX9rvnCy69SKRgPDZbJ70fY1u9rIhyOwCDsboRaE+9Z2uCPD9/4LzQdSq9EjHkvLODFzzkVzC971ukvCuB6rz6eE69UkK8u85qOL2MPxe9uReFvNI9Db3YLEe9YXmivBcs47ycFyG9Q6MdPHTJ2bvZrxq9i8OEvGq5Cb1NjiC9S2TLvCb+arxA/Sm9qsRPOxwCyjxEE4C9DBKNO6DdeDz8/G294EYPuYW3Cj0DPIm9tcrTuzIh+zz//bC9qO/uvG8xDjwKW2W9GJ3JvApscbzwcFe9NVG2vHYfFj17oHi9liLpvF8vlTyA7Wu9iFjZvP5DA7xxZlu91JTsvGj8ATwKlIy9Hj/GvLYIeLycIIW9bhzsvBlmjjyXmo+9N7msvBOv9rxaaoC9bjjWvJzPCrxdU4a9MKPlvIKtGz3Y4uu98KfnvLXw1zzy/e69M4nkvMX4Bz1ZBcW9NfnZvGq0sjytYcW9MJGUvOrxMz18vOy9MJGUvOrxMz18vOy95u1DvBrsdjztGci95u1DvBrsdjztGci9XFNwvNItsTyCJ/G9XFNwvNItsTyCJ/G951V4vGIoJT3CQsK951V4vGIoJT3CQsK9vDFNvNSwQD3EwSy+vDFNvNSwQD3EwSy+uJ9jvO0BDj1Zpi6+uJ9jvO0BDj1Zpi6+orKTvCh5FD0NGCK+oWiQvFJTMz0b6CC+YrmhvAaSMj0JMh2+4sijvItcED31ax++yqQvvJmeAT3K6yi+yqQvvJmeAT3K6yi+yacsvIbmRT0A/iO+yacsvIbmRT0A/iO+6P60vAAdLz2sNxK+UU01vGsL4Tw5ghO+UU01vGsL4Tw5ghO+qNi6vJ5xBT3BNRS+0/9NvCghPz2WYRC+0/9NvCghPz2WYRC+Xw83vGAPIT0Lhu69aT8CvNrsBz01Q8K9xis8vL71OD1mLzC+xis8vL71OD1mLzC+rFXBuz67PD2uMyu+oWD1u+xqLD0heRC+mHvquw2PBT1wShK+q3Peu+ZkEz0Lki2+SPFGvLwSGj3jGDG+SPFGvLwSGj3jGDG+zPWvu06LlTxMkL6928InvMFO3zz6BPG9RpBOvBLpOz0k7yy+QZ5bvB88Ez34TS6+5WSMvGzEFj1vQSK+JjKKvGqCMD2ibCG+OrBJvBDVNT1DVi++uKpXvLD7Gj0pUzC+K+nNvGUSFzsP1gG+7RzRvJzTHbyNOAC+syvhvMD3HrwaNsS9bZqBvOOw6zuGWgG+bZqBvOOw6zuGWgG+ZTcdvEJFS7x7xMa9ZTcdvEJFS7x7xMa92iZOvKo5dLyK/v692iZOvKo5dLyK/v69Zfo3vOtWPTzdF8i9Zfo3vOtWPTzdF8i9IIaAvNTCDbuIWi6+wg1EvIBsGbjwYjm+wg1EvIBsGbjwYjm+wiAnvPSKZLyr7ze+wiAnvPSKZLyr7ze+Qyl5vB7/J7zKQS2+QRBQvCjvfboozTm+QRBQvCjvfboozTm+Qb44vG4uULwzxzi+Qb44vG4uULwzxzi+SsFqvAkCGryiTS6+QwZuvGaeJrvOay++ZnmXvHhSDDoPCh++nAfyu75/abwqZRy+nAfyu75/abwqZRy+ZzyYvLZjK7xvFB2+Tak5vLCClzuu7h6+Tak5vLCClzuu7h6+RrMfvOggJDv4BzC+RrMfvOggJDv4BzC+pKWBvHh+LrzyWSq+jsXgu4oOa7w8BC++jsXgu4oOa7w8BC++JdKHvGiRx7pxFCu+2MEXvAOWPjuo5gC+m3Ulux6VETwO3769xWUjvGSBU7tZPD6+PGw4vCaNi7uU3z2+PGw4vCaNi7uU3z2+mwC4uwIAizrAnx2+FB5su0C4gTmUnTS+MxVzu9JCDLwEvBy+B4UHu9BYOLwk4TK+vnUsvOrhMryFqDy+vnUsvOrhMryFqDy+rXncu3RLA7w0iP+9xbQMvIJHPLzTLz2+yP5HvOhCEbugaTq+wlU6vMZ6Q7wPJTm+xWVovH0GEryzmi++SpBmvPZaOrtDtC++QXU9vJz/qrs6Gj2+QFAxvHzkJrwjXTy+NLq1vO2Bprzulby9daLBvDTOBL2HdLO90yqBu77EFL0nRbO90yqBu77EFL0nRbO9ZosmvIK9crwd4MW9ZosmvIK9crwd4MW9i+zru07pIL21XS6+i+zru07pIL21XS6+jBnCu5wdTb2Azyq+jBnCu5wdTb2Azyq+yX4avBp0O7305x++SeEqvFx2H728qyG+X+0bvOo9Lb0P7eS9X+0bvOo9Lb0P7eS98DCnvMLJHb2R/+i93XFUvCtOtbyaFO693XFUvCtOtbyaFO69L1y0vGfh6LwB/+y9UnxsvAjcDL3hvxG+qCCGu4SGPr3QSg6+qCCGu4SGPr3QSg6+UyBSvMg9NL0ggg++opHnu8/L6rzAqBK+opHnu8/L6rzAqBK+mJiPu1Q+B70WqCK+mJiPu1Q+B70WqCK+yhc2vIKuO72t8Rq+MwMvu0r5S70ioR++MwMvu0r5S70ioR++SgtNvFw2Gr1oDBy+zSOEu94sjbxTSL29jBqou3SNLb1pizC+jBqou3SNLb1pizC+vUHNu6hf1LzgAOq9ntaquriCBr0eChC+ENYWOoauEr1TRSS+QPVduRBOLL3x6A2+vjeEu8RFF73I0OK9ggUPO/ySPr3orSK+jYalu2SoQ711XS++jYalu2SoQ711XS++tOjROoQZAr0NWK+9glz4u/ZHI70IKC2+hPbZu7hJSL01MCu+zF4RvBKfOr0UdyC+y8QfvEorIL3bHCK+frvBu5iHLr24US++gnG2uwBOQL1UTS6+ynmuuwD0Yr2ED9q9cId2vLxBNb21+Zq98B5CvOjzTr2zR5a9CNp8Omx3RL2ijdu9CNp8Omx3RL2ijdu9XbmgO5Zecr2SSwa+WLTxO7wMjL2XoAO+VqyOO7ZLhr2X8/y9tHozO15td7111/+9TGfFOyiUX71RIP+9TGfFOyiUX71RIP+9qFIoO67phb1vwvS9pVwaPDiNi71GYPm9IDUduSrKcL0/gfi9WsHWO/xEf72laQi+QRQ4PBiyaL3/lQG+vg5YPHjlhb1t0/69VvP4O3Qkir2iuga+mxYOPBQpbL0M5tG9YBqiO9Svd70GXga+YGDiO7F/ir22oAO+VhmdOysqhr2QNP69qHxOO6jYd70eUwC+YES/O00fgL0NvAe+XmPdOwZ2ib2gWQa+SPfwOybZhb2BH+S9bg0Cux5CbL0JAe29eBuVueingr0gqOi9gHJ/O0j/Ur0PA++9gHJ/O0j/Ur0PA++9JvUgPK59W720x+q9IRM9PG52eL2RMeW9jvA3PGDwmj1pGIy9xHO3PK3NpD2JjX+9yDLzPMColD0TsIO9yDLzPMColD0TsIO9EgZNPN3Rgz1WOpe9EgZNPN3Rgz1WOpe9g9oKPRRYuD1kfre9g9oKPRRYuD1kfre9TcaePGj8sT1s5MC9TcaePGj8sT1s5MC9R+mQPH2/rD0YKay9yi3kPFVfrj0ZNaO9wxEPPYGtoD0YrZ+9wxEPPYGtoD0YrZ+9loF1PBrelD3f37C9loF1PBrelD3f37C9Drd1PBSEoz1GYqG9x8nTPDkwqj2eFZa9RqC/PNuwpz2j6IW9EmNUPHMhhz3JTZ29EmNUPHMhhz3JTZ29jppKPBrsnD0Vd5K9SIH/PC7xlj2r1oq9SIH/PC7xlj2r1oq9SGXvPNFoiD2McYq9paQEPXg6uD3dzr69paQEPXg6uD3dzr69pAoKPVl0lj2nvqi9SK/5PDS4iT3FlpK9CLmMPG6Bgz2dg5y9DEC5POL0sj3B5MW9DEC5POL0sj3B5MW9CoKePALZkT2nzLG9kOR7PBTSgD21Rpa95XIEPYLxtz1LBbi9S8KlPGGQsz29NL69SaOSPHcdrD20way9ysvlPGjqrT1SGaS9jKr7PH0RuT2xOr29DQq2PPjstD2JnsG9tuquvIhzjTy4ksW99LKdvMT8KTxVwMO9eCZ9PAAMbz1E76u8P0OkPDjCIz0iGC+9FX2jOzruGT08i2m9/x76u9SCWT1dJxm9wl/dPBOLjD2zA2i9wl/dPBOLjD2zA2i9ws2jPCQ8nD3iRGG9iUMCPO8/kj1ZKXa9jP8gPDCnbz2ir4a9jP8gPDCnbz2ir4a9gjrZPJ7kfj0dWXC9jDhoPLSNaD2d54W9AB3OPLyXfT330T+9AB3OPLyXfT330T+9wK6PPFF/ij1CJi29FDQwOwoXgT3xzUu9FMTRO1yxTj31UGy9FMTRO1yxTj31UGy9gHbLPDwpaT1SgVC9CoM/PNQwTT2L+Wy9fnvJPG7Pbz1hGDO9fnvJPG7Pbz1hGDO9v4OHPPlUhT1YXha9wOBJOYLidj0axT29E+miO6phQj08sGa9E+miO6phQj08sGa9wEfIPEb8Yj1fTki9ircrPCiyQT3TmGS9fmzIPFoAVj1OvyK9fmzIPFoAVj1OvyK9eHp4POBUfz0kqe+8+F0iu0pgbT15oSu9oChHOlzQNT1d7We9oChHOlzQNT1d7We9QfCuPBgQQD3J1D69EEX8OwiGMT3aS2G9hla/PDyGgD3o7JC9m228PKQzrj3C9Ki9LKvePFqpkT2sP6+9wMVTPDb0Hj39Mk69xjixPISvbT06coC9oV+ZPPDkTT04L1q9lBqiPEarqT09Mpu90Ol2PDSiNz1h3lK9CDN5PNuzoz1GLYW9mc6EPKaApj0VFIy9FGMGPPuTij1ElTm9XlW9PBB2rj1IPKm9XlW9PBB2rj1IPKm9thDKPEnagj3RaJi9RPeKO2RwgD2FYQ69LsfMO2xOhj2ExSi9tnTXPNRruD3Ru769TbVPPKuJmj3mA2m9dgPVPHzwtz2Oabq92QegPEL8VT2CxWG93E3jPI/ytT32fMS93E3jPI/ytT32fMS9aTbcPEWqqz0hzZy9nGCWPCSloz0CSr69nGCWPCSloz0CSr69uzwMPfvcpj1ydbq9KmqGPO7zpz2d26a9+vkPPb+2rT35o6q9+vkPPb+2rT35o6q9gwu0PC70oj1d0sC9hP3pPMrboz3YcMC91+2vPJTSqz0Dz6G9LWPMu3JiUzukLg++5LmvvDuAGrzEgg6+7it6u3kpD7w/Jw6+Y3+pvADWfjpUNRC+7kUkvPYXZ7xC9w2+7kUkvPYXZ7xC9w2+vEJfvCZ+yDuJKRC+vEJfvCZ+yDuJKRC+NTPMvDTVJD10DQS+euHuu3sn8jyTHgW+9ZpRvENHxjwAGAa+9ZpRvENHxjwAGAa+QQHPvO4a8jxYxAW+D24LvCbTKT1YngO+bLN7vDrUOT1UXgO+bLN7vDrUOT1UXgO+VVHeu8TJNL31aAC+VVHeu8TJNL31aAC+LGTuuvSDIr2LI/+9Lo2QvDTiAb2M4wO+0TeGvAhpKL0G+QG+rUpku9+u7byFjAK+AsYivPtv07yDtwS+AsYivPtv07yDtwS+K1p2u0ahZ70qmeO9VZIcPGKWcr2X29u9cFvJO4Gmgr2oftq9tC0XOwYTTb0oAOW9tC0XOwYTTb0oAOW9VkIQu2Y5f70Ikd69s04FPD6UWb3XsOC9zuaOvKA2CbpoCyW+OEKNvI0uLbzKuCO+sLDquxiIZryBtCW+sLDquxiIZryBtCW+eQ8VuxsuJ7zplSe+QtYsvCQeZTv7eCe+QtYsvCQeZTv7eCe+IViKu5REmDrFBSm+veFbvBykE72/4Ra+ACRqOSyUCr056Bm+CpNGvD5ZOL2JQRW+t8xdu8oeRb3T9xa+t8xdu8oeRb3T9xa+rDnDOtbTNr3F6he+6vi8u8s8+7xAtRq+6vi8u8s8+7xAtRq+t2ervATaMD0QtRe+uwexvP+zCj0M4xm+2fEwvJCA7jwjUh6+2fEwvJCA7jwjUh6+52WyuzCJCD0KJCC+Zik9vHYkRD3qLRq+Zik9vHYkRD3qLRq+Ihm7u/BHOD1Fmh2+esJOvAr4Oj04+yu+ecVbvHyUFD2dhC2+52SMvGzEFj1vQSK+JjKKvGqCMD2ibCG++L5MvEStMj0GLS++eNVUvNDFHj3wvi++dJ9FvP7EMrs9gDm+9Wc4vHqtObzuZzi+xmVovH0GEryzmi++RpBmvPhaOrtDtC++c1Y9vETuuLtTjTy+c6c0vBMCH7yW/Du+8jPuuwb5JL2GtSy+9LXRuySzRr2U3Cq+zF4RvBKfOr0UdyC+zMQfvEorIL3bHCK+8RvFu/bDML1KGS++8ue6u9rUPr1iZS6+7N6qO/A9eb3O3AW+7G/jO8I0ir2OtwO+TBmdOysqhr2QNP69mnxOO6jYd70eUwC+7uXAOyuIgb1gKAe+7BjaOzdFiL2i+gW+DN38PGrBtT0usbW9ixqnPPvPsT0yJru9SqOSPHcdrD20way9ycvlPGjqrT1SGaS9DFTvPE4+tz2E9bq9Czq7PBuJtD0YZb69hWQAPfe/uj3k0La9UF2oO3dNir3G8QO+yC8IvBJNR707jCu+wqhVvBoiPbyyajm+x0t2vCidFT2bqy6+DLv1PBPsuz1Imbu9oN5kO7STe72oMga+R20VvJYxJr2EZS2+x5xqvJBJOz0ZSS2+QvxhvJb7Qrshazq+UTukO8yXib0M8AW+jeTsuySDQL029S6+QYROvIM7KbwULDy+Rg9yvCgSHD3W0y++UxCHO7cHgb2eYAe+jM34u55MML3awC++wd9ZvIAMs7st+jy+xtxmvErkNT3KKy++zBW0PMY5uD2FLsC9CwCmPNawtj0lrry9FHPYPJjStj2csr69QdHVPEKluz0/vr+9ncrQPI/huj2v0bi9PBEyOhYAHb0hOqe9wnCDu0J+eL3gh9S9PLuhO/jmfr0E3tC9mElEu7xKMb2m88G9mElEu7xKMb2m88G9akMUvOI9ar1hE7i9a+gyvGgTUL3wSry9XoodO9IScL2EQre9QLj4O2TlUb1EU9a9LuKJO6yOQb2cO729LkTCO7guV702WLm9NT+dvLR/QLyvnL698DpqvFj8IL057KC9HBjEO+pbSb22ysm9noroO1B0Yb2EvcW97hJnO8DTdr0sL8S92TrYu5blcb3VUMa9ggMIvGpSWb1QZMu9ctJ9uv6SO72Flc69ctJ9uv6SO72Flc69r59lvCb2O70ETqO9NHPkOiQFKL1K3K29eCYpOwC9YL3LyaO9Ij+xOxifRr36B6m9dEUxvMj6WL2csqK9DpnAvBr5KT2QIgu+ia7su8qi/jyCtAu+I3RDvFep0zwczQy+I3RDvFep0zwczQy+9OzEvBV//jwM/Qy+MA8DvAkfKz28Cwq+oNlkvLF6PD313wm+oNlkvLF6PD313wm+5DHCuzpxDDsyZxa+JvujvPjxIryayxW+kKB2uya2DbyicRW+3qQOvNpLaLw2LhW+3qQOvNpLaLw2LhW+ZHygvDyURTqynxe+BHZMvGsAsDscjBe+BHZMvGsAsDscjBe+/jiyuySoOb3iWQe+/jiyuySoOb3iWQe+ahGFugJpJ71bvQa++kdvvGhTLr2TvQi+/tocuyha/bxSSwm+akcLvOUd37wisAu+akcLvOUd37wisAu+rGWDvB5fB7220Qq+Su5cvz6J9T4rqCK+hS5bPxF7Ob5ZwPe+C0vsPnCCWr9glHc+yfBDvdX0Z72uS3+/yfBDvdX0Z72uS3+/3BR9P/AU3Dx5tRe+35gLv/qNVr9gmnc8/blMv9ytbT5bvw2/qYl0PzbhkD6IC7G9RZRoP2cghD7ARKi+btFsP18f5z0brLm+Bv9sP57PPzwUfsG+nQNkP7Th5jy4Uui+FF1YP4m9A773zgS/LbZWP1RIJ70/BAu/ZIRoP83oCT6lz8q+8ENOP4guEj84EiG+3GB2P/alZ77O4Bm+upl4v15WUj4g/fg9xL52vxJkiL6arb27kxlYP4zp3z5Ox56+IipvPxUbYz7IAY++W250v4+dlD5664I9qyVrv/n9vb45kws+Q7N7P/GKkz3Etiu+JbF8P4r2uj2f2ga+FyZ3v03ChD5e7ds8qgV0v3ppgr5KuiY+wDZ2P8swOz6Zy1C+SBFwP5KDuT0opqu+9JFuv+Atk75BcmI+WhlDv85PC789m7M+z8UXP6YKTr8mg908niRjPxQTc74Sesq+jO9EvyKXID+9Q/g9NWfXvkNjXb8bV4w+I9hgP078xD6PVJG+oT17v/rbOr7hnHO9PX96v0uPCL73FCG+oaNAv6yZKD/pvaE6Gw9/P06qhj3a4mC9Gw9/P06qhj3a4mC9dFkdP3S5ET+Hygs/3Wt/P+B9P7pmnYm93Wt/P+B9P7pmnYm91+xXP8DFfr40xPO+fKlSP1PTsb1svw+/L19iv8XZ575oquk9McqEvtsOWT/uwew+t8Awv8UnOT+FSF083Mhlv12n4b4TCBE8Y6JuvzuMpD5XrSo+l0xevzi69b618v89GZF8vzsoDL4LILY9tkt+v1LAlD0KHrc9jV1vv/A6rb6qVNk9TnVDv6gUIL9DOiU+Q7QBP7aSWL9PICo+Q7QBP7aSWL9PICo+/sRqPw/vyL7SX5C9/sRqPw/vyL7SX5C9RG55vzJEWj7BHpQ9SMJ8v9AZ1z3+cPO9FKl6vzBQaD3Sx0c+KkT6vCdAAT3DwH8/2aNIv8zICD9BG6I+xdAFvUBImD2AJ38/pBQBve8rlD2eM38/dGqrPpIGYz/GFqM+YnYBvQ1yNj0vnn8/So9BP5DWJj9KoHU9KkT6vCdAAT3DwH8/X9lgP8kb7T4LJvO9IwRxv5eNej4ScW0+HmwBvZbzNT2Onn8/7ltev5gN8L4UPyQ+Dy8evSr/PL1CiX8/I3lwv3kMmr7AkCg+QuMLvQnfM7zR1X8/51V6v9jI2L3MxTg+6tv3vPMhLTxW3n8/+ggwv+o6NL8+wjU+Q7YYvU2/yb11k34/52Djvtw1Xr/DcmM+NM4LveeXnL3ZGX8/WSsevYndS73WfX8/93Z2P+Yjsb1rKYO+Qt4LvTnHM7zV1X8/vvR2PxjC8T0eLnG+6f73vKJAQDxz3X8/jBZrP7hUqD5WxWG+eVgSvT43AT70yX0/yL8iPSxbd79qWII+RXJbvzeU4D7AIoo+/K7evn/zRj943+g+/pRBP5u44j5Aq/Y++ORuv6PjpL6/YSM+GrV6vzU08r1eDig+1Sl5vxhfCz78Sz0+Yqc3v7b4Kr9nBEs+jKRXv4i2Bb+D8Qc+OGJav5V6/b401yg+7UJ/P0v7gr1DdSe97UJ/P0v7gr1DdSe9TzFdP1Xxl76UNtC++dddP1UQXb6WXea+6r9jP12yb74dwMi+89V3P/J3QT6Zeig+ySdnP1P0gD2Bp9m+uHl+P4T52T1EnL88dwprP7N7FT77oLy+k7J1P1awhr7oWMk9CnViv54V7L7C7I49hvxxv9oBpr7K6xY9vr1/v/dg+zzxkgY95gNjP7z+5L6Et+69Kx59v6t+F75cr7c8YMpJvzlsG79glM09K+l2v+GtgT7FO5k9Ob/JPjdiar8m5aQ9obccvxNFLz+yi8o+hgNsP1KHxb6jUA49ebMEP4nQVL//YU0+ebMEP4nQVL//YU0+BjZ+P+qBvz0Zc5O9TSZyPwMLpj60Sik82oc5PoZTVT8HtAU/QVh9vkQ5Xz8eS9g+R8yMvOxrQj1xrH8/WCwuP1JUIj8II7w+2XYLveNbq70P9H4/l3cYPws9TL88EsA9l3cYPws9TL88EsA9N1tfP4LzhL1H9/e+GmIHPsSDfD8DSci9GmIHPsSDfD8DSci9ts98PsspUT8eYwW/ts98PsspUT8eYwW/4EOtvhoObD8fM0C+CdGMPk4KaD9vJaS+CdGMPk4KaD9vJaS+nBtVv6/RDT9KeTk83J5Av8ibIj+nhDI+R9DVvGJXRz9TeyA/hsR6P4ZhWr1Qm0a+hsR6P4ZhWr1Qm0a+QBt5P1gXiD0oA2K+QBt5P1gXiD0oA2K+RF19P2AVir0USAG+RF19P2AVir0USAG+7quhPltAaD+PR46+7quhPltAaD+PR46++d6mvnNFbb+g3T4+fEAZvUliyb1IlH4/1m9rPx79uL6Rfh2+CGjHvkekab9o2P09UsdEvtbicr/JaIA+CbVHP+51T74giRe//ljmvnC6WT81gYs+asdQPw0Lk76MnQC/ZV/gPtIYZr+Qyxe8ZxdpP/H8sr7SGmK+ghO/PieBbb+l65u6ZtxjP299Lb46pti++WBvP0X8dj7h+4S++7/gvjSxY7/rewI+8ORxP85tSz6SN4W+FTB8v0PzLr4q2508kbxwP1Teh77731m+1jN4P2Wuijw+NXq+zbFqPypPTT6E3LC+CZ5/v+Vsirp11l89NZdnvy0Y2L5RXnE97iDVvqrXZr8I6O49kJ5Pv4KJE78p/c09kK5lvy7/4L5i1zM9IuBlPwDEKT6zutC+nplMvydoGL8KIqk9R9dzv1HNm757YkA8qg5uP5CTqz3fWre+9RN2P4aXl72r+oe+CF9RP8QFzz6qntG+77JWPycS1T4k5bO+Wq9/vyuOG70KqAI9h711vydoj77apSA8VLVHv6QbID8g3Yc8OOB6v4hdQj5J5XU9eJB6v3TfUb4BiEY7yX9/vwJXar2Sj8687R12v2qvjL6ExHI89lF+v+sA6j1+q6U7dO9pv8aRy76xuqk9+HF4v0Pudr5v9oK6Aitev/0l/j7M5a08LpNVv9D4A7/tNEi+GxRhv3pw8j4ghVc9j0Vjv3IH3L4Vxyi+ol4LvJD7fD+Jgxw+ol4LvJD7fD+Jgxw+bkqGPjki/b7VJlS/bkqGPjki/b7VJlS/nHo/Ppdvcb8Jwoy+nHo/Ppdvcb8Jwoy+kxkIPlkJfD/IC+o9kxkIPlkJfD/IC+o9u60Bv73+QD/aN9a+u60Bv73+QD/aN9a+q7wRv60p6b7aOi+/q7wRv60p6b7aOi+/Ay9Wv0ECB76eGAi/oyNGvy088D7us9m+FPVMv2iXDT92+mu+bG1Yvxb+xr4Kkru+OZAOPLXFbr9SmLi+OZAOPLXFbr9SmLi+hSQwu9/Yfz8PFw29hSQwu9/Yfz8PFw29qbtMv0JhGD/2JaC9Ix1yPlG3dL8pRjK+Ix1yPlG3dL8pRjK+ZShXvyiW9b6YEoG+KakHPpVoez9TYAk+KakHPpVoez9TYAk+kqBYP71qBD+9HAM+1CtnPwJP2z5ZlQe9xhjcvceDAj+agVq/xhjcvceDAj+agVq/OsxAP9KHDT87lba+ZZpkP9tF2T4gnBk+h4lxP401qb5J1sQ8JXQ9PydGyr4YVgu/OzMEvozgQ776Fnm/OzMEvozgQ776Fnm/BQZmP1KXoT0VEN2+/oZyP5wDob7xVnW9dh1vv5DOyj1Msq++pxJrv5eNWz5pdaq+WRM9v9UOoT75pRi/YYhGvwcx2jyseSG/PThjv5PnRD6wU9a+RNdnvwGMvD1S8tO+1TZcv7/i8z5oZzq+yZpVv+bdCL/3Mwm+Jo9Pv79bFL+Wwai9etyRvQ3ofD9m9gy+etyRvQ3ofD9m9gy+ucSmPkSKS7+m+QK/ucSmPkSKS7+m+QK/j38gPnrRfL9cZj+8j38gPnrRfL9cZj+8zP+FPgA3Jj9+zza/zP+FPgA3Jj9+zza/xstiv6fCoD5azK6+gazsvlI0QD+zk/G+gazsvlI0QD+zk/G+if6DvrRHar/fqJ6+if6DvrRHar/fqJ6+3dZOv2IyC79DeWi+sL1mvyNvfT3cfNu+sL1mvyNvfT3cfNu+rIFNvwVb9r4gVrS+rIFNvwVb9r4gVrS++PtevyjtSr4kIua+ly5nv7qOBb5/iNG+SctZv9dd+T5kOEq+VreXPkpJdL/SiyQ9VreXPkpJdL/SiyQ9LsVLvxOBF7/QPQK+sGOTvBFefj+S9uO9sGOTvBFefj+S9uO9oz0Pvq0/eT8njTi+oz0Pvq0/eT8njTi+OUBJv1ppG7/Ef+29dOMQPo1ffb9pCaO8dOMQPo1ffb9pCaO8vhVkv8o6zj5dr1a+VeNOP9lyFj+U2R697i5XP9uihT4JC/O+lnsTPmN03j5xm2O/owwrv0JJRD2bEj6/owwrv0JJRD2bEj6/QBJPP8VyFj8ivpg8XaU7Px1PGD+316i+h7B4PyGMYr4/mK89SWthP2Pe1L4GCGm+dnkav4m33r7nFyu/dnkav4m33r7nFyu/kwJxP472q74uSvI88NaYPpUDBr9oS0y/sAx3vxdOH764A1i+8ntzv4fdQb4f4Xm+POl0vzPM/b0i4Ya+U3xxv7YNRL471Iq+Cbhuv0EcGL6aj6i+GYZqv1uHP77QkbW+cQFkvwDM0T5r0km+1mtnv6jS2r4Pt0M8duajPiG+aL+WZYi+duajPiG+aL+WZYi+r1+2PV0G6j6FjGK/r1+2PV0G6j6FjGK/Pm76voO09z4Qyjm/Pm76voO09z4Qyjm/IpahvpRAZr8T0pq+IpahvpRAZr8T0pq+tURJv9E+EL+J7YG+5ddivzq4Gz5rKuC+k9IvPnDSeL8AgyQ+k9IvPnDSeL8AgyQ+7mdFv+PgIr9w7MO8JSelvUvdcD8gdKi+JSelvUvdcD8gdKi+WkFmv56Psj7O3oa+ebdnv9UDqT7kI4m+DCNzPnlqcr8N110+DCNzPnlqcr8N110+eaE7v2ciLr8mEDS8KNTpvEXLeD+KeG++KNTpvEXLeD+KeG++zG6kvdtVbT8jdru+zG6kvdtVbT8jdru+i2ZEv/FZI7/WqYW90SsQPgrafL9tPYs90SsQPgrafL9tPYs9l1xrv4z0hD5dSJe+KaNQP7V3AT6OxRC/nIeZPHKlLD4mSny/nIeZPHKlLD4mSny/iWtPP6aJED/MFSG+AyJbP+4lBD+WZeo8PIVJP5qbAz94aa6+ySZvP9vLl741QUs+0ZhxP3VrqL75IAs9iW9nP4aXzL4gYxu+Xk6nPPtvC78voVa/Xk6nPPtvC78voVa/MMlUPzgkiL4S//m+P2Fnvz8Ppb7mDpC+dexqv1zGg75C/pq+ErNkv9+Icr65gsO+zL1bv4b6tL4CYr6+SkNevzbTMb5q++2+5Dddv4J6ar4EdOW+1qxqv+n59T1eH8O+7591v7X6Z76noSu+QgYXv1g6Rr/BYGo+ijz5vQF7aD/mHc2+ijz5vQF7aD/mHc2+/s8Avyjg/T7hMDW/ej0jvneddr9x9ly+fm81v96xJr8Z/4q+zBBfv7/lJr3oWfq+W4U9vjPyXD+KnfC+W4U9vjPyXD+KnfC+pS4lv0XbQb/aJs+9hy9vPjNHdr/qohA+lPplv4D4+j1J+te+EKgEPUUh0j2Sg36/XHM3Pw9yDD9RhNy+MEptP67LsL6CfBa+e/EAPgGBJ78L5D6/PmZyP9YaOb4ZMYg+F/hjv0O+Cb6IiN6+Rhxev6Pd3L5bOH2+l6pbv+waq75Yose+JbVev/9GmL7BZcm+IRZVv1CzSb4pngS/SutKv0nX9L4WocG+EqqNPjNqZr+ZXqw+RfJpv1OTCj5eAsS++2Apv+iyP7/8sB69VX4uvrSZbj/uvaO+VX4uvrSZbj/uvaO+w84+P9uhKj+TbWc8vTJxP1lnHL5Nt5g+WjFpv8DryT7DZvi93uOLPjkbUj/ScgA/matjP/IERj5vJdQ+matjP/IERj5vJdQ+FAY+v9WQ475LYAC/FAY+v9WQ475LYAC/PYsdP6yQST/mmRU9PYsdP6yQST/mmRU9P2s7v4AZ6T5XtwG/P2s7v4AZ6T5XtwG/2Mgrv/yKPT/tpR+9Tq98PWrMcT/oKqU+J29wP205NT55qZY+J29wP205NT55qZY+HSFFv3OAn76ZiA6/HSFFv3OAn76ZiA6/Ovdbvx/8AD/CXrW9bMeOPlmLYz/cJro+3NGQPrDtXz+ne8k+I9ZDv4rg4L51LfG+I9ZDv4rg4L51LfG+ORpnv+Z80T6lBQi+X2lpP8OiJD4UgcE+X2lpP8OiJD4UgcE+N5VZPzLbBL/CZ7o9H1wSP44VHj9MSgq/H1wSP44VHj9MSgq/3C1SP4h0BL9CG3e+vXdJP3bxHb80CVY77ra9vQUKXr+2YPq+27N/vjTrpD75xWm/27N/vjTrpD75xWm/J+DYvcjVO7+lzyu/6vjAvYHOWb+RVwS/kGYBvhBdeD+q2VM+1c/ovpOnYz9+yUk9hIOvvuRjcD/YC9w8Dp86vtnidj/COUQ+2uaiuoP9fj9hs7W99wi2vpw4ZT9aQIm+ESodvx4nIL94d/a+Og8svw7A9D7swhC/OH3zPprOQD9xuOg+K4hSPy5Ajr5iMf6+0GYxP3muJz4SvjO/Ey4jv3lbRD+uHZa9Oj5mP2/5Xz7MysE+Oj5mP2/5Xz7MysE+JMqDPvFHSz+p9gw/tP1nv7Sv0T4SRde9SbEtv7clz74t+By/SbEtv7clz74t+By/4oVnPyrH2b5bwQu9BvyDPYCbSb/v5hy/+OFqPzfpbD7koKU++OFqPzfpbD7koKU+m1imPpTeSD9fKgc/jJlgv4UK3z5uEk6+wGUQv5E+mL4dNUW/wGUQv5E+mL4dNUW/GCFrP34SxL6RQMq9mmUwPsgkMr+VezK/eV90PxIvJT78QYA+eV90PxIvJT78QYA+JkrHPjVqSj+Y8/E+m2FIvy+WCj9eMJ2+nLyuviJeZb3aM3C/nLyuviJeZb3aM3C/Ly9sP/uhsr66jCi+EMmKPh/wAb9RX1G/40l+P5zfpj3ydqc940l+P5zfpj3ydqc9WFHDPgC7Tj+qUOY+FJMpv4FeNz/FuGC+sjYcvtA6+D7sd1y/sjYcvtA6+D7sd1y/2e9SP249v770KNq+CW3VPrHrFb7jqGW/r3/JPlj+X78MZZC+qezmvbtZfj+/tTu8XAmfPsNmQ79rBRG/MucuP067X74fXzK/dxAHPwOSQb/VO8a+8+QaP+WUFL9uhgu/hZi7vkrbaz9rPgU+VrEWP1Jx177gszC/Chj/vmkIVj+kNWs+bRXtvtAYYT8NauQ9ag7nvvBqVj9aqZ0+jhKOvgmJUD8mZQI/w+z3vandfD8agck9iZekPrDdZL/1y5++cwnSvmjJXz/WEIU+4HvdvnxiXz8xQmg+62QwvpqqeD9yoie+uvP1vpxKUD9Gqac+uUhjvuG8cT8T2Hg+avsXP6llLr/ATNu+Wr8jPm5A4D7vd2K/Wr8jPm5A4D7vd2K/IxlCPuZAXz/F/eY+TA09vyyDML6f4Ca/TA09vyyDML6f4Ca/yt5OPy8Whb4LUwe/FD1Kv8fTHD8uUcw83yJbP8/w4D6Dgos+3yJbP8/w4D6Dgos+hGwNvvAt5r7J62G/se+kPsM85r5JRFW/zCuQvpMAbD8HRog+mY1HPw3EHz/hN1w9tjJQvw5gDL+XX0e+QOpzP5M1j77n4/E9aBRZv8n09T5RZGW+KNtQPqWRer8Vtp88KNtQPqWRer8Vtp88wu92vf9Nfj9gT8i9wu92vf9Nfj9gT8i9OBtWv88gCj+FaMa9MmdxPxs9qL7yUFk9rz1jPsUAdb8ZFj++rz1jPsUAdb8ZFj++Kp1RvztaAb84g4u+H7dXPxBYAT+YtD4+YIcHPaLWfT/oZAA+YIcHPaLWfT/oZAA+olRFPpeBdr+SXkE+olRFPpeBdr+SXkE+nSFuPz56nb5GH00+Z+5jv8ZfpD5lRaW+47o+v/l0Kb/1RKi9XkRQP3zdFD8W4Lo4knRNvRHZdj+XOYW+knRNvRHZdj+XOYW+7sZqv17SDD4Hlr++noNvP9OEI77fN6E++zybPmJHYb+MMrs+P9UgvvaLaz/vtLe+P9UgvvaLaz/vtLe+ZSApv1ctQL/ErNa6cGBHP71yID9Vo808mr5ev3bJ4z5mOVm+z0lLv54nGL8OKAK+7tBUPmEzer9h6SM97tBUPmEzer9h6SM9ykNxP28wpb7w2rM9Jhi0vXIkfT+gVva9Jhi0vXIkfT+gVva9t7lFP7iQIj8RO2g8vVprv2QKmj5rzYG+kohUPzahDj8JD5e8vhtCvxzmJr9R4NI7BRY4Phdidr8MXFA+BRY4Phdidr8MXFA+IAdsP/Yxsr660y0+1Z2rvZjcdT9yDoi+1Z2rvZjcdT9yDoi+Q0NOvy/zFD+EEOO9aORav8rB5b4bC4W+A5bwPcc9eb8Iaki+A5bwPcc9eb8Iaki+NBhnP7xq2r7f/GS9JfSRPesBfj9wINE9JfSRPesBfj9wINE9m1BfP3mN9T78uMI9ahO7PSpVfj+nf4u9a6InPTjIcr//CKG+MLh7v1j+G7tkdTq+AU94vxSQOz7R9CO+JgNHPhEp1j7nJGO/N7oaPgT3Pr4/hHi/2/KUPN/9cz8lsZq+hlIFPp7Qfb8WCuA7Ec18v6dxHb49oA29Pep+v4V8hT1A5IS9kZ1xPkThlT5EN22/q0eXPggsBb83Ik2/D19WPSG8Zz+x69e+44QDPlKtfb8gSyK9L3V5vxEDZr4xM/k6vbl/v17+ibxunzC9sTmsPoFxhD4Lz2e/xiK6PoBeEL8c0j2/a9ffvTXYUT9V8A+/YZDLPTGUfr8bbA09tyxmvxa52767YLA9JN5+v5Y/vb0v34q8+pi6PVgM4jxb1n6/0p0gPjF8K79DyTm/9OZ5Py0vWr6xiCe932VKv+eeh75FUw2/9aEFv4u2QT+mh8k+k1cZvbojTz/dHxY/vBUlP8C6g76/PTi/7awyvknlu75L6Wm/LNRNP0fgFz81TCM9uTf/vt3sXb95pIo73+AKvzORUb+vGEG+I7oGv9AxVb9r2S++fDEHv1WnKL+zKgm/4MMRPzKgIj9ZkgW/NZA+v9Ta7D5/jPa+id4mv2k+FT94VPi+rXzsvmDrUj/uIqi+CH8bv85SKj+YO96+uHzkvm+CM78YVw6/RhmGvmO+D79w8Ui/ABjBvmDGGr/wmzO/gIf/vpDofr7ffFS/TDgMv0dQ2TxLE1a/Yeycvu6+QD4p3m6/mcb5vvYraj5zqle/PA/WviSkCj/TtDq/mWHcvqvfzj6XoE6/NGNUv1AT3z4dvbK+ksuePuknfb7VAGu/TzeiPcP4Jz/kHkC/nwN+vp4faj8dlKM+tAZOPzWAgD2ZGRe//Fgmv3mQQr8hIEK86pGoPqqPYL8F77I+rgolvvoAXz/Xgu2+rgolvvoAXz/Xgu2+pQYiv5/VRL/T3bk9ncdwv1pi6D0v66O+adTPPnFJWr8PY6g+AqNPPwxYFT/Ozy69D8VKP1srGT8F0fe9NiF8PwOHjr3scCI+AITzvteSWL8PzXa+/y1IvzOG4L7E0OK+iklKP7DiHD/SUda7F2B0PwnlBL7+TIk+/sPAPhlaXb9CSqo+b9Ufv4jyR7/zqUy8WXdpvzbDBD4iR8e+jDsCvnduaj9vHsO+jDsCvnduaj9vHsO+ynBuv6nBkL3Nzra+2fk6P1lYHz8DBJC+l0r9Pmp0Tb//tKo+ZZx/PySpkDxw11U9AdQbv65IRb+1MEE+Fd5RvxxEET/I3Z29pKFyP3m1or4Tcty8EUZpPvxrcr82F2i+EUZpPvxrcr82F2i+WlBUvwIE/L4tXYe+puleP3Qd9T5p3eU9AnypPd+efT9bF909AnypPd+efT9bF909T8BLP0rHGj/0EQG9Sc5QvyClEL/cvf69yyB3PyZ8g76maT49f1l0PlqEeL8FXNM8f1l0PlqEeL8FXNM877Bcv28O8z6npjW+B7RLvTzafT+FVvS9B7RLvTzafT+FVvS9txxfPgiedL8fdUs+txxfPgiedL8fdUs+4itvP8dPnL66qjw+Kjw+v//JKr/sUFW9MXNWPzHPCz9kWUC7wh0bvSxAeD+dBHe+wh0bvSxAeD+dBHe+G2tnv6v0oz5XEZG+EsVVPnuiMT9QbC4+gAO1PgapPD5wH/M+m+4cPtiWCz/teiY+HGbZPtXUNj7IDOk+gwc5Ps1nET9C3C8+pgciP3RuWD48EIw+3KlRPtR3mT5M8ko+NMSkPrw8QT7Q7rU+NoI8PtD+wD4jyTg+kCjTPtDYOz7UYNw+Di09PvQI6D6imWA+vOmJPod9Qz6Q1Oo+Y2qRPoBrOD+3Yoc+RIo1P4k+cT5ol5E+KgFnPiSAnT4ALmw+T6UrPyZCXj7EGiY/m7hjPjy8pz6alV0+dMq5PtAYVD6JkBo/U9hRPhCYFD+PfVo+NN/DPs6RUz50mNc+Z4pfPoQECT9AT10+LOYDP4KVUj4gbO4+lbVUPvhn4z59MpY+8Ps3PxHqZD4OrQE/iQldPpyfjT7lfl8+oCsdP1RzhT54SjI/sx6ePhh8ND9JDa8+lIiaPsPV8z7OQjI/saToPpacKT8V3K8+uJSkPrX4+T4kUS4/gdOjPnwaoz5wIJI+7MSePvLZXj6E3hA/0aDbPtJ2KD9BBsY+nLssP2rEYj4xjiI/Rq3DPoiAGj9vl6s+hNQHP48stT5gaBA/eIG9Pu7mFj/R9bE+0oENP4MlqT6gKgU/qqOoPhCG7D7VDhs/GDUdPzWvnD48+OE+zbAYPxypJD/Ba6g+ri4jPxgLej6MQC0/+ojVPgbZCz+/8Cs+AKiLPQlW3T48ORE/a3lBPoBE5jzEsYE+AHSpPMnu7z50uhQ/FFSKPqAMCT0LjvU+lCAUP8hckD7QdVU9Uyf7Pl4zEz+LCNk+i4QOP++SMz7g4EE9sWbMPmPwAz/Tkis+bJwCPvVmzz7+qgY/G3QoPmDG3D0mWNI+x0UJP38UKT7gJLQ90P7HPqQo/j7rDjs+zEYlPrGjxj4scfg+h+lKPuBAND4cT5I+3DMNPhSOCT84SxA/9OeUPkAR3D3cIAU/NkcRP1oWlD5g45w9/9oAP3hbEj/H2V0+FFc9Pj9lxj6M/PI+yyrOPlkoFz/Ilt0+a4wcP4528D5i9SM/N8O9Ptb9Cj/p6sA+lMQNP4uryD4a3xM/i2e2PuCsAj9yLWc+gUELP+3atz7wdAU/ZsywPpASrj7J9f4+jHEqP7R/oz4cPaw+/O6QPmhXqj7n+aA+kLi8PiEAAj/5txw/ag2fPuCoxD70bgY/KjUbPzmFlz4Ee9k+qo4RPzQQGz/jQZ0+V/0JPzK7oz4WcRA/M/+vPijNGj/HzJA+9BnmPrhPpz64jxM/sW2ZPj7mBj8PCLc+yI8eP2MMkj50Bu0+mwnXPkYAIT/plRA/ZJUVPxRkuD6saes+sjQXP0ZgFj+6/AU/5BwXP6hyAT++cxg/Of3lPhKnHT++Duk+9J8UP1eRbD6A5VI8Cd/xPiT3HD+X7ns+mOk5Povpxj4oi+k+GswTP8QHED+w+0c+UEXfPthMbD5sPoU+A/ehPkYJPD+jJIo+oA2MPkAVtT7yDzg/y2KvPvATND8CUYM+CGSKPjZfrj642zg/Fau8PrgqKj/P0s0+KGAlP6qn4D7OAiM/VhCkPnzJ2T6CZRM/FBgjP0Pirj6gNMc+TMsIP4tkIj8ynrA+CJO/PslRBT/4ESQ/vpl4PigJiT4GmKg+ZMo6PwuToz7slvo+jB+LPuw7KD4Rww4/3xsQPxOdlj7ADv4+BnS0PgDu9T78+Zo+uO+gPrXU1j6DrS4/WDeaPkBKqz4mV3s+SLntPkgwhz50beU++9uHPtxf7T4hbpQ+BP27Phcmhj4IRMQ+DomEPjhaAD8Np4A+vInYPonBlz7s4hc/kCd7PvTA5D5W4oc+gEG7PiIWjD5gAtk+d3WiPh8kHz+/XIQ+/LkNPw2TjT6YYf8+qjiEPkhXCT9Rz5A+qtsLP8WZkj50dsQ+K9OOPsIeCD9i4ZQ+AhQUP0b4hT48l54+f9WGPox+qT5B7oQ+uNWTPiwEYj6IPo4+i8aVPigXJD85Cok+NvoWP3InqT4CwjA/rBucPn6AKD8oTIw+hRIbPxEKij5Siig/hpt3Puk3Gj+1X5E+uCMtP4QXbT7pzA8/c6F/PvyKHj/ktIo+7PJFPyFZgT71wkQ/3mOOPlYcPT9kd4I+ymM6P24LRT5oR2Q+nF2TPifgRz/zWTc+cAaWPjapXT76tzw/lQMhPqhghT7GHGk+RaNEP4gvXT5A5X8+J86bPp6nPz8zou89aN8tPv1Ggj4oIl0/T7XGPZiKPj417W4+9etbP1b0eD7D/lY//IiCPuaWVz/raYM+JNhVP5ZWeT52dlU/e7PUPZg4ST4KjWc+02dZP93NBD4QCDU+BuqHPoagWj8l94U+t4lRP6YlBD5gSGY+TjdlPt8GUD9SXHw+mZ9QP1yyHz6Ybkk+EqOOPiPwUj9iFTk+yLpuPsrSUz5U4oc+G5LhPRhUMD5VG38+R09eP9Uh8T34qzc+vmcXPgDAUj6r3gs+SONdPnWf3D3oWj8++8HPPUhEOT5OYHI+455dP66YST7UZ5c++y8pPkx4gD5AKoE+sgBdP8pEcT4+LVw/cn95PoRKVz9N6IE+Ku1XP+9Tfj7fw10/koNzPs8oXT837x4+cAk4PwoZFj4wtDM/mhNDPuaNKT/fsAM+5NSSPjIcJz4e8zs/55kdPrp5JT+T5h0+8LW2Pr8r5D2kz6w+WNQFPlZJLz96bzQ+3LuYPvcrWD7dMDw/i6+6PZrEQT837wk99CyIPudMnz1lmUU/PRjMPOQFlz4rdYM93A5APzeYrT08vj4/XwkBPRDqhz7PX5s9wzBFP130tTyAK5Y+73yFPefZQD+tj6o9rls/P9lVtT0G/kE/w83pPVTtPj/bf4w9EDWhPrFevD3HwTY/fb7YPS6kOj9vSKQ90OSMPtUi9j0NG0I/bzBVPTwYiT7l6MA9H1NFP3tetD3M4j0/t5siPRxEmz5tN5A9RkQ8P5smxT34MUE/44H+PRSHmT5u+0E+xF2hPi3b6zxYk4w+PRbWPIxfjD45S4k9/RFFP9uInj24ApM+1yY1Pdzmjj5bepM9qEebPoflKD0YLJU+fbC7PIwlkj53CX09p29CP7US8T1006Q+3W/VPERKkj7/TZc9o/tEPxEyhj1WOUE/D+inPXLlPz//ubM9b/lBPxNYiT0pi0Q/m/qAPTCgQj84wDA+8rUdP5eBMj5kmRU/2VoZPvaFDD9dzCU+uNrWPrlbHD50/rg+y1YePuRQJD9aF0Q8fHjCPm175TyQjB4/GmFiPGRs0D4NX+Y8eq8ZP/dqQj0IFho/50xHPXAIHT+Vsus9qIDWPkeK8D3+4RI/M774PVXCFz/rA+49lA+7PrMV/T0osCA/Iez9PTTfGz8dK5w9tO4cP6G7iD1069I+pc+RPfi0FD+LW5k9EK8YP9klhz0I4b0+T2OaPWRAIT/nbhY9vHa/Pl9/RD1yRiE/13BnPViaGT+PmRQ91GvSPpfDMD1+ihY/hzJwPXIEHT+XPyk+YAe+PvqUNTzMpcY+Dcy1PDKGHT+ZfPI9ZIrCPqcliz2Y3MQ+z+kOPXh2xT5H+Is9EHrNPit59T3IGM8+38sKPfglzD6any48lNHLPn3NrzwPExs/r8wyPnAp0j7tBPU8DBseP62g6DxpQho/r+k+PfJEGj9X3UA9RP8cP31HxjyENB0/jYrCPFJUGz+32/49OIYBP3bLQT730wc/n25FPl4VAz8n0PE9zbcFP+/T/j0wXeI+a4CmPezq/T4/5q89ZKr2Pm1cwD2koPk+SS68PYAT/j6HlrQ9SvQBP/lMvT305+Y+IRbOPfhB+j57TsQ9OO70Pu87yj0Qm/8+Y0+gPQBE+z656Ls9HKLsPuftvT0E+vA+RzGmPfiA9z7acQI+6GTvPu3Jpj3sHP0+tZyvPWR49z4LI749OH/5PvFVuj2wyv0+8UqjPbwW+z6hqKc9JPH3Ppln4z0oDvU+HULdPZBrAD8ruOI9NIf7PjPMzj1A3gM/VUXbPSi85D6heN49NFLqPvfn4T3sJ/A+kzfTPjq7Qj9vYN4+QHVCPwFVsT4YNmo+IZLnPvC+Qj+/2pk+qEVpPu5zxz7JqkM/f0ytPsijLT7PN+E+VKRPP2BanD4oii0+xabUPswpTz+6TdY+2uVKP4X93j6OZEo/M8WvPhiMTT6xv+c+O3xJP6c1mj4wRk0+1EzLPg7XST8iVdQ+ktlHP3PR3j4+Q0c/0l/ePizWQz9HzJk+qEJjPk9ByD7pFEU/E0bTPvg7RD+w6LA+yFJjPhzX5z6oa0Q/pyqrPog/aj7qv6k+oGIrPt4M3z4s4lA/x/KpPqAoTT5ESKo+mMpiPs6qnT6oyWM+3BSgPnjFKz6eEdY+ccRQP9vsnT6gnE0+fqKcPiCUaj7XAuA+kZZPPxru1T6L0E4/LITWPtARSz9d9N4+CphKPyjb3T6fTVA/2c3WPqrTTz8M33M+UJA5Py5qYj4mqTY/EfPjPkAbLj/XjKU+rMSZPlW9kD6s8JM+XbbJPsA/Lz950rE+0IR6PiKy5z7O2z4/pq3ePojxPj8cU9I+8qI+PxDImD545Xs+Y+TEPlhgPz8n0qs+SCd+PhTdnD44HH0+U+ixPnwiiD61buk+FKo5P+1k4D6WCzg/opvOPoEvOD8ofZY+wDSIPiKivz5sNTs/pf2rPhgYiD75QZs+NGOIPu9MsT6IN4w+R/bqPmDoNz/DDOE+wkY1P+MVzT5uzjU/m+CUPuTRij5ijb0+iCQ6PzgGrD74coo+CvqZPoDXiz6CrK8+HKSSPl397j5nVDU/T9nhPvqzMT/AiMw+2PsyP1B2kD4wIYw+ne26PiJ8OD9pIac+zAqSPldmlj4QlI8+meajPuBpaj6hpdo+NKVKP87voz6gYk0+FyWbPqzalj6gV6Q+wKF9PiEAoz48JYs+S5PZPmiORz/fw54+bM+QPv3L2D49mEI/9dLYPhMJRD9IgNc+jB04P7+MXT+wZAs+QbzaPuzUSj+K+aM+GEpjPgMx1z7oVzI/WBHXPpiKNT+BVNo+oRBQP2KA2D4+yj4/d/jaPpAzTz/Tn6M+qD2IPmbqpD4IlCs+Q4/aPk/TUD9/594+5NNIPwRImz4waD0+yvnPPmuATD9X2ak+oEU8PnFR1T64X0k/3IiuPgCYPT7Ae+Q+SJBMP9oAnz4QsTw+FW2kPlh7PD55HNo+0RlJP1GFzj3oRJY+JjwBPjAsNz9vRsI9jA2gPg3rCT5eezs/yVW4PVACpz63A+Q9kAUzPxHV1T3c3I8+zRYRPhYHPz8BVog+UL5LP1mHGj7oaW8+p5QSPtCEeD4EKmc+ElVKP02Hfz5FsUo/mD4oPli9YD7pXjI++NpWPlMAkT4maE0/KTe6PQy21D7xLME9ecsTP7G4wD1wSc4+mQvNPfRmHD/lDMk9sjgYPxfRvj2As8M+75S6PUh4vD5nvMs9RvggP/cO7j3k+AA/6WXzPWjG7z7ncfQ9iAf1Pj9O4D0EywQ/mQztPayM4z79UvQ9fKb8Pnsl8T30zek+JXrXPaYPQD9/jsY9fEM8P4/NXT2YPJ4+GUumPQiDOT8P7Wc95DmYPktwhz2I/oo+24XbPRa3Qz9DHHk9yPSQPkUiij2S+Rw/p5pSPYgpxT75iYY9syQZP68IUz2kq9I+fzFqPbyfFT83XlE9BNDMPmddUj3cq74+/6J8PWxDIT+IsIQ+77BTP3jZej4IC1M/W3/uPXjAVz4sYmY+WbdUP2Uu+j0Qn04+JEASPlA7Pz6QRos+U8hWP1X8Bz7oNUU+EnxGPzAIKj1G6VQ/EOkZPfh9Uj+4ydg91qZJP0Ar2j0kDEk/IBnqPBRDUj+gH948un4xP2Dwtj2FHSM/YGm8PReGJT8AshA9/uotP0BA+TzJjy0/0BTbPSJLJj+Qytw9uNINP3AvsT2BEQE/YJSjPamuBD+AVKs8YpwNP8DA4Ty9yAk/MH/RPYaeAz9g/sg9dFl3P9i7zD3nR20/IFLIPXqYbj/g9ZE9ReF1P5gajD2WmnQ/MDbgPaEPbz+4gd899DNoP1zyRT5QPFc/dPFDPnCtVj/A+RE+DmxkP6DPBD5K72Q/0CZRPoIXWT8Mm1A+QkhnPygJRT6az20/WIDHPe68AT94taE9TNIjP6gAuT1YKlQ/wEUiPUNXZD/EHk8+Zt92Pxh5yz2fNw0/OPStPXYuRz8gyDA9YsMwP8ATtD3CaW8/YF7cPaUIBD+oYcM9jK4mP/Ak1j34x1E/4Gr3PNJmdD/QAN09CpUJP8gIyz0jOS0/8JrUPex8ST/gGAE9qa5ZP/igTj78Alg/jDtDPmYDXz/w4FA+9gJfP+DfTj6fpV8/WCJEPk3fMz4Mnts+9vYCPrjF/T4svgI+4AD1Pl3WDj4IWwg/C38WPvRx3j76dR4+xngAP8ODGz43uwM/dgMdPtAJ9T4q6QE+rEnpPm3iGj6oluY+C6YcPvQS7T6x6DU+jhUlP+v+OT6wgQs/xWUOPijw5z7xiw8+8DvuPtrgDz5cBfU+fbYQPqBb/z7XeA0+uKACPzvfAz5qCQc/efQKPpBn4D6HOTg+yM0GP/5WLD6w7N4+wdw0PkiY8z4lezE+TN/pPuMcNz60HwI/kyaHPgSkTj8CMxM+mKZmPiZdCz6YZm8+qTBmPvgtTT/Q8X0+b6hNPyvTHz6svlk+oggpPsgkUD6y0Y8+JCxQPxaHtj3Qo5Q+ZJvtPS/oOD9l4Ko9mqqdPtJqoj2wG6Q+NDHQPazjND/u0f49WTQ9P8AOvT3WYI4+HBQGPhKRQD9leaE9wNDTPkt+qT05QBQ/fFimPcDhzT44NLE94XMYP1/7pD0MSMQ+ZN2gPagsvT7bD7M9VRwhP1ubtD3Uqhw/CwYMAAsQDAYVFAAAFRARABUQEQAVEBYAEBUPABALEQAGBQcLBgULAAsGBQoLEAoFEAsPFRAVDwsVEBQAFRAUAAYFBwAVFAAABgUAAAYFCwoFBgAABQYLCgsKBgALCg8QBQsKBgoPBQsQDwsKEA8VCw8KFRAVEBQPFQ8UEBUUDwAVFAAAFRQQAAYFAAAUFQ8ABgUAAA8QCwoGCwUKBQYAAAECAAABAgAAAQIFAAECAAABAgAAAQIFAAUBAgoPEBUAAQUCAAEFAgALCg8QBQoAAA8UCgAKDwUACgUPAA8KAAAPFAAAFAAAABQAAAAUAAAAFAAAAAUKAAALCgYFCgAPBQoADwUFCgEABQoBAAEFAAoBBQAKAQAFCgEABQoBAAUUAQAFFAoFAA8KBQAPDxQACg8UAAoPABQKDwAUCgAPCgUADwoFFA8AChQPAAoUDwAAFA8AAAAUAQ8AFAEPAAEUDwABFA8AARQFAAEUBRQADwAUAA8ABQoBAAUBCgABBQAADwoUAAoPBQAKBQ8AFA8AAA8VFBAPFAoAAQAAAAEAAAABBQACBQEKAgABChQBABQAABQPAQABFAAUAA8AFAABAA8UCgAPCgAACgUPABQAAAAKDwUADxQAAAUKAAAUAAAABQEAABQAAQAUAAAAFAAAAAABFAAAARQABQEAAAEFCgABBQoAAQUAABQADwEUAA8BFAAPARUQFAAGBQAABgUAAAUCAQYFAgEGBQIGAQUGAgEFBgIBBQECCgUBAgABBQIAFAAPABQADwAAFAEAABQBAAABFAAAARQABQYAAAUGAAAUDwAAABQBDwAUAQ8UDwAAFA8AAAEFAgACAQUABQEAAhQVAAAUFQ8AFBUAAAoABQ8PChQFFA8AABQPFQoKDwUAFBUPAAoPBRQUDwAKCgUPAA8UCgAUDwAADxQVAA8UCgAPABQKDxQAAA8KAAAFAgEKBQoBDwUCBgEGBQAACgUPAA8KAAAFBgoABQoGAAoPBQAKBQsGDwoQCwUKBgsPEBUKCg8LBQcGAAAHBgAABgcAAAYLBwAHBgAABwYAAAYLBwwGCwcMBgcAAAYHAAAGBwUABgcFAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgHAAAIBwAACAAAAAgAAAAIAAAACAAAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcGAAAGBwUACAAAAAgAAAAIAAAABwgAAAcIAAAIAAAACAAAAAgAAAAGCwUABwYAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAwLAAAMCwAACwAAAAwLAAAMCwAACxAMEQsQDBEMCwAADAsAAAsGDAALBgwADQwAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANDAAADA0AAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAA0MAAANDAAADQAAAA0AAAANDAAADAsAAAsGBQwNAAAADQAAAA0AAAAMDQAADQAAAAwNAAANAAAADQAAAA0AAAAMCwAADQAAAA0AAAANAAAADQAAAA0MAAANAAAADQAAABALEQAQERUAEBURABAVEQAQCxEMEAsRDBIAAAASAAAAEgAAABIAAAASAAAAEgAAABEQAAAREAAAEQAAABEQCwAREAsAERAAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABALERUSAAAAEgAAABEQAAASEQAAEgAAABIRAAAREAAAEgAAABIAAAASAAAAEBURCxIAAAASAAAAEgAAABIAAAASAAAAEgAAABYAAAAVEA8UFRQAABYXFQAWFxUAFwAAABcAAAAXAAAAFwAAABcWAAAXFgAAFxYAABcAAAAXFgAAFwAAABcAAAAXAAAAFwAAABYXFQAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAgMAAAMAAAADAAAAAwIAAAMCAAADAgAAAwAAAAMAAAADAgAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAYLAAALBgwKAQIFAAIBBQAFAgEAAQIFAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgAAAAIAAAACAQAAAgEFAAIFAQACBQEAAgAAAAIFAQACAQAAAgEAAAIBAAACAQUAAgUBAAIFAQACAQAAAgUBAAIBAAACAQAAAgEAAAIBBQACBQEAAgUBAAIBAAACBQEAAgMAAAMAAAADAgAAAgUBAAIDAAACAQAAAwIAAAIBBQACAwAAAwIAAAIBAAADAAAAAwAAAAMCAAACAQUAAgEAAAMAAAACAwAAAwAAAAIAAAADAAAAAwAAAAMCAAADAAAAAwAAAAMAAAADAgAAAwAAAAMAAAADAAAAAwAAAAMAAAAMAAAADAAAAAwAAAAMAAAA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LQBmAGgAXwCBAH0AXwB9AGsAMACOAHgAMAB4AI8AbACSAJAAbACQAG4AcwBuAJAAcwCQADsAFQHpAAkAFQEJAAoAJwC5AIoAUQJQAQ0AUQINAA4ACwAMAEUBCwBFAQEAcAB1ADgAcAA4ADQAEQCFACAANgAzAHYANgB2AHIApAGJAIoAXwBrAJUAXwCVAGcAnQAuAKMBnQCjAcgBKgAwAI8AKgCPAF8AegCDAFwAegBcAJwAWgB9AEgAWAB8AH0AWAB9AFoAWABWAHwAXgB/AEQAXgBEAH4ANgBiAF0ANgBdADMAYQA1ADcAYQA3AGAANAA3AHEANABxAHAAZQA0ADgAZQA4AGMAfgBEAEYAfgBGAIEAeQCaAIQAeQCEAHsAIQAgAIUAFQAJACQAFQAkALYAlwCHACIAlwAiACcAHQAhAIUAjACKAIkAMQCkAYoAmAA5AHoAmAB6AJwAMQAwAJ4AjQAxAIoAdwBzADsAbwB5AHsAbwB7ADoAawB9AHwAawB8AG0AjwB+AIEAjwCBAF8AeABeAH4AeAB+AI8AbQB8AHkAbQB5AG8AagCUAJIAagCSAGwADAANAFABDABQAUUBagBoAGYAagBmAJQACwAKABgACwAYABkAFgAXADIAFgAyAD4AlgAUALYAlgC2ABAAMwB4AI4AMwCOAHYAjgCNAD0AjgA9AHYALQCiASgALQAoACsAYgBJAEEAYgBBAF0ASQBiAD8ATwBhAGAATwBgAE0AggCZAFIAggBSAFQATgBMAFUATgBVAFcAVABbAIIAhgAQAOAAhgDgAMsARQBDAEIARQBCAEoAWQBQAE4AWQBOAFcAQwCAAEIAIwAfAFkBPgCgAQAAPgAAABYAXQJYAR4AXQIeAGQAnABcAFMANABlAGAANABgADcALAAqAF8ALABfAGcAHAAdAA0AHAANAAwAagBsALAAagCwAKMArAC/AGQArABkAK4AdQCxAK0AdQCtAJsApgCoACEApgAhAB0AUABZAEcARwBFAEoASgBAAFAARwBKAFAALQCdAMgBLQDIAaIBLgCdAJ8ALgCfAGkApAExAJ4AoQEwACoAMQCNAI4AMQCOADAAngAwAKEBqgChAKgAqgCoAKYAJgC+ACcAJgAnACIALwC/AL0ALwC9ACUAowCwAKQAowCkAKkAqgCmAKQAqgCkALAAoQCiAKAAoQCgAKgAMgDAALwAMgC8AD4AIwAgAKAAIwCgAKUArwCyALgArwC4AKwAdAByAKsAdACrAKcAsQCuAKUAsQClAK0AswC1AKMBswCjAS4AbgCqALAAbgCwAGwAcwB3AKIAcwCiAKEAuwC3ALwAuwC8AMAAcABxALIAcACyAK8AsgBxAHQAsgB0AKcAPgC8AL4APgC+ACYAGQAYALQAGQC0AKkArwCxAHUArwB1AHAAIwClAK4AIwCuAGQAqwC3ALsAqwC7AKcApQCgAKIApQCiAK0AuQAnAL4AuQC+ALoAtgAkABAAiwC1ABQAiwAUAJYAJAAIABAAtgAUABUAvwCsALgAvwC4AL0AugC3AKsAugCrAD0AigC5AI0AuQC6AD0AuQA9AI0AuwC4ALIAuwCyAKcAvAC3ALoAvAC6AL4AvQC4ALsAvQC7AMAAvwAvAGQAvQDAADIAvQAyACUAbALaAOUAbALlAGsC7QDuAOsA7QDrAOwAyACfAcIAyADCAMoA4gDoAPAA4gDwAO8A0QDSAO4A0QDuAO0AYgFkAV8BYgFfAV4B0ADRAO0A0ADtAOwAAAEBAQYBAAEGAQUB0gDRANQA0gDUANMAAQJbAVkCAQJZAgMCbgLcANsAbgLbAG0C1gDUANEA1gDRANAAVQFRAS4BVQEuAUcBGwIYAuYAGwLmAOMAFwECAf0AFwH9ABYBDQJKAT8BDQI/ARIC3wDgAOkA3wDpAOoANQE0ASkBNQEpAQYAcwILAQoBcwIKAXYCxADDAMEAxADBAMIA9wD4AB8B9wAfAQEAgAI+ATkBgAI5AYECMQFTAVIBMQFSATAB7wDrAM4A7wDOAOIA0gDOAOsA0gDrAO4AwwDMAMYAwwDGAMEAxADCAJ8BDwJCAU0BDwJNAREC8gHfAOoA8gHqAO4BdQIJARsBdQIbAXQC+wD1AKABGAEeASYBGAEmASUBBgEHASQBBgEkASMB+wE2AUgB+wFIAfoB5gHyAPEA5gHxAOgBeQINAQgBeQIIAXcCaAFdAWsBaAFrAW8B/AD+AAcB/gADAQcBJQEhAQMBJQEDARgBBwEDASEBBwEhASQBTwEwAVIBTwFSAVYB/gD8ABMB/gATAQ8BFwEWASABFwEgAR0BBQIQARIBBQISAQcCCQIMARkBCQIZAQsC8wHFAN8A8wHfAPIBFAEVAQEAFAEBAB8BBAIFAgsBBAILAQgBMgEuAVEBMgFRAVQB8wAAAPEA8wDxAPIAbAFtAWoBbAFqAWsB9gBcAvkAXAFhAWYBXAFmAWUBdAF1AWYBdAFmAWEBFgEaARwBFgEcASABEAETAfwAEAH8AAEB7wDwAOwA7wDsAOsAUwFUAVEBUwFRAVIBEQH/ACABEQEgARwB/wH+AWkB/wFpAVMCDAITAkABDAJAAUQBDQJJAUsBDQJLARECcQFzAWABcQFgAWQBCwIZARsBCwIbAQgCRgFKAU0BRgFNAU4BUAFMAUgBUAFIAUUBFwIVAtQAFwLUANYABAEdASABBAEgAf8AMQEwAUMBMQFDAUEBbgFvAWsBbgFrAWoBMgExAUEBMgFBAUQBNgErAUUBNgFFAUgBVgFSAVEBVgFRAVUBxwDJAOoAxwDqAOkA+AH5ATUB+AE1ATgBXAFfAWQBXAFkAWAB/AAHAQYB/AAGAQEBEgEQAQEBEgEBAQABAgL/AVMCAgJTAlIC3wDFAMsA3wDLAOAA+gFIAUwB+gFMAfcBKAEnATgBKAE4ATUB/QFXAVoB/QFaAQAC5wDmANUA5wDVAM8AZQFoAW8BZQFvAW4BGQLdAOQAGQLkABsCZQFmAWcBZQFnAWgB/QAOARoB/QAaARYBYgFeAV0BYgFdAWMBGAIWAtUAGALVAOYA1wDjAOEA1wDhAM0AXwFcAWoBXwFqAW0B/QECAlIC/QFSAlcBXgFsAWsBXgFrAV0BegI6AUsBegJLAXwCZgF1AXYBZgF2AWcBIwEkASEBIwEhASIBJQEmASIBJQEiASEBTgFNAUIBTgFCAS8BBgEjASIBBgEiAQUBpAHAAcIBpAHCAYkAtwG2Aa4BtwGuAa8B3wHdAYYB3wGGAYcBwAG4AboBwAG6AcIBpQGrAY8BpQGPAXkB0gGUAZcB0gGXAccBkgGDAY0BkgGNAZMB5AHbAYIB5AGCAcYBhQGXAZQBhQGUAYoB4gHcAX8B4gF/AZUB0gHFAZgB0gGYAZQB4AHeAZAB4AGQAX0BywHOAYkBywGJAYgB1wHRAZwB1wGcAZkB2AGzAbsB2AG7AcoByAHMAcMByAHDAaIBrAGpAXsBrAF7AZgBrwGuAaYBrwGmAacBxgGCAZwBxgGcAdEBzgGMAXcBzgF3Ac0B1gHNAXcB1gF3AagBtgG3Ab8BtgG/Ab4BjwGTAY0BjwGNAXkB1AHPAbAB1AGwAbgB2gGWAZ4B2gGeAdUB2wGIAYQB2wGEAeEBewGKAZQBewGUAZgBxQHJAawBxQGsAZgBjgGEAYgBjgGIAYkBsAGoAaoBsAGqAbIBpgF6AXgBpgF4AacBqAF3AXwBqAF8AaoBlgGAAZoBlgGaAZ4BnQGZAX4BnQF+AZEBiwGMAYcBiwGHAYYBMwFMAVABMwFQASoBFQIUAtMAFQLTANQADgIMAkQBDgJEAUEBEAIOAkEBEAJBAUMB6ADQAOwA6ADsAPAAdgFwAWMBdgFjAWcB4QDjAOYA4QDmAOcALgEyAUQBLgFEAUABKAE1AQYACAIGAhEBCAIRARwB8wDyAPkA8wD5AFwCcgFxAWQBcgFkAWIBLQE/AUoBLQFKAUYBRwFPAVYBRwFWAVUBMQEyAVQBMQFUAVMBXgFfAW0BXgFtAWwBygG7AcMBygHDAcwBzwHWAagBzwGoAbABpQGtAbMBpQGzAasBngDTAcABngDAAaQByQHYAbQByQG0AawB1QGeAZoB1QGaAdcBswGtAbUBswG1AbsBKQC+Ab8BKQC/AaEBvAG5AbEBvAGxAbQBgAGBAZoBgQGbAZoBuwG1Ab0BuwG9AcMBtAGxAakBtAGpAawBxAHBAbkBxAG5AbwBegGOAYkBegGJAXgBFAH0APoAFAH6ABUBogHDAb0BogG9ASgA6wH0ABQB6wEUAeUBHgEFASIBHgEiASYBxAGjAYgAxAGIAMEB5QEUAR8B5QEfAecBggF+AZkBggGZAZwB/gF2AXUB/gF1AQMCAACgAfUAAAD1APEAuAGwAbIBuAGyAboB0wG/AbcB0wG3AdQBBwAsATcBagLZANwAagLcAG4CiwF8AXcBiwF3AYwBcgFiAWMBcgFjAXAB+QH2ATQB+QE0ATUBCgIEAggBCgIIAQ0B9AHtAcEA9AHBAMYAFALZAN4AFALeABoCzgDSANgA0gDTANgAbgFqAVwBbgFcAWUBaAFnAWMBaAFjAV0B4wHHAZcB4wGXAeIBJwEHADcBJwE3ATgB3gGSAccB3gHHAeMBwAHTAdQBwAHUAbgBnQHVAdcBnQHXAZkBqwGzAdgBqwHYAckBoQG/AdMBoQHTAZ4ArwGnAdYBrwHWAc8BvAHKAcwBvAHMAcQBjwGrAckBjwHJAcUBkQHaAdUBkQHVAZ0BtwGvAc8BtwHPAdQBpwF4Ac0BpwHNAdYBiQHOAc0BiQHNAXgBgQHGAdEBgQHRAZsBowHEAcwBowHMAcgBtAHYAcoBtAHKAbwBmgGbAdEBmgHRAdcBhwGMAc4BhwHOAcsBkwGPAcUBkwHFAdIB3wHkAcYB3wHGAYEBkwHSAccBkwHHAZIBhwHLAeQBhwHkAd8BkAHeAeMBkAHjAdkB2QHjAeIB2QHiAZUBggHbAeEBggHhAX4BgwGSAd4BgwHeAeABlwGFAdwBlwHcAeIBywGIAdsBywHbAeQBgQGAAd0BgQHdAd8BcgLlAecBcgLnAXQCeALrAeUBeALlAXIC9QDsAegB9QDoAfEAcwLmAegBcwLoAXcC+ADpAecB+ADnAR8B8gDmAeoB8gDqAfkAcQJqAu0BcQLtAfQBwQDtAfEBwQDxAcIAcALzAfIBcALyAW8CbwLyAe4BbwLuAWsCwgDxAfABwgDwAcoAyQDvAe4ByQDuAeoAfQJ7AvYBfQL2AfkBMwH1AfcBMwH3AUwBfgL6AfcBfgL3AXwCgQJ9AvkBgQL5AfgBfwL7AfoBfwL6AX4CNwH8AfgBNwH4ATgBaQH+AQMCaQEDAlkCcQFyAQICcQECAv0BcQH9AQACcQEAAnMBcgFwAf8BcgH/AQICcAF2Af4BcAH+Af8BdAEBAgMCdAEDAnUBDwETAQQCDwEEAgoCGwEJAQYCGwEGAggCGgELAggCGgEIAhwBEwEQAQUCEwEFAgQCDgEJAgsCDgELAhoBCwEFAgcCCwEHAgoBOwE8AQ4COwEOAhACPAE5AQwCPAEMAg4CSgENAhECSgERAk0BOQE+ARMCOQETAgwCOgEPAhECOgERAksBSQENAhICSQESAj0B0wAUAhoC0wAaAtgA3ADZABQC3AAUAhUC5QDaABYC5QAWAhgC1wAZAhsC1wAbAuMA2wDcABUC2wAVAhcC5ADlABgC5AAYAhsCIQIdAj4CIQI+AkcCTgI5AkwCTgJMAk8CIwIkAj0CMwIvAjsCMwI7AkQCUALQATcCUAI3AjoCRAI7AkACRAJAAkgCPQIkAiUCPQIlAkMCLgIyAkgCLgJIAkACLwIwAjsCHQIeAj4CMQJAAjsCMQI7AjACMgIzAkQCMgJEAkgCKAIsAkkCKAJJAkECRQI8AkECRQJBAkkCNwI0AjoCLQIpAjwCLQI8AkUCIgImAkoC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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import new file mode 100644 index 0000000..40d4e92 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c4nba0qpi0uls" +path="res://.godot/imported/Hand_Nails_low_L.gltf-60d8096917582bfe1d760ff1ad173fc8.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" +dest_files=["res://.godot/imported/Hand_Nails_low_L.gltf-60d8096917582bfe1d760ff1ad173fc8.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf b/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf new file mode 100644 index 0000000..6449b5a --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_R", + "rotation" : [ + -0.07576872408390045, + 0.019257033243775368, + 0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + 2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_R", + "rotation" : [ + 0.05564067140221596, + -0.010326135903596878, + -0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + 2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_R", + "rotation" : [ + -0.04595031589269638, + 0.027135659009218216, + 0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_R", + "rotation" : [ + 0.3235369920730591, + 2.565749491623137e-05, + 0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + -0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_R", + "rotation" : [ + -0.052288394421339035, + 0.0005572127993218601, + -0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_R", + "rotation" : [ + 0.014225997030735016, + 0.011990753002464771, + 0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_R", + "rotation" : [ + -0.013683199882507324, + 0.024668212980031967, + 0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_R", + "rotation" : [ + 0.11122288554906845, + 0.0027781203389167786, + -0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_R", + "rotation" : [ + -0.0005887771840207279, + -2.10358793992782e-05, + -0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_R", + "rotation" : [ + 0.013688242062926292, + -7.99239132902585e-05, + -0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_R", + "rotation" : [ + -0.013931511901319027, + 0.00014242221368476748, + 0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + -5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_R", + "rotation" : [ + 0.03945539891719818, + -0.004928736016154289, + 0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + -1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_R", + "rotation" : [ + -0.01194659061729908, + -0.000966736872214824, + 0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + 7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_R", + "rotation" : [ + -0.03585463762283325, + -4.2005005525425076e-05, + -0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_R", + "rotation" : [ + 0.03305169194936752, + 0.006719753611832857, + -0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + -5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_R", + "rotation" : [ + -0.011351789347827435, + -0.012621401809155941, + 0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + 2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_R", + "rotation" : [ + 0.01732625439763069, + -0.01860846020281315, + 0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_R", + "rotation" : [ + -0.05105672776699066, + 0.002022986998781562, + -0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_R", + "rotation" : [ + -0.07119493186473846, + -1.573348527017515e-05, + -0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_R", + "rotation" : [ + 0.015836291015148163, + 0.01933973841369152, + -0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_R", + "rotation" : [ + -0.018054774031043053, + -0.011455277912318707, + 0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + -2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_R", + "rotation" : [ + 0.044925764203071594, + -0.03280799090862274, + 0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + 4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_R", + "rotation" : [ + -0.08928601443767548, + -0.003168066032230854, + 0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_R", + "rotation" : [ + -0.09176954627037048, + -2.456200854794588e-05, + -0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_R", + "rotation" : [ + 0.7065238952636719, + 6.479929197666934e-06, + 8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + -0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_R", + "rotation" : [ + -0.7065169215202332, + -6.472751010733191e-06, + -6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Hand_Nails_low_R", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Hand_Nails_low_R", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 642, + "max" : [ + 0.02935672551393509, + 0.09175886958837509, + 0.02576880156993866 + ], + "min" : [ + -0.03574008867144585, + -0.06838366389274597, + -0.18577708303928375 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 642, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 642, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 642, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 642, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 3018, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 7704, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 7704, + "byteOffset" : 7704 + }, + { + "buffer" : 0, + "byteLength" : 5136, + "byteOffset" : 15408 + }, + { + "buffer" : 0, + "byteLength" : 2568, + "byteOffset" : 20544 + }, + { + "buffer" : 0, + "byteLength" : 10272, + "byteOffset" : 23112 + }, + { + "buffer" : 0, + "byteLength" : 6036, + "byteOffset" : 33384 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 39420 + } + ], + "buffers" : [ + { + "byteLength" : 41084, + "uri" : "data:application/octet-stream;base64,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BQYAAAECAAABAgAAAQIFAAECAAABAgAAAQIFAAUBAgoPEBUAAQUCAAEFAgALCg8QBQoAAA8UCgAKDwUACgUPAA8KFAAUDwAAFAAAABQAAAAUAAAAFAAAAAUKAAAKCwYFCgAPBQoADwUFCgEABQoBAAEFAAoBBQAKAQAFCgEABQoBAAUUAQAFFAoFAAEKBQABDxQACg8UAAoPABQKDwAUCgAPCgUADwoFFA8AABQPAAAUDwAAFA8AAAAUAQ8AFAEPAAEUDwABFA8BABQAAQAUABQADwAUAA8ABQoBAAUBCgABAAAADwoUAAoPBQAKBQ8AFA8AAA8VFBAPFAoAAQACAAEAAgABBQACBQEKAgABChQBABQAABQBDwABFAAUAA8AFAABAA8UCgAPChQACgUPABQAAAAKDwUAFA8AAAUKAAAUAAAABQEAABQAAQAUAAAAFAAAAAABFAAAARQAAQUAAAEFCgABBQoAAQAFABQADwEUAA8BFAAPARUQFA8GBQAABgUAAAUCAQYFAgEGBQIGAQUGAgEFBgIBBQECCgUBAgABBQIAFAABDxQAAQ8AARQAAAEUAAEAFAABABQABQYAAAUGAAAUDwAAABQBDwAUAQ8UAAAAFA8AAAEFAgoCAQUABQECABQVAAAUFQ8AFBUAAAoABQ8PChQFFA8AABQPFQoKDwUAFBUPAAoPBRQUDwAKCgUPAA8UCgAUDwAADxQVAA8UCgAPFAAKFA8AAA8KFAAFAgEGBQoBDwUCBgEGBQAACgUPAA8KAAAFBgoABQoGAAoPBQAKBQsGDwoQCwUKBgsPEBUUCg8LAAcGAAAHBgAABgcAAAYLBwAHBgAABwYAAAYLBwwGCwcMBgcAAAYHAAAGBwUABgcFAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgHAAAIBwAACAAAAAgAAAAIAAAACAAAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcGAAAGBwUACAAAAAgAAAAIAAAABwgAAAcIAAAIAAAACAAAAAgAAAAGCwUABwYAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAwLAAAMAAAACwwAAAwLAAAMCwAACxAMEQsQDBEMCwAADAsAAAsGDAULBgwFDQwAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANDAAADA0AAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAA0MAAANDAAADQAAAA0AAAANDAAADAsAAAsGBQwNAAAADQAAAA0AAAAMDQAADQAAAAwNAAANAAAADQAAAA0AAAAMCwAADQAAAA0AAAANAAAADQAAAA0MAAANAAAADQAAABALEQAQERUAEBURABAVEQAQCxEMEAsRDBIAAAASAAAAEgAAABIAAAASAAAAEgAAABEQAAAREAAAEQAAABEQCwAREAsAEQAAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABALERUSAAAAEgAAABEQAAASEQAAEgAAABIRAAAREAAAEgAAABIAAAASAAAAEBURCxIAAAASAAAAEgAAABIAAAASAAAAEgAAABYAAAAVEA8UFRQAABYXFQAWFxUAFwAAABcAAAAXAAAAFwAAABcWAAAXFgAAFxYAABcAAAAXFgAAFwAAABcAAAAXAAAAFwAAABYXFQAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAgMAAAMAAAADAAAAAwIAAAMCAAADAgAAAwAAAAMAAAADAgAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAYLAAALBgwKAQIAAAIBBQAFAgEAAQIFAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgAAAAIAAAACAQAAAgEFAAIFAQACBQEAAgAAAAIFAQACAQAAAgEAAAIBAAACAQUAAgUBAAIFAQACAQAAAgUBAAIBAAACAQAAAgEAAAIBBQACBQEAAgUBAAIBAAACBQEAAgMAAAMAAAADAgAAAgUBAAIDAAACAQAAAwIAAAIBBQACAwAAAwIAAAIBAAADAAAAAwAAAAMCAAACAQUAAgEAAAMAAAACAwAAAwAAAAIAAAADAAAAAwAAAAMCAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAMDQAADAAAAAwNAAAMAAAA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LQBnACwAXwBrAH0AXwB9AIEAMACPAHgAMAB4AI4AbABuAJEAbACRAJMAcwA8AJEAcwCRAG4AFQEKAAkAFQEJAOkAJwCKALkAUQIOAA0AUQINAFABCwABAEUBCwBFAQwAcAA0ADgAcAA4AHUAEQAgAIUANgByAHYANgB2ADMApAGKAIgAXwBmAJQAXwCUAGsAnQDIAaMBnQCjAS4AKgBfAI8AKgCPADAAewCcAFsAewBbAIMAWQBHAH0AVwBZAH0AVwB9AHwAVwB8AFUAXgB+AEMAXgBDAIAANgAzAF0ANgBdAGIAYQBgADcAYQA3ADUANABwAHEANABxADcAZQBjADgAZQA4ADQAfgCBAEUAfgBFAEMAeQB6AIIAeQCCAJkAIQCFACAAFQC2ACQAFQAkAAkAlgAnACIAlgAiAIYAHQCFACEAiwCIAIoAMQCKAKQBmACcAHsAmAB7ADoAMQCeADAAjQCKADEAdwA8AHMAbwA5AHoAbwB6AHkAawBtAHwAawB8AH0AjwBfAIEAjwCBAH4AeACPAH4AeAB+AF4AbQBvAHkAbQB5AHwAagBsAJMAagCTAJUADABFAVABDABQAQ0AagCVAGcAagBnAGgACwAZABgACwAYAAoAFgA+ADIAFgAyABcAlwAQALYAlwC2ABQAMwB2AI4AMwCOAHgAjgB2AD0AjgA9AI0ALQAsACkALQApAKIBYgBdAEIAYgBCAEoASgBAAGIAUABOAGAAUABgAGEAhABTAFEAhABRAJoATQBYAFYATQBWAEsAUwCEAFwAhwDMAOAAhwDgABAARgBJAEEARgBBAEQAWgBYAE0AWgBNAE8ARABBAH8AIwBZAR8APgAWAAAAPgAAAKABXQJkAB4AXQIeAFgBnABUAFsANAA3AGAANABgAGUAKwBmAF8AKwBfACoAHAAMAA0AHAANAB0AagCjALAAagCwAGwArACuAGQArABkAL8AdQCbAK0AdQCtALEApgAdACEApgAhAKgASABaAE8ATwA/AEkASQBGAEgATwBJAEgALQCiAcgBLQDIAZ0ALgBpAJ8ALgCfAJ0ApAGeADEAoQEqADAAMQAwAI4AMQCOAI0AngChATAAqgCmAKgAqgCoAKEAJgAiACcAJgAnAL4ALwAlAL0ALwC9AL8AowCpAKQAowCkALAAqgCwAKQAqgCkAKYAoQCoAKAAoQCgAKIAMgA+ALwAMgC8AMAAIwClAKAAIwCgACAArwCsALgArwC4ALIAdACnAKsAdACrAHIAsQCtAKUAsQClAK4AswAuAKMBswCjAbUAbgBsALAAbgCwAKoAcwChAKIAcwCiAHcAuwDAALwAuwC8ALcAcACvALIAcACyAHEAsgCnAHQAsgB0AHEAPgAmAL4APgC+ALwAGQCpALQAGQC0ABgArwBwAHUArwB1ALEAIwBkAK4AIwCuAKUAqwCnALsAqwC7ALcApQCtAKIApQCiAKAAuQC6AL4AuQC+ACcAtgAQACQAjACXABQAjAAUALUAJAAQAAgAtgAVABQAvwC9ALgAvwC4AKwAugA9AKsAugCrALcAigCNALkAuQCNAD0AuQA9ALoAuwCnALIAuwCyALgAvAC+ALoAvAC6ALcAvQDAALsAvQC7ALgAvwBkAC8AvQAlADIAvQAyAMAAbQJrAuUAbQLlANsA7QDsAOsA7QDrAO4AyADKAMIAyADCAJ8B4QDvAPAA4QDwAOcA0QDtAO4A0QDuANIAYgFeAV8BYgFfAWQBzwDsAO0AzwDtANEAAAEFAQYBAAEGAQEB0gDTANQA0gDUANEAAAIDAlkCAAJZAloBbgJsAtoAbgLaANwA1QDPANEA1QDRANQAVQFHAS4BVQEuAVEBGwLjAOYAGwLmABgCFwEWAf0AFwH9AAIBDQISAj8BDQI/AUoB3wDqAOkA3wDpAOAANQEGACoBNQEqATQBcwJ2AgoBcwIKAQsBxADCAMEAxADBAMMA9gABAB8B9gAfAfgAgAKBAjkBgAI5AT4BMQEwAVIBMQFSAVMB7wDhAM0A7wDNAOsA0gDuAOsA0gDrAM0AwwDBAMUAwwDFAMsAxACfAcIADwIRAk0BDwJNAUIB8gHuAeoA8gHqAN8AdQJ0AhsBdQIbAQkB+wCgAfUAGAElASYBGAEmAR4BBgEjASQBBgEkAQcB+wH6AUgB+wFIATYB5gHoAfEA5gHxAPIAeQJ3AggBeQIIAQ0BaAFvAWsBaAFrAV0B/AAHAf4ABwEDAf4AJQEYAQMBJQEDASEBBwEkASEBBwEhAQMBTwFWAVIBTwFSATAB/gAPARMB/gATAfwAFwEdASABFwEgARYBBQIHAhIBBQISARABCQILAhkBCQIZAQwB9AHyAd8A9AHfAMYAFAEfAQEAFAEBABUBBAIIAQsBBAILAQUCMgFUAVEBMgFRAS4B8wDyAPEA8wDxAAAAbAFrAWoBbAFqAW0B9wD5AFwCXAFlAWYBXAFmAWABcwFgAWYBcwFmAXUBFgEgARwBFgEcARoBEAEBAfwAEAH8ABMB7wDrAOwA7wDsAPAAUwFSAVEBUwFRAVQBEQEcASABEQEgAf8A/wFTAmkB/wFpAf4BDAJEAUABDAJAARMCDQIRAksBDQJLAUkBcQFkAWEBcQFhAXQBCwIIAhsBCwIbARkBRgFOAU0BRgFNAUoBUAFFAUgBUAFIAUwBFgLVANQAFgLUABUCBAH/ACABBAEgAR0BMQFBAUMBMQFDATABbgFqAWsBbgFrAW8BMgFEAUEBMgFBATEBNgFIAUUBNgFFASsBVgFVAVEBVgFRAVIBxwDpAOoAxwDqAMkA+AE4ATUB+AE1AfkBXAFhAWQBXAFkAV8B/AABAQYB/AAGAQcBEgEAAQEBEgEBARABAgJSAlMCAgJTAv8B3wDgAMwA3wDMAMYA+gH3AUwB+gFMAUgBKAE1ATgBKAE4AScB/QEBAlsB/QFbAVcB6ADQANYA6ADWAOYAZQFuAW8BZQFvAWgBGgIbAuQAGgLkAN4AZQFoAWcBZQFnAWYB/QAWARoB/QAaAQ4BYgFjAV0BYgFdAV4BGALmANYAGALWABcC2ADOAOIA2ADiAOMAXwFtAWoBXwFqAVwB/QFXAVIC/QFSAgICXgFdAWsBXgFrAWwBegJ8AksBegJLAToBZgFnAXYBZgF2AXUBIwEiASEBIwEhASQBJQEhASIBJQEiASYBTgEvAUIBTgFCAU0BBgEFASIBBgEiASMBpAGIAMEBpAHBAcABtwGvAa0BtwGtAbUB3wGHAYUB3wGFAdwBwAHBAbkBwAG5AbgBpgF6AY8BpgGPAasB0gHHAZcB0gGXAZQBkgGTAY4BkgGOAYQB5AHGAYIB5AGCAdsBhgGLAZQBhgGUAZcB4gGWAYAB4gGAAd0B0gGUAZgB0gGYAcUB4QF+AZEB4QGRAd4BywGIAYkBywGJAc4B1wGZAZwB1wGcAdAB2AHKAbsB2AG7AbMByAGiAcMByAHDAcwBrAGYAXwBrAF8AaoBrwGnAaUBrwGlAa0BxgHQAZwBxgGcAYIBzgHNAXcBzgF3AYwB1gGoAXcB1gF3Ac0BtQG9Ab8BtQG/AbcBjwF6AY4BjwGOAZMB1AG4AbAB1AGwAc8B2QHVAZ4B2QGeAZUB2wHgAYMB2wGDAYgBfAGYAZQBfAGUAYsBxQGYAawBxQGsAckBjQGJAYgBjQGIAYMBsAGxAakBsAGpAagBpQGnAXgBpQF4AXkBqAGpAXsBqAF7AXcBlQGeAZoBlQGaAX8BnQGQAX0BnQF9AZkBigGFAYcBigGHAYwBMwEpAVABMwFQAUwBFQLUANMAFQLTABQCDgJBAUQBDgJEAQwCEAJDAUEBEAJBAQ4C5wDwAOwA5wDsAM8AdgFnAWMBdgFjAXAB4gDoAOYA4gDmAOMALgFAAUQBLgFEATIBKAEGADUBCAIcAREBCAIRAQYC8wBcAvkA8wD5APIAcgFiAWQBcgFkAXEBLQFGAUoBLQFKAT8BRwFVAVYBRwFWAU8BMQFTAVQBMQFUATIBXgFsAW0BXgFtAV8BygHMAcMBygHDAbsBzwGwAagBzwGoAdYBpgGrAbMBpgGzAa4BngCkAcABngDAAdMByQGsAbQByQG0AdgB1QHXAZoB1QGaAZ4BswG7AbYBswG2Aa4BKAChAb8BKAC/Ab0BvAG0AbIBvAGyAboBfwGaAYEBmgGbAYEBuwHDAb4BuwG+AbYBtAGsAaoBtAGqAbIBxAG8AboBxAG6AcIBeQF4AYkBeQGJAY0BFAEVAfoAFAH6APQAogEpAL4BogG+AcMB6wHlARQB6wEUAfQAHgEmASIBHgEiAQUBxAHCAYkAxAGJAKMB5QHnAR8B5QEfARQBggGcAZkBggGZAX0B/gEDAnUB/gF1AXYBAADxAPUAAAD1AKABuAG5AbEBuAGxAbAB0wHUAbcB0wG3Ab8BBwA3ASwBagJuAtwAagLcANkAigGMAXcBigF3AXsBcgFwAWMBcgFjAWIB+QE1ATQB+QE0AfYBCgINAQgBCgIIAQQC8wHFAMEA8wHBAO0BFAIZAt0AFALdANkAzQDXANIA1wDTANIAbgFlAVwBbgFcAWoBaAFdAWMBaAFjAWcB4wHiAZcB4wGXAccBJwE4ATcBJwE3AQcA3gHjAccB3gHHAZIBwAG4AdQBwAHUAdMBnQGZAdcBnQHXAdUBqwHJAdgBqwHYAbMBoQGeANMBoQHTAb8BrwHPAdYBrwHWAacBvAHEAcwBvAHMAcoBjwHFAckBjwHJAasBkAGdAdUBkAHVAdkBtwHUAc8BtwHPAa8BpwHWAc0BpwHNAXgBiQF4Ac0BiQHNAc4BgQGbAdABgQHQAcYBowHIAcwBowHMAcQBtAG8AcoBtAHKAdgBmgHXAdABmgHQAZsBhwHLAc4BhwHOAYwBkwHSAcUBkwHFAY8B3wGBAcYB3wHGAeQBkwGSAccBkwHHAdIBhwHfAeQBhwHkAcsBkQHaAeMBkQHjAd4B2gGWAeIB2gHiAeMBggF9AeABggHgAdsBhAHhAd4BhAHeAZIBlwHiAd0BlwHdAYYBywHkAdsBywHbAYgBgQHfAdwBgQHcAX8BcgJ0AucBcgLnAeUBeAJyAuUBeALlAesB9QDxAOgB9QDoAewBcwJ3AugBcwLoAeYB+AAfAecB+ADnAekB8gD5AOoB8gDqAeYBcALzAe0BcALtAWoCwQDCAPEBwQDxAe0BcQJvAvIBcQLyAfQBbwJrAu4BbwLuAfIBwgDKAO8BwgDvAfEByQDqAO4ByQDuAfABfQL5AfYBfQL2AXsCMwFMAfcBMwH3AfUBfgJ8AvcBfgL3AfoBgQL4AfkBgQL5AX0CfwJ+AvoBfwL6AfsBNwE4AfgBNwH4AfwBaQFZAgMCaQEDAv4BcQH9AQICcQECAnIBcQF0AQECcQEBAv0BcgECAv8BcgH/AXABcAH/Af4BcAH+AXYBcwF1AQMCcwEDAgACDwEKAgQCDwEEAhMBGwEIAgYCGwEGAgkBGgEcAQgCGgEIAgsCEwEEAgUCEwEFAhABDgEaAQsCDgELAgkCCwEKAQcCCwEHAgUCOwEQAg4COwEOAjwBPAEOAgwCPAEMAjkBSgFNARECSgERAg0COQEMAhMCOQETAj4BOgFLARECOgERAg8CSQE9ARICSQESAg0C0wDXABkC0wAZAhQC3AAVAhQC3AAUAtkA5QAYAhcC5QAXAtsA2ADjABsC2AAbAhoC2gAWAhUC2gAVAtwA5AAbAhgC5AAYAuUAIQJHAj4CIQI+Ah0CTgJPAkwCTgJMAjkCIwI9AiQCMwJEAjsCMwI7Ai8CUAI6AjcCUAI3AtEBRAJIAkACRAJAAjsCPQJDAiUCPQIlAiQCLgJAAkgCLgJIAjICLwI7AjACHQI+Ah4CMQIwAjsCMQI7AkACMgJIAkQCMgJEAjMCKAJBAkkCKAJJAiwCRQJJAkECRQJBAjwCNwI6AjQCLQJFAjwCLQI8AikCIgJDAkoC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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import new file mode 100644 index 0000000..53fea66 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://dunu03tc5vdbh" +path="res://.godot/imported/Hand_Nails_low_R.gltf-7d9fc9507def4b4fd9c10cdae7aa6e11.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" +dest_files=["res://.godot/imported/Hand_Nails_low_R.gltf-7d9fc9507def4b4fd9c10cdae7aa6e11.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_low_L.gltf b/addons/godot-xr-tools/hands/model/Hand_low_L.gltf new file mode 100644 index 0000000..a35be1f --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_low_L.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_L", + "rotation" : [ + -0.07576872408390045, + -0.019257033243775368, + -0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + -2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_L", + "rotation" : [ + 0.05564067140221596, + 0.010326135903596878, + 0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + -2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_L", + "rotation" : [ + -0.04595031589269638, + -0.027135659009218216, + -0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_L", + "rotation" : [ + 0.3235369920730591, + -2.565749491623137e-05, + -0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + 0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_L", + "rotation" : [ + -0.052288394421339035, + -0.0005572127993218601, + 0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_L", + "rotation" : [ + 0.014225997030735016, + -0.011990753002464771, + -0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_L", + "rotation" : [ + -0.013683199882507324, + -0.024668212980031967, + -0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_L", + "rotation" : [ + 0.11122288554906845, + -0.0027781203389167786, + 0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_L", + "rotation" : [ + -0.0005887771840207279, + 2.10358793992782e-05, + 0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_L", + "rotation" : [ + 0.013688242062926292, + 7.99239132902585e-05, + 0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_L", + "rotation" : [ + -0.013931511901319027, + -0.00014242221368476748, + -0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + 5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_L", + "rotation" : [ + 0.03945539891719818, + 0.004928736016154289, + -0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + 1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_L", + "rotation" : [ + -0.01194659061729908, + 0.000966736872214824, + -0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + -7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_L", + "rotation" : [ + -0.03585463762283325, + 4.2005005525425076e-05, + 0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_L", + "rotation" : [ + 0.03305169194936752, + -0.006719753611832857, + 0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + 5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_L", + "rotation" : [ + -0.011351789347827435, + 0.012621401809155941, + -0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + -2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_L", + "rotation" : [ + 0.01732625439763069, + 0.01860846020281315, + -0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_L", + "rotation" : [ + -0.05105672776699066, + -0.002022986998781562, + 0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_L", + "rotation" : [ + -0.07119493186473846, + 1.573348527017515e-05, + 0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_L", + "rotation" : [ + 0.015836291015148163, + -0.01933973841369152, + 0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_L", + "rotation" : [ + -0.018054774031043053, + 0.011455277912318707, + -0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + 2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_L", + "rotation" : [ + 0.044925764203071594, + 0.03280799090862274, + -0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + -4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_L", + "rotation" : [ + -0.08928601443767548, + 0.003168066032230854, + -0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_L", + "rotation" : [ + -0.09176954627037048, + 2.456200854794588e-05, + 0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_L", + "rotation" : [ + 0.7065238952636719, + -6.479929197666934e-06, + -8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + 0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_L", + "rotation" : [ + -0.7065169215202332, + 6.472751010733191e-06, + 6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Hand_low_L", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Hand_low_L", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 603, + "max" : [ + 0.03515051305294037, + 0.09001174569129944, + 0.02576880156993866 + ], + "min" : [ + -0.029946302995085716, + -0.06838366389274597, + -0.18542321026325226 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 603, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 603, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 603, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 603, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 2814, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 7236, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 7236, + "byteOffset" : 7236 + }, + { + "buffer" : 0, + "byteLength" : 4824, + "byteOffset" : 14472 + }, + { + "buffer" : 0, + "byteLength" : 2412, + "byteOffset" : 19296 + }, + { + "buffer" : 0, + "byteLength" : 9648, + "byteOffset" : 21708 + }, + { + "buffer" : 0, + "byteLength" : 5628, + "byteOffset" : 31356 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 36984 + } + ], + "buffers" : [ + { + "byteLength" : 38648, + "uri" : "data:application/octet-stream;base64,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BgUAAAUCAQYFAgEGBQIGAQUGAgEFBgIBBQECCgUBAgABBQIAFAAPABQADwAAFAEAABQBAAABFAAAARQABQYAAAUGAAAUDwAAFA8AABQPAAABBQIAAgEFAAUBAAIUFQAAFBUPABQVAAAKAAUPDwoUBRQPAAAUDxUKCg8FABQVDwAKDwUUFA8ACgoFDwAPFAoAFA8AAA8UFQAPFAoADwAUCg8UAAAPCgAABQIBCgUKAQ8FAgYBBgUAAAoFDwAPCgAABQYKAAUKBgAKDwUACgULBg8KEAsFCgYLDxAVCgoPCwUHBgAABwYAAAYHAAAGCwcABwYAAAcGAAAGCwcMBgsHDAYHAAAGBwAABgcFAAYHBQAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHBgAABgcFAAcIAAAHCAAABgsFAAcGAAAMCwAADAsAAAsAAAAMCwAADAsAAAsQDBELEAwRDAsAAAwLAAALBgwACwYMAAwNAAAMDQAADA0AAAwNAAAMDQAADA0AAAwLAAALBgUMDA0AAAwNAAAMCwAAEAsRABARFQAQFREAEBURABALEQwQCxEMERAAABEQAAARAAAAERALABEQCwAREAAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEAsRFREQAAASEQAAEhEAABEQAAAQFRELFgAAABYAAAAVEA8UFRQAABYXFQAWFxUAFhcVABUWEAAVFhAAFRYAABUWAAAVFgAAFhcVABUWAAAVFgAAFhcVABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAACAwAAAwAAAAMAAAADAgAAAwIAAAMCAAADAAAAAwAAAAMCAAACAwAABgsAAAsQAAALBgwKFRAPAAECBQACAQUABQIBAAECBQACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIAAAACAAAAAgEAAAIBBQACBQEAAgUBAAIAAAACBQEAAgEAAAIBAAACAQAAAgEFAAIFAQACBQEAAgEAAAIFAQACAQAAAgEAAAIBAAACAQUAAgUBAAIFAQACAQAAAgUBAAIDAAADAAAAAwIAAAIFAQACAwAAAgEAAAMCAAACAQUAAgMAAAMCAAACAQAAAwIAAAIBBQACAQAAAgMAAAMAAAACAAAAAwAAAAMAAAADAgAAAwAAAAMAAAADAAAAAwIAAAMAAAADAAAAAwAAAAMAAAADAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAHAAAABwYIAAcGAAAHBgAABwAAAAcIBgAHCAAABwgAABESAAAREgAAERIAABEAAAARAAAAERIAABESAAAREgAAFhcAABYXAAAWFwAAFhcAABYXAAAWFwAAFhcAABYVFwAWFRcAFhUXABYVAAAWFQAAFhUAABYVAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAABIRAAASEQAAEhEAABIAAAASAAAAEgAAABIRAAASEQAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAVEAAAFRAWABUWAAAVFgAAFQAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgHAAAIBwAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAA0AAAANAAAADQAAAA0AAAANAAAADQwAAA0MAAANDAAADQwAAA0AAAANAAAADQwAAA0AAAANAAAADQAAAA0AAAANAAAADQAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXAAAAFxYAABcAAAAXAAAAFwAAABcAAAAHCAAABwgAAAcIBgAHCAYABwAAAAcIAAAHCAAABwgAAAwNAAAMAAAADA0AAAwNAAAMDQAADA0AAAwNAAAMDQAAERIAABESAAAREgAAERIAABESAAAREgAAERIAABESAAAFCgEABQoBAAEABRQBAAUUFAAPABQADwAUAAEAFAABAAEFCgABBQoAFAABABQAAQAPCgAUCg8ABQUKAQAKBQAPBQEAChQPAAoUDwAAAQUACgEABRQUAA8BAQAFFBQAAQAAARQFFAABDwEAFAUUAAEPDxQACgoFAA8AFAEAAQUKAAEFCgAFCgEABQoBAAoFDwAKBQ8AAQUAFAEFABQPFAoA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GAA2ATMAHADlAAcAHAAHADAABwA4AV0ABwBdADAAZwBsAJYAZwCWAJ8ASgBZAF4ASgBeAEgAogCXAHAAogBwAJAACwAMAAEACwABAOAAOgCPAJAAOgCQAHAAYQBjAJQAoQCjAKYAoQCmAKQATgBcAJEATgCRAFAAnQCVACEAnQAhACIASABeAFwASABcAE4AHwJyAHUAHwJ1ACMCAgAGABIAmwAeAB0AmwAdAJkAGwAcADAAGwAwACYAPwAnADUBPwA1ATcBLwBiAKkALwCpAKgAJABdAB8AJAAfACAAjwCRAFwAjwBcADkAjwA5AG4AjwBuAJAAIQAkAP8AIQD/AAIAiACKAGYAiABmAGgAOQErAC0AOQEtACoAeAAbAkUAeABFAHYAcAA8ADoAYwCYAGIAYwBiAJQAEgAQAA8AEgAPAHwAOwA9AIgAOwCIAGgAngCZAB0AngAdABoAFwAAANAAFwDQABgAEQAJAMkAJgAIAOQAJgDkABsABgAQABIAVgAYAiACVgAgAlcA0wDpAAgA0wAIADYBNgBaAFsANgBbADcAfAAPAA4AfAAOAB4AFAC5ADUBFAA1AScAGQAWAKgAGQCoAKkAGwDkAOUAGwDlABwANgA3AGsANgBrAG0AJgAzADYBJgA2AQgAqQBiAJgAqQCYAJ4AFgAZAAsAFgALAAoADQAMABoADQAaAB0AuAC5ABQAuAAUABMAbQBqADgAbQA4ADYADwAQAAYADwAGAAUAEwAjALgAEgAhAAIA/gD/ACAA/gAgAB8A5gADADgB5gA4AQcAvQDYADcBvQA3ATUBEQB9AI0AgQCDAI4AgQCOACgAZABmAIoAZACKAIwAkgAuAGEAkgBhAJQALgAsAF8ALgBfAGEAWAB4AHYAWAB2AGQAMQCFAHEAMQBxAIYAZQCJAIcAZQCHAGcAbABnAIcAbACHADwA4ADMAAoA4AAKAAsAKACuAIEABQD7AA4ABQAOAA8ADAANAPYADAD2AAEAaQBuADkAaQA5ADUAEgB8ACEANwA0AG8ANwBvAGsAPAGAAIEAWABkAIwAWACMAGAAkgAvADsBkgA7AWABKwAxAIYAKwCGAFgAcwB6AB0CcwAdApEAVQB2AEUAUwB1AHYAUwB2AFUAUwAjAnUAVwAgAkMAVwBDAHcANwBbAFYANwBWADQAWgA2ADgAWgA4AFkANQA4AGoANQBqAGkAXgA1ADkAXgA5AFwAdwBDABsCdwAbAngAcgAfAnsAcgB7AHQAIgAhAHwAFgAKACUAFgAlAKsAjgB+ACMAjgAjACgAHgAiAHwAgwCBAIAAMgA8AYEAjwA6AHMAjwBzAJEAMgAxAJMAhAAyAIEAcABsADwAaAByAHQAaAB0ADsAZAB2AHUAZAB1AGYAhgB3AHgAhgB4AFgAcQBXAHcAcQB3AIYAZgB1AHIAZgByAGgAYwCLAIkAYwCJAGUADQAOAPsADQD7APYAYwBhAF8AYwBfAIsADAALABkADAAZABoAFwAYADMAFwAzAD8AjQAVAKsAjQCrABEANABxAIUANACFAG8AhQCEAD4AhQA+AG8ALgA6ASkALgApACwAWwBGABgCWwAYAlYARgBbAEAATABaAFkATABZAEoAfQARAMkAfQDJAMAAJAAgAP8APwA3AQAAPwAAABcAOAH+AB8AOAEfAF0AkQAdAlAANQBeAFkANQBZADgALQArAFgALQBYAGAAHQAeAA4AHQAOAA0AYwBlAKUAYwClAJgAoQC0AF0AoQBdAKMAbgCmAKIAbgCiAJAAmwCdACIAmwAiAB4ALgCSAGABLgBgAToBLwCSAJQALwCUAGIAPAEyAJMAOQExACsAMgCEAIUAMgCFADEAkwAxADkBnwCWAJ0AnwCdAJsAJwCzACgAJwAoACMAMAC0ALIAMACyACYAmAClAJkAmACZAJ4AnwCbAJkAnwCZAKUAlgCXAJUAlgCVAJ0AMwC1ALEAMwCxAD8AJAAhAJUAJACVAJoApACnAK0ApACtAKEAbQBrAKAAbQCgAJwApgCjAJoApgCaAKIAqACqADsBqAA7AS8AZwCfAKUAZwClAGUAbABwAJcAbACXAJYAsACsALEAsACxALUAaQBqAKcAaQCnAKQApwBqAG0ApwBtAJwAPwCxALMAPwCzACcAGgAZAKkAGgCpAJ4ApACmAG4ApABuAGkAJACaAKMAJACjAF0AoACsALAAoACwAJwAmgCVAJcAmgCXAKIArgAoALMArgCzAK8AqwAlABEAggCqABUAggAVAI0AJQAJABEAqwAVABYAtAChAK0AtACtALIArwCsAKAArwCgAD4AgQCuAIQArgCvAD4ArgA+AIQAsACtAKcAsACnAJwAsQCsAK8AsQCvALMAsgCtALAAsgCwALUAtAAwAF0AsgC1ADMAsgAzACYAAgLDAMsAAgLLAAECvQA1AbcAvQC3AL8AlgEBAQgBlgEIAZgBBALFAMQABALEAAMCyADJAMwAyADMAM0A7ADrAOYA7ADmAAcACQLcANsACQLbAAwCuQC4ALYAuQC2ALcA1ADVAOMA1ADjAAEAFgL1APAAFgLwABcCuADBALsAuAC7ALYAuQC3ADUBmwECAQsBmwELAZoBhwHIAM0AhwHNAIMBCwLaAOIACwLiAAoC2ADSADcBkAHtAPcAkAH3AI8BewHPAM4AewHOAH0BDwLeANkADwLZAA0CpQHdAOEApQHhAKcBiAG6AMgAiAHIAIcBAwADAQYBAwAGAbgB3wDgAAEA3wABAOMAoAGhAdwAoAHcANkA0AAAAM4A0ADOAM8A0wA2AdYABwG6AbwBBwG8AQUBlAGTAQsBlAELAQIBqQH4APkAqQH5AK0BpwHhAOIApwHiAKQB+wD6APcA+wD3APYA7QDoAPYA7QD2APcAvAC+AM0AvADNAMwAjQGOAewAjQHsAO8AlwGUAQIBlwECAfwAngGdAQYBngEGAQMByAC6AMAAyADAAMkAjwH3APoAjwH6AIwB5QDkAO8A5QDvAOwAkgH9AAABkgEAAZUBtQHGAMoAtQHKALcBBgC7AbkBBgC5AQUAkgGXAfwAkgH8AP0AnAH8AAIBnAECAZsBnAEFAQYBnAEGAZ0BEALxAPkAEAL5ABICPAFYAVoBPAFaAYAATwFOAUYBTwFGAUcBdAFyASIBdAEiASMBWAFQAVIBWAFSAVoBPQFDASsBPQErARUBaAEwATMBaAEzAV8BLgEfASkBLgEpAS8BeQFwAR4BeQEeAV4BIQEzATABIQEwASYBdwFxARsBdwEbATEBaAFdATQBaAE0ATABdQFzASwBdQEsARkBYwFmASUBYwElASQBMgEcAWwBMgFsAW8BbQFLAVMBbQFTAWIBYAFkAVsBYAFbAToBRAFBARcBRAEXATQBRwFGAT4BRwE+AT8BZgEoARMBZgETAWUBawFlARMBawETAUABTgFPAVcBTgFXAVYBKwEvASkBKwEpARUBagFnAUgBagFIAVABXgEeARoBXgEaAWwBcAEkASABcAEgAXYBFwEmATABFwEwATQBXQFhAUQBXQFEATQBKgEgASQBKgEkASUBSAFAAUIBSAFCAUoBPgEWARQBPgEUAT8BQAETARgBQAEYAUIBXgFsARwBXgEcAR0BJwEoASMBJwEjASIB6gD6APsA6gD7AOcA5QDsAAcA0ADPANYA0ADWADYBmQGaAQsBmQELAQgBYgFTAVsBYgFbAWQBZwFrAUABZwFAAUgBPQFFAUsBPQFLAUMBkwBpAVgBkwBYATwBYQFtAUwBYQFMAUQBSwFFAU0BSwFNAVMBKgBWAVcBKgBXATkBVAFRAUkBVAFJAUwBUwFNAVUBUwFVAVsBTAFJAUEBTAFBAUQBXAFZAVEBXAFRAVQBFgEqASUBFgElARQB3wDRANcA3wDXAOAAOgFbAVUBOgFVASkAgAHRAN8AgAHfAHoBmQEIAQEBmQEBAZ8BXAE7AX8AXAF/AFkBegHfAOMAegHjAHwBkwESAREBkwERAZgBAAA3AdIAAADSAM4AUAFIAUoBUAFKAVIBaQFXAU8BaQFPAWoBCADpAO4AAALCAMUAAALFAAQCJwEYARMBJwETASgBjgGLAesAjgHrAOwApgGgAdkApgHZAN4AiQGCAbYAiQG2ALsAsAHCAMcAsAHHALYBeAFfATMBeAEzAXcB5AAIAO4A5ADuAO8AcwEuAV8BcwFfAXgBWAFpAWoBWAFqAVABQwFLAW0BQwFtAWEBOQFXAWkBOQFpAZMARwE/AWsBRwFrAWcBVAFiAWQBVAFkAVwBKwFDAWEBKwFhAV0BTwFHAWcBTwFnAWoBPwEUAWUBPwFlAWsBJQFmAWUBJQFlARQBbAEaAS0BbAEtAW8BOwFcAWQBOwFkAWABTAFtAWIBTAFiAVQBIwEoAWYBIwFmAWMBLwErAV0BLwFdAWgBdAF5AV4BdAFeAR0BLwFoAV8BLwFfAS4BIwFjAXkBIwF5AXQBLAFzAXgBLAF4AW4BbgF4AXcBbgF3ATEBHgFwAXYBHgF2ARoBHwEuAXMBHwFzAXUBMwEhAXEBMwFxAXcBYwEkAXABYwFwAXkBHQEcAXIBHQFyAXQBCAJ6AXwBCAJ8AQoCDgKAAXoBDgJ6AQgC0gCBAX0B0gB9Ac4ACQJ7AX0BCQJ9AQ0C1QB+AXwB1QB8AeMAzwB7AX8BzwB/AdYABwIAAoIBBwKCAYkBtgCCAYYBtgCGAbcABgKIAYcBBgKHAQUCBQKHAYMBBQKDAQECtwCGAYUBtwCFAb8AvgCEAYMBvgCDAc0AEwIRAosBEwKLAY4B6gCKAYwB6gCMAfoAFAKPAYwBFAKMARICFwITAo4BFwKOAY0BFQKQAY8BFQKPARQC7gCRAY0B7gCNAe8ACwGTAZgBCwGYAQgBDQEOAZcBDQGXAZIBDQGSAZUBDQGVAQ8BDgEMAZQBDgGUAZcBDAESAZMBDAGTAZQBEAGWAZgBEAGYAREBCQGZAZ8BCQGfAQQBCQEKAZoBCQGaAZkB/ACcAZ0B/ACdAf0ABQGcAZsBBQGbAQcBAAH9AJ0BAAGdAZ4BBwGbAZoBBwGaAQoB4gDaAKIB4gCiAaQB3AChAaMB3ACjAdsA8gDzAKoB8gCqAawB8wDwAKgB8wCoAaoB8AD1AK8B8ACvAagB8QCrAa0B8QCtAfkA+ACpAa4B+ACuAfQAxQDCALABxQCwAbEBywDDALIBywCyAbQBxADFALEBxACxAbMBygDLALQBygC0AbcBBQC5AQQACgG7AboBCgG6AQcBBQG8AbgBBQG4AQYBuAG8Af8AuAH/AP4AuQG7AQoBuQEKAQkBOAEDALgBOAG4Af4ABAC5AQkBBAAJAQQBugG7AQYAugEGAAIAvAG6AQIAvAECAP8A+QH7AfYB+QH2AfUB1AHTAdcB1AHXAdoBwgHBAcQBwgHEAcMBxgHEAcEBxgHBAcABtwG0AcwBtwHMAcsB2wHdAd4B2wHeAd8BqQHvAecBqQHnAa4BwAG+AcoBwAHKAc4BqwHqAfABqwHwAa0B9QH2AfMB9QHzAfQB0QHfAd4B0QHeAdgB0gHQAdwB0gHcAeAB5QHmAeIB5QHiAeQB2QHXAdMB2QHTAdIBoQHXAdkBoQHZAaMB7gHyAeQB7gHkAeIB8wH4Af0B8wH9AfwBEAERAf0BEAH9AfgBzwHVAd0BzwHdAdsBqAGvAegBqAHoAewBDQEPAfcBDQH3AfsB7QHvAfAB7QHwAfEBswGxAcQBswHEAcYB5QHkAesB5QHrAekB5gHlAekB5gHpAewB8wH2AfsB8wH7AfcBzQHMAcUBzQHFAb8B/AH9Af4B/AH+Af8B+QH1AfQB+QH0AfoBtAGyAcUBtAHFAcwBxwHLAckBxwHJAb0B/AH/AfQB/AH0AfMB/QERARIB/QESAf4B8QHwAeoB8QHqAeMB1AHaAdYB1AHWAdABsQGwAcMBsQHDAcQBqgGoAewBqgHsAekBrAGqAekBrAHpAesBwQHCAb4BwQG+AcABEgEMAfoBEgH6Af4ByQHLAcwByQHMAc0B4gHmAegB5gHsAegBpAGiAdgBpAHYAd4BDgENAfsBDgH7AfkB4QHnAe8B4QHvAe0B0AHSAdMB0AHTAdQBDgH5AfoBDgH6AQwBvgHCAcgBwgHDAcgB/wH+AfoB/wH6AfQBwwGwAbYBwwG2AcgBxwG1AbcBxwG3AcsB1gHaAaAB1gGgAaYB3QGnAaQB3QGkAd4B2gHXAaEB2gGhAaAB1QGlAacB1QGnAd0B7wGpAa0B7wGtAfABygAFAgECygABAssAxgAGAgUCxgAFAsoAxwDCAAACxwAAAgcCggEAAgQCggEEAoYBhgEEAgMChgEDAoUBhAECAgEChAEBAoMB3AAJAg0C3AANAtkA3QAOAggC3QAIAuEA4QAIAgoC4QAKAuIAgQEPAg0CgQENAn0BfgELAgoCfgEKAnwBewEJAgwCewEMAn8B9AAVAhQC9AAUAvgA8ADzABMC8AATAhcC+AAUAhIC+AASAvkA8wDyABEC8wARAhMCigEQAhICigESAowBkQEWAhcCkQEXAo0BKgI2AikCKQI2AjQCMAI2Ai8CKwIoAjYCLQI2AioCNAI2AiQCJAI2AiUCJQI2AjUCNQI2AicCJwI2AiYCNgIwAjICLAIrAjYCLgIsAjYCMgIuAjYCLwI2AjECMQI2AjMCMwI2Ai0CVAJEABoCVAIaAj4CQwJNAEsAQwJLAEECSwJHAEEASwJBADsCTgIiAlIATgJSAEoCOQIZAkcAOQJHAEsCOwJBAE0AOwJNAEMCUAIeAiICUAIiAk4CVgIcAnkAVgJ5AFICSAJUAEQASAJEAFQCRQJPAFEARQJRAFcCUgJ5AB4CUgIeAlACPgIaAkIAPgJCAFoCSgJSAFQASgJUAEgCWgJCACECWgIhAjcCPwJJAE8APwJPAEUCVwJRABwCVwIcAlYCQQJLAEkAQQJJAD8CJAJCAkACJAJAAjQCKgJYAlUCKgJVAi0CNAJAAkYCNAJGAikCKwJZAjgCKwI4AigCMAJJAkcCMAJHAjICLAI9AlkCLAJZAisCMwJRAk8CMwJPAjECKQJGAlgCKQJYAioCMgJHAlMCMgJTAi4CLQJVAlECLQJRAjMCKAImAjYCMQJPAk0CMQJNAi8CNQI8AkQCNQJEAiUC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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import new file mode 100644 index 0000000..44b7650 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://16colgxrw27d" +path="res://.godot/imported/Hand_low_L.gltf-a83bdf9115e4fb62c63deabade61cbbb.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" +dest_files=["res://.godot/imported/Hand_low_L.gltf-a83bdf9115e4fb62c63deabade61cbbb.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_low_R.gltf b/addons/godot-xr-tools/hands/model/Hand_low_R.gltf new file mode 100644 index 0000000..383b28b --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_low_R.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_R", + "rotation" : [ + -0.07576872408390045, + 0.019257033243775368, + 0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + 2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_R", + "rotation" : [ + 0.05564067140221596, + -0.010326135903596878, + -0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + 2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_R", + "rotation" : [ + -0.04595031589269638, + 0.027135659009218216, + 0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_R", + "rotation" : [ + 0.3235369920730591, + 2.565749491623137e-05, + 0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + -0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_R", + "rotation" : [ + -0.052288394421339035, + 0.0005572127993218601, + -0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_R", + "rotation" : [ + 0.014225997030735016, + 0.011990753002464771, + 0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_R", + "rotation" : [ + -0.013683199882507324, + 0.024668212980031967, + 0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_R", + "rotation" : [ + 0.11122288554906845, + 0.0027781203389167786, + -0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_R", + "rotation" : [ + -0.0005887771840207279, + -2.10358793992782e-05, + -0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_R", + "rotation" : [ + 0.013688242062926292, + -7.99239132902585e-05, + -0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_R", + "rotation" : [ + -0.013931511901319027, + 0.00014242221368476748, + 0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + -5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_R", + "rotation" : [ + 0.03945539891719818, + -0.004928736016154289, + 0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + -1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_R", + "rotation" : [ + -0.01194659061729908, + -0.000966736872214824, + 0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + 7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_R", + "rotation" : [ + -0.03585463762283325, + -4.2005005525425076e-05, + -0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_R", + "rotation" : [ + 0.03305169194936752, + 0.006719753611832857, + -0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + -5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_R", + "rotation" : [ + -0.011351789347827435, + -0.012621401809155941, + 0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + 2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_R", + "rotation" : [ + 0.01732625439763069, + -0.01860846020281315, + 0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_R", + "rotation" : [ + -0.05105672776699066, + 0.002022986998781562, + -0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_R", + "rotation" : [ + -0.07119493186473846, + -1.573348527017515e-05, + -0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_R", + "rotation" : [ + 0.015836291015148163, + 0.01933973841369152, + -0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_R", + "rotation" : [ + -0.018054774031043053, + -0.011455277912318707, + 0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + -2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_R", + "rotation" : [ + 0.044925764203071594, + -0.03280799090862274, + 0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + 4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_R", + "rotation" : [ + -0.08928601443767548, + -0.003168066032230854, + 0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_R", + "rotation" : [ + -0.09176954627037048, + -2.456200854794588e-05, + -0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_R", + "rotation" : [ + 0.7065238952636719, + 6.479929197666934e-06, + 8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + -0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_R", + "rotation" : [ + -0.7065169215202332, + -6.472751010733191e-06, + -6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Hand_low_R", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Hand_low_R", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 603, + "max" : [ + 0.02935725450515747, + 0.09001174569129944, + 0.025806419551372528 + ], + "min" : [ + -0.035739559680223465, + -0.06838366389274597, + -0.18542321026325226 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 603, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 603, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 603, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 603, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 2814, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 7236, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 7236, + "byteOffset" : 7236 + }, + { + "buffer" : 0, + "byteLength" : 4824, + "byteOffset" : 14472 + }, + { + "buffer" : 0, + "byteLength" : 2412, + "byteOffset" : 19296 + }, + { + "buffer" : 0, + "byteLength" : 9648, + "byteOffset" : 21708 + }, + { + "buffer" : 0, + "byteLength" : 5628, + "byteOffset" : 31356 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 36984 + } + ], + "buffers" : [ + { + "byteLength" : 38648, + "uri" : "data:application/octet-stream;base64,Hm3OPK9bkDuLe8e98iQqO9pSGbwc07+97IxTu1u5W73ra529Bl94O+KdG70F8q69Bl94O+KdG70F8q694T2muhYAHb0hOqe9di3Au0NeQr1s16S94pWcPCL8Db2H0qi94JKFPIXVg7zDF7y9gE3qO2AX+DwOubq9+nhOO+ktlTwQsLa9BnxLusp/BDw8Lra9Ccq6uhUd8bsnfrK9AKMOu9e1iLwCfLC9+I5ku2j4Ab24q6q99Dppu73dG71M+KK9dCXGuylxPb07HKC9QBMKPEdVCT26e7S9cunWu/fjQ70115q94VXnPIlv/jziHbK94lrnPHnvrDxyGLO9GHBfO9/1AT2VLKC97T2VujM0njwg2KK94A3rPAhgLDsxya69oH7wPOVN6rvFRKy98CYpu2pKIDyjm5696tRYu3FX07uJ+Ji9IlO/PAtMqLyKk6C9onvHPBfQ67yIVZq9duCuu9CXeLzar5a9OfcIvCzBA73vWZW9yQR4PO9OJL3BloW9yJg4POrkP71q64O9cpTQuxX9Sb22cI69PE8gvGCPKb2YXZG94qTWPJ4rCj3TVau9ziwFPB7WRL2jWHq9nBLZO6B59zyPh7W9Y7S6POK/e7ynOJy9YojfPLOSizxr3au9pZnEPBFrDj1bZpa9EorRvEabNj3/ow29EorRvEabNj3/ow29TsGMvIenTT24kDy8klXWvIczDz1U6Oa8klXWvIczDz1U6Oa8ldmjvD0s/DyxmCC9tFkUvOec5zz7jVu9pK+tPLH2/bzpNo29Empnui5zXD1oSlS82Og7PCVFRz3HvBG94QDcPIgGHLyu+KK9cnLIPDedrTyoXTK8scSVPLHOzLxIpFa8MbjUPKVer7sI4z68cnvWPN/9Nzxo+T+8cQjFPAL+SLzIYkO8YfVzPE/J97zA0F+8n6drvA9xJ71gZBO8n6drvA9xJ71gZBO809e0vBo0C71C+ca809e0vBo0C71C+ca87GfaPAEemDxf2TG9YnjbPPjf7Tti5qi9eLOiPIb/JrskFMc8eLOiPIb/JrskFMc8SNrKvGa6JzwAbNA8SNrKvGa6JzwAbNA8MyixPInqsDwguhs70A73O1/YGD2QUtI7zVOYvEisFz3g4hG7cx23PAo0M7zA1Mw6sw7GPHbfe7tAFOw6c27FPKZISzyADuo6Z3ZKPCf38LxARqs6ZyeEPJ3IE7281IG9tCyFPH7Zw7yAAUQ6UszOvPtL2DxmVLK8UszOvPtL2DxmVLK8VX2gvIKRtDxTdA+9sx4SvNyRjzx9k029E0GDvEz8tTtYnu28DCe2vFG1NjwguZA7p99svFocMLtiyN+8jOXEvIBmjjoQbKI7FQGmvArkz7zzrgG9TpTXvKHBwLyAa0s6bVebPDOQ27zYaOe87VfHPK4oYrzmC+K87sbYPBQdIzxEiuO81zecvAEeJb04UBS97JrWPB1H4LvE6+C83Tl8PIjABb2y9fO8b2LSPLPBpTwgrtm8KftZvGaHN73YxAm949AoPEuJLT2QiIi7yu64vCXcv7zQU0c8G89tvGzFEL1Q9fg7G89tvGzFEL1Q9fg7yn/HvOACUrmocFg8Cn6xvD85JzwYIE48XkIjuzzfFj0gy+I7l1hXvKVg8zxIugk8fD3juxscIL1oKZu9Q9dKPKJTID2pC6y9Q9dKPKJTID2pC6y9IpNDO5doKz0txXy9IpNDO5doKz0txXy9zaddPIUDKj1CPny9jGTQO7+4Jz2oh429jGTQO7+4Jz2oh429beaUPDVfJT1zORy93X5oPHHwNz1sHpO81Qy7ukAFOj3gmwe7UmTMvBdYu7zwO5q8UmTMvBdYu7zwO5q8j8i1vICLyTlgbT+8j8i1vICLyTlgbT+8UOi3vODdEDzge1a8UOi3vODdEDzge1a8w5QGPMpGIj1eTp29w5QGPMpGIj1eTp29hIkUO3IeNL2YRG+8sJWNO+pUNb2cGuy8aMYcu7jrIb1gwnU7u+xtvC2m8jxaSz69BJIHu3BHcj365Om8v2RpvD0JojwZki69ApEfvBBiQL1ZTVO9BV+HvDxOJr1SkTe9MxU/vMykPL0Nii697nchvNnbbjuduB69KCbVu5g4KrzUcEq9UvzBO82BO73bczi9JfFevK0x7rxQVVW9JKXVPImX9rvnCy6970pqvDZbJ70fY1u9qJGMuwCDsboRaE+9vD6HvD1/4LzQdSq9vV3fPLODFzzkVzC9moifPCmB6rz6eE69APWoO85qOL2MPxe9ZUSAPNE9Db3YLEe9DKadPBcs47ycFyG97EknvHPJ2bvZrxq9beB/PGm5Cb1NjiC99pDGPCT+arxA/Sm9Tl92uxwCyjxEE4C9Xl+gu6DdeDz8/G29rDHtuYW3Cj0DPIm9Yn3AOzIh+zz//bC9UxzqPG8xDjwKW2W9w8nEPApscbzwcFe94H2xPHcfFj17oHi9QU/kPF8vlTyA7Wu9M4XUPP5DA7xxZlu9f8HnPGj8ATwKlIy9yWvBPLYIeLycIIW9GUnnPBlmjjyXmo+94uWnPBGv9rxaaoC9GWXRPJzPCrxdU4a928/gPIKtGz3Y4uu9m9TiPLXw1zzy/e693rXfPMX4Bz1ZBcW94CXVPGq0sjytYcW9272PPOrxMz18vOy9272PPOrxMz18vOy9PUc6PBrsdjztGci9PUc6PBrsdjztGci9s6xmPNItsTyCJ/G9s6xmPNItsTyCJ/G9Pq9uPGIoJT3CQsK9Pq9uPGIoJT3CQsK9kyuwPAAdLz2sNxK+qKYrPGsL4Tw5ghO+qKYrPGsL4Tw5ghO+UwW2PJ5xBT3BNRS+KllEPCghPz2WYRC+KllEPCghPz2WYRC+tmgtPGEPIT0Lhu69gDHxO9rsBz01Q8K9ThPiO+xqLD0heRC+Ri7XOw2PBT1wShK+eqicO06LlTxMkL69MhwePMFO3zz6BPG91hXJPGUSFzsP1gG+mEnMPJzTHbyNOAC+XljcPMD3HrwaNsS9MY55POOw6zuGWgG+MY55POOw6zuGWgG+vJATPEJFS7x7xMa9vJATPEJFS7x7xMa9MYBEPKo5dLyK/v69MYBEPKo5dLyK/v69vFMuPOtWPTzdF8i9vFMuPOtWPTzdF8i9EaaSPHhSDDoPCh++SrreO75/abwqZRy+SrreO75/abwqZRy+EmmTPLZjK7xvFB2+pAIwPLCClzuu7h6+pAIwPLCClzuu7h6+LxsOPAOWPjuo5gC+77X9Oh6VETwO3769SLOkOwIAizrAnx2+kHpMO9JCDLwEvBy+WizJO3RLA7w0iP+93+awPO2Bprzulby9IM+8PDTOBL2HdLO9ArtbO77EFL0nRbO9ArtbO77EFL0nRbO9veQcPIK9crwd4MW9veQcPIK9crwd4MW9tkYSPOo9Lb0P7eS9tkYSPOo9Lb0P7eS9m12iPMHJHb2R/+i9NMtKPCtOtbyaFO69NMtKPCtOtbyaFO692oivPGXh6LwB/+y9qdViPAfcDL3hvxG+rKZlO4SGPr3QSg6+rKZlO4SGPr3QSg6+qnlIPMc9NL0ggg++UETUO8/L6rzAqBK+UETUO8/L6rzAqBK+9qxhO94sjbxTSL29avS5O6hf1LzgAOq9rkI7OriCBr0eChC+hNrFuRBOLL3x6A2+2NRhO8RFF73I0OK9/I4Pu4MZAr0NWK+94EZgO0F+eL3gh9S9eCybOwD0Yr2ED9q9x+BsPLtBNb21+Zq9R3g4POjzTr2zR5a9SaLLumx3RL2ijdu9SaLLumx3RL2ijdu9jgi1u/nmfr0E3tC99K4dO7xKMb2m88G99K4dO7xKMb2m88G9wZwKPOE9ar1hE7i9wkEpPGgTUL3wSry9ACVEu9EScL2EQre9yQIGvGPlUb1EU9a9gC+du6uOQb2cO729gJHVu7guV702WLm9RL0XvBMpbL0M5tG9TSICvCbZhb2BH+S9leW2Oh1CbL0JAe29pLmfueingr0gqOi9kgaTu0j/Ur0PA++9kgaTu0j/Ur0PA++9z5sqvK59W720x+q9yrlGvG12eL2RMeW9N5dBvGDwmj1pGIy9GUe8vK3NpD2JjX+9GQb4vMColD0TsIO9GQb4vMColD0TsIO9u6xWvN3Rgz1WOpe9u6xWvN3Rgz1WOpe9LkQNvRRYuD1kfre9LkQNvRRYuD1kfre9opmjvGj8sT1s5MC9opmjvGj8sT1s5MC9nLyVvH2/rD0YKay9HwHpvFVfrj0ZNaO9bnsRvYGtoD0YrZ+9bnsRvYGtoD0YrZ+9QSh/vBrelD3f37C9QSh/vBrelD3f37C9uV1/vBSEoz1GYqG9HJ3YvDkwqj2eFZa9m3PEvNuwpz2j6IW9uwlevHMhhz3JTZ29uwlevHMhhz3JTZ29N0FUvBrsnD0Vd5K9TSoCvS7xlj2r1oq9TSoCvS7xlj2r1oq9mTj0vNFoiD2McYq9UA4HvXg6uD3dzr69UA4HvXg6uD3dzr69T3QMvVl0lj2nvqi9mYL+vDS4iT3FlpK9XYyRvG6Bgz2dg5y9YRO+vOL0sj3B5MW9YRO+vOL0sj3B5MW9X1WjvALZkT2nzLG9m8WCvBTSgD21Rpa9YReqPIhzjTy4ksW9n9+YPMT8KTxVwMO9R5RgPFj8IL057KC9j2aDvAAMbz1E76u8lBapvDnCIz0iGC+9Zsq2uzruGT08i2m9rNHmO9SCWT1dJxm9FzPivBOLjD2zA2i9FzPivBOLjD2zA2i9F6GovCQ8nD3iRGG9MuoLvO8/kj1ZKXa9NaYqvDCnbz2ir4a9NaYqvDCnbz2ir4a91w3evJ/kfj0dWXC9Nd9xvLSNaD2d54W9VfDSvL2XfT330T+9VfDSvL2XfT330T+9FYKUvFF/ij1CJi29uM5WuwoXgT3xzUu9ZhHlu12xTj31UGy9ZhHlu12xTj31UGy91UnQvDwpaT1SgVC9sylJvNQwTT2L+Wy9007OvG7Pbz1hGDO9007OvG7Pbz1hGDO9FFeMvPlUhT1YXha9wuJMuoLidj0axT29Yja2u6thQj08sGa9Yja2u6thQj08sGa9FRvNvEb8Yj1fTki9M141vCiyQT3TmGS90z/NvFoAVj1OvyK90z/NvFoAVj1OvyK9kRCBvOBUfz0kqe+8qYb3OkpgbT15oSu9mcmwulzQNT1d7We9mcmwulzQNT1d7We9lsOzvBkQQD3J1D69MckHvAiGMT3aS2G92ynEvDyGgD3o7JC98EDBvKQzrj3C9Ki9gX7jvFqpkT2sP6+9aWxdvDf0Hj39Mk69Gwy2vISvbT06coC99jKevPHkTT04L1q96e2mvEarqT09Mpu9PUiAvDSiNz1h3lK92WyBvNuzoz1GLYW97qGJvKaApj0VFIy9vQkQvPuTij1ElTm9C+TOvEnagj3RaJi9lkSeu2RwgD2FYQ69gBTgu2xOhj2ExSi981tZvKuJmj3mA2m9y9bZvHzwtz2Oabq9LtukvEP8VT2CxWG9MSHovI/ytT32fMS9MSHovI/ytT32fMS9vgnhvEWqqz0hzZy98TObvCSloz0CSr698TObvCSloz0CSr69ZqYOvfvcpj1ydbq9fz2LvO7zpz2d26a9pWMSvb+2rT35o6q9pWMSvb+2rT35o6q92N64vC70oj1d0sC91dDuvMrboz3YcMC9LMG0vJTSqz0Dz6G92hW5O3JiUzukLg++j+aqPDqAGrzEgg6+SpFTO3gpD7w/Jw6+DqykPADWfjpUNRC+RZ8aPPQXZ7xC9w2+RZ8aPPQXZ7xC9w2+E5xVPCZ+yDuJKRC+E5xVPCZ+yDuJKRC+4F/HPDTVJD10DQS+KJTbO3sn8jyTHgW+TPRHPENHxjwAGAa+TPRHPENHxjwAGAa+7C3KPO4a8jxYxAW+ZscBPCbTKT1YngO+wwxyPDrUOT1UXgO+wwxyPDrUOT1UXgO+AgTLO8PJNL31aAC+AgTLO8PJNL31aAC+5S6hOvODIr2LI/+92bmLPDTiAb2M4wO+fWSBPAhpKL0G+QG+CrA9O9+u7byFjAK+WR8ZPPtv07yDtwS+WR8ZPPtv07yDtwS+iL9PO0WhZ70qmeO9/jgmvGGWcr2X29u9wqjcu4Gmgr2oftq9WMg9uwUTTb0oAOW9WMg9uwUTTb0oAOW9ZU/TOmc5f70Ikd69XPUOvD2UWb3XsOC9bmXXu+pbSb22ysm98Nf7u090Yb2EvcW9ytaGu8HTdr0sL8S9hu3EO5flcb3VUMa9srn8O2lSWb1QZMu9zM/GOf6SO72Flc69zM/GOf6SO72Flc69eROKPJg2CbpoCyW+426IPIwuLbzKuCO+XmPXOxiIZryBtCW+XmPXOxiIZryBtCW+q+ncOhouJ7zplSe+mS8jPCQeZTv7eCe+mS8jPCQeZTv7eCe+nhVuO5REmDrFBSm+FDtSPBykE72/4Ra+jvNUuiuUCr056Bm+Yew8PD1ZOL2JQRW+FDI3O8keRb3T9xa+FDI3O8keRb3T9xa+eDcIu9XTNr3F6he+mKupO8s8+7xAtRq+mKupO8s8+7xAtRq+YpSmPAXaMD0QtRe+ZjSsPP+zCj0M4xm+MEsnPJCA7jwjUh6+MEsnPJCA7jwjUh6+lBifOzCJCD0KJCC+vYIzPHYkRD3qLRq+vYIzPHYkRD3qLRq+0MunO/FHOD1Fmh2+BvlbPCb2O70ETqO9PNQYuyQFKL1K3K29HMFPu/+8YL3LyaO9dIzEuxifRr36B6m9y54nPMj6WL2csqK9bO1TPNawQD3EwSy+bO1TPNawQD3EwSy+bFtqPO0BDj1api6+bFtqPO0BDj1api6+Ut+OPCt5FD0OGCK+UpWLPFFTMz0c6CC+E+acPAeSMj0JMh2+kvWePIlcED32ax++IP4lPJaeAT3L6yi+IP4lPJaeAT3L6yi+IgEjPIfmRT0A/iO+IgEjPIfmRT0A/iO+HYUyPL/1OD1oLzC+HYUyPL/1OD1oLzC+PgiuOz+7PD2vMyu+PCbLO+VkEz0Mki2+nUo9PL0SGj3lGDG+nUo9PL0SGj3lGDG+58tWPBjvfboozTm+58tWPBjvfboozTm+6Hk/PHAuULwzxzi+6Hk/PHAuULwzxzi+nhphPAgCGryiTS6+nV9kPHKeJrvOay++nQwWPOcgJDv4BzC+nQwWPOcgJDv4BzC+n6R5PHZ+LrzyWSq+OnjNO4wOa7w8BC++OnjNO4wOa7w8BC++0P6CPHCRx7pxFCu+l8UuPCWNi7uV3z2+l8UuPCWNi7uV3z2+3OpnOwhlHLpTXDS+4CIjOwyFKLxxnTK+GM8iPOjhMryGqDy+GM8iPOjhMryGqDy+2GP5O03pIL22XS6+2GP5O03pIL22XS6+2pDPO50dTb2Azyq+2pDPO50dTb2Azyq+JNgQPBl0O7305x++ozohPF12H728qyG+ipZ4O1M+B70WqCK+ipZ4O1M+B70WqCK+JnEsPIKuO72t8Rq+kGgIO0n5S70ioR++kGgIO0n5S70ioR++pWRDPFw2Gr1oDBy+Os2UO3WNLb1qizC+Os2UO3WNLb1qizC+RFjsuSI4Fr2U2CO+Cfq8uhu1Or1msSK+OjmSO2WoQ712XS++OjmSO2WoQ712XS++CEKTu5Vecr2SSwa+Aj3ku7wMjL2XoAO+nvmhu7ZLhr2X8/y9PBVau11td7111/+9nrTYuyiUX71RIP+9nrTYuyiUX71RIP+9NO1Ou6/phb1vwvS9TgMkvDiNi71GYPm9tDnmuSnKcL0/gfi9og7qu/1Ef72laQi+NP88vFM9a72aPwG+M2xUvLPrg72aM/+9UiAGvHQkir2iuga+usW7PBr5KT2QIgu+N2HZO8qi/jyCtAu+es05PFep0zwczQy+es05PFep0zwczQy+oBnAPBV//jwM/Qy+DdHyOwkfKz28Cwq+9jJbPLF6PD313wm+9jJbPLF6PD313wm+keSuOzpxDDsyZxa+0CefPPjxIryayxW+7QVQOyW2DbyicRW+Nf4EPNlLaLw2LhW+Nf4EPNlLaLw2LhW+EKmbPDyURTqynxe+XM9CPGsAsDscjBe+XM9CPGsAsDscjBe+rOueOySoOb3iWQe+rOueOySoOb3iWQe+iHDfOQJpJ71bvQa+UqFlPGhTLr2TvQi+toDsOiha/bxSSwm+wKABPOUd37wisAu+wKABPOUd37wisAu+riR9PB5fB7220Qq+N2Z6PAwDrDxsPsI8N2Z6PAwDrDxsPsI8HLSEPD4Tirzw1sI8HLSEPD4Tirzw1sI8nCeZPP1MIbyUvMQ8nCeZPP1MIbyUvMQ8N34HPDdk5rzwJ7s8N34HPDdk5rzwJ7s8cqNyOmR18Tyk98A8cqNyOmR18Tyk98A85IDIvKOyvLwk0co85IDIvKOyvLwk0co8xGqYPLR/QLyvnL69eJSlPMD2nztkU8c8eJSlPMD2nztkU8c8IKH+u+So5jzEA8M8IKH+u+So5jzEA8M8kKxyvGA1yjzsr8g8kKxyvGA1yjzsr8g8yCinvDYgmTz81M08yCinvDYgmTz81M08uAqbPMh0VTycFsU8uAqbPMh0VTycFsU8gEPPOvatBL2k6Ls8gEPPOvatBL2k6Ls8SEHjvJG3S7z8Z9M8SEHjvJG3S7z8Z9M8yCnhvMCNdro8HdM8yCnhvMCNdro8HdM8IN69u1OaDL2EGsA8IN69u1OaDL2EGsA8yKmFvLCD/rwk0L88yKmFvLCD/rwk0L88yKmFvLCD/rwk0L88litRPDNND7wYlJI80ENiPKyTT7u4+ZM8qmcPPA8VazzYH5E8codOPFRJCzz4p5I8+OIWOl5ZnDxMipA8aziwO8MHrrwA5Yw8QK7dOK9SzLwwmow84RjOu85BnTzg8ZE8ats/vHzKiDw0ZZU8yYC9u4z81Lysk448Pb6CvJzXRzwM45g8YbSrvITjKrwU2ps8XSCsvCzhCbvkq5w8PemVvKyWk7yczJY8FeOcvCSyvzs4R5s8pFFQvDh0wbzUppA86NUoPDSBbrzwc5A8iPdjPOq3JDss9ZM8cplnu/cRgrvQpCk8qDJcOpwH5DwAgrw8qDJcOpwH5DwAgrw8LDxtPC4OojxwuL08LDxtPC4OojxwuL08tfqcPJCLkjtEQcI8tfqcPJCLkjtEQcI8fC9nvCi+vjxQjMM8fC9nvCi+vjxQjMM8En57PP6GhLxUSb48En57PP6GhLxUSb48wyyRPJDyG7ywFsA8wyyRPJDyG7ywFsA8Xz2aPNp+KbtAUMI8Xz2aPNp+KbtAUMI8+BIAPFI63Lys/LY8+BIAPFI63Lys/LY8SwnBvEGhHDyIMMs8SwnBvEGhHDyIMMs8RTrWvPPLirogdM08RTrWvPPLirogdM08nfeSPHASSDzoIMA8nfeSPHASSDzoIMA8ATfYvPI9RLxgu808ATfYvPI9RLxgu80868y+vGuetLxs3cU868y+vGuetLxs3cU8Zpt+vPAk87z4Hbs8Zpt+vPAk87z4Hbs8tx+fvEwdkDyUb8g8tx+fvEwdkDyUb8g8Iaq1uyZABr24ZLs8Iaq1uyZABr24ZLs8TL2/Okdy/byQaLc8TL2/Okdy/byQaLc8KTDzu3bF2Tz4KL48KTDzu3bF2Tz4KL48S+5cPzyJ9T4xqCK+hS5bvwt7Ob5cwPe+DUvsvnGCWr9dlHc+FPBDPeP0Z72vS3+/FPBDPeP0Z72vS3+/sgZOv2OAgD2bGRe/2xR9v7QU3DyAtRe+3pgLP/qNVr85m3c8DrpMP8qxbT7Yvg2/p4l0v0ThkD6GC7G9RZRov14ghD7BRKi+btFsv0of5z0crLm+Bv9sv9jPPzwUfsG+nQNkv4vh5jy5Uui+EV1Yv4u9A775zgS/KrZWv31IJ71CBAu/ZYRov8DoCT6iz8q+8ENOv4cuEj86EiG+3GB2v/KlZ77N4Bm+u5l4P2NWUj4c/fg9xL52PxlkiL55rL27lRlYv4Xp3z5Rx56+IipvvxEbYz7HAY++XG50P4+dlD5A64I9hSVrP6v+vb5bkws+Q7N7v/WKkz3Btiu+JbF8v5D2uj2e2ga+GSZ3P0vChD6y7Ns8qgV0P31pgr43uiY+wDZ2v80wOz6ay1C+SBFwv4qDuT0opqu+9JFuP+Atk748cmI+WhlDP8xPC787m7M+z8UXv6YKTr/2gt08nCRjvx0Tc74Vesq+ju9EPyGXID+/Q/g9NGfXPkJjXb8cV4w+H9hgv1/8xD6JVJG+rj17P3HaOr4ponO9Pn96P0mPCL71FCG+oaNAP6uZKD/vu6E6Gw9/v1uqhj3m4mC9Gw9/v1uqhj3m4mC9c1kdv3a5ET+Gygs/3Wt/v/d5P7pwnYm93Wt/v/d5P7pwnYm91+xXv7/Ffr41xPO+fKlSv0XTsb1svw+/L19iP8bZ575yquk9L8qEPtsOWT/uwew+ssAwP8knOT90SF087MhlPxyn4b7n9BA8ZKJuPzmMpD5SrSo+l0xePza69b6z8v89GZF8PzsoDL4HILY9t0t+P1TAlD0EHrc9jl1vP+46rb6lVNk9TnVDP6gUIL9COiU+Q7QBv7eSWL9MICo+Q7QBv7eSWL9MICo+/sRqvxHvyL68X5C9/sRqvxHvyL68X5C9RG55Py9EWj7MHpQ9R8J8P9IZ1z34cPO9GSPePmejhb2JC2Y/GSPePmejhb2JC2Y/G+0cv0rBdz6li0A/G+0cv0rBdz6li0A/QW9bP/2k4D6iGoo+OMDePtDwRj8q2Og+/5RBv5y44j5Aq/Y+teRuP6LkpL7aYyM++LR6P1pZ8r1CBCg+kSp5P5JtCz7SMT0+2Kk3P7P2Kr8B/Eo+jKRXP4e2Bb+G8Qc+I2JaP3d6/b6c2Sg+7kJ/v0r7gr0pdSe97kJ/v0r7gr0pdSe9TjFdv1bxl76WNtC++tddv1cQXb6WXea+6r9jv1iyb74gwMi+89V3v/J3QT6Yeig+ySdnv1n0gD1/p9m+uHl+v4X52T0snL88dwprv7N7FT76oLy+k7J1v1iwhr7UWMk9C3ViP50V7L687I49hvxxP9oBpr7e6xY9vr1/P/Vg+zzOkgY95ANjv8b+5L6Wt+69Kh59P6t+F75Kr7c8YcpJPzlsG79PlM09K+l2P9+tgT60O5k9ML/Jvjhiar8r5aQ9obccPxNFLz+yi8o+FQVsv8N+xb6mtA49cLgEv0bQVL/hMk0+cLgEv0bQVL/hMk0+rjd+v4tMvz2fAZO95yVyv8UMpj54fCs8/lo5vrpaVT9srAU/TzIuvxBVIj9kCrw+N1tfv5LzhL1F9/e+FmIHvsWDfD/+SMi9FmIHvsWDfD/+SMi9tc98vswpUT8cYwW/tc98vswpUT8cYwW/6kOtPhkObD8hM0C+CtGMvk0KaD90JaS+CtGMvk0KaD90JaS+mhtVP7HRDT8NeTk83J5AP8mbIj+ihDI+O9DVPGJXRz9UeyA/hsR6v45hWr1Km0a+hsR6v45hWr1Km0a+QBt5v2EXiD0oA2K+QBt5v2EXiD0oA2K+RF19v1wVir0USAG+RF19v1wVir0USAG+7quhvltAaD+SR46+7quhvltAaD+SR46++t6mPnJFbb+j3T4+CGjHPkWkab9k2P09xdJEPvnkcr9AVIA+CbVHv+p1T74hiRe/BFnmPnC6WT8xgYs+asdQvw4Lk76MnQC/Y1/gvtIYZr/kyxe8Zxdpv/P8sr7VGmK+fxO/vieBbb+g7pu6Z9xjv299Lb42pti++WBvv0X8dj7h+4S+/7/gPjOxY7/pewI+8eRxv9FtSz6QN4W+FTB8P0PzLr402508kbxwv1Heh77531m+1jN4v1uuijw9NXq+zLFqvyhPTT6I3LC+CZ5/P+9sirqP1l89NpdnPysY2L5lXnE98iDVPqrXZr8A6O49kZ5PP3+JE78s/c09kK5lPy//4L5h1zM9IuBlvwDEKT6yutC+oJlMPyVoGL8AIqk9R9dzP1HNm77JYkA8qQ5uv5OTqz3fWre+9RN2v4aXl72r+oe+CV9Rv8IFzz6qntG+8LJWvyES1T4l5bO+Wq9/PyuOG70LqAI9h711Pydoj74XpiA8WLVHP6AbID8k3Yc8OOB6P4ddQj5X5XU9eJB6P3XfUb6Uh0Y7yX9/PwZXar11j8687R12P2uvjL7jxHI89lF+P+oA6j1Fq6U7c+9pP8aRy77Ruqk9+HF4P0Pudr5a9IK6AiteP/4l/j755a08LpNVP9D4A7/hNEi+GxRhP3lw8j4HhVc9jkVjP3gH3L4axyi+014LPJD7fD+Jgxw+014LPJD7fD+Jgxw+bkqGvi8i/b7YJlS/bkqGvi8i/b7YJlS/nHo/vpdvcb8Gwoy+nHo/vpdvcb8Gwoy+kxkIvlgJfD/KC+o9kxkIvlgJfD/KC+o9p7tMP0ZhGD8AJqC9Ih1yvlC3dL8uRjK+Ih1yvlC3dL8uRjK+ZihXPyeW9b6aEoG+RKkHvpRoez9YYAk+RKkHvpRoez9YYAk+j6BYv8BqBD/BHAM+1StnvwBP2z5clQe9Zppkv9ZF2T4hnBk+h4lxv481qb491sQ8BQZmvzWXoT0VEN2+/oZyv54Dob77VnW91TZcP77i8z5kZzq+u5pVPwLeCL+yMwm+7I5PPxRcFL8Kwai9bNyRPQ3ofD9g9gy+bNyRPQ3ofD9g9gy+RsSmvjyKS7/W+QK/RsSmvjyKS7/W+QK/t38gvnjRfL9rYz+8t38gvnjRfL9rYz+8yf+FvgQ3Jj97zza/yf+FvgQ3Jj97zza/SctZP9xd+T5sOEq+W7eXvkpJdL/piyQ9W7eXvkpJdL/piyQ9L8VLPxGBF7/XPQK+H2OTPBJefj+R9uO9H2OTPBJefj+R9uO9VeNOv9hyFj+E2R697y5Xv9KihT4IC/O+QhJPv8RyFj8fvpg8iLB4vw+MYr5ImK89kwJxv5L2q748SvI8cAFkPwDM0T5s0km+2WtnP53S2r72tkM8hOajvh++aL+TZYi+hOajvh++aL+TZYi+6Fu2vZcH6j5AjGK/6Fu2vZcH6j5AjGK/jdIvvnDSeL//giQ+jdIvvnDSeL//giQ+72dFP+PgIr9v7MO8JCelPUrdcD8idKi+JCelPUrdcD8idKi+WUFmP5+Psj7R3oa+eLdnP94DqT7nI4m+GCNzvnlqcr/s1l0+GCNzvnlqcr/s1l0+d6E7P2kiLr/tETS8LtTpPEXLeD+JeG++LtTpPEXLeD+JeG++KqNQv7d3AT6MxRC/imtPv6WJED/MFSG+BCJbv+0lBD+tZeo8ySZvv+HLl74wQUs+0Zhxv3prqL74IAs9MclUvy4kiL4S//m+AVkmP3OQQr8hIUK816xqPwT69T1aH8O+7591P7L6Z76xoSu+QgYXP1o6Rr+4YGo+pTz5PQJ7aD/dHc2+pTz5PQJ7aD/dHc2+/JGovqiPYL8B77I+nwolPvkAXz/cgu2+nwolPvkAXz/cgu2+qAYiP5zVRL8A3rk9ncdwP3Bi6D0t66O+ZtTPvm5JWr8dY6g+/aJPvxNYFT+/zy69EMVKv1krGT8P0fe9NiF8vySHjr31cCI+QmZyv6AaOb4SMYg+GxubvtN6Zb85qKU+RfJpP3uTCj5UAsS+/mApP+WyP7+VsB692L0ePlWIbj83Fqi+2L0ePlWIbj83Fqi+ILNBv3ZhJz9mprW6CXhzvxpNFr6nPYs+WjFpP8DryT67Zvi95OOLvjwbUj/KcgA/nKtjvwoFRj5fJdQ+nKtjvwoFRj5fJdQ+GAY+P8KQ475PYAC/GAY+P8KQ475PYAC/m/ghv1zdRT/4kEQ9m/ghv1zdRT/4kEQ9tQs2P8yZCz/DN+O+tQs2P8yZCz/DN+O+xzg7P6D9Kz/XbPA9vBJ3vQI+ZD8Wz+U+KG9wv1c5NT55qZY+KG9wv1c5NT55qZY+HCFFP3KAn76ZiA6/HCFFP3KAn76ZiA6/O/dbPxz8AD/HXrW9bMeOvleLYz/lJro+3tGQvrHtXz+je8k+JdZDP3Xg4L6ALfG+JdZDP3Xg4L6ALfG+ORpnP+J80T6iBQi+Xmlpv6+iJD4dgcE+Xmlpv6+iJD4dgcE+OJVZvy/bBL/HZ7o94eAGv6nNJD+5EQ6/4eAGv6nNJD+5EQ6/2i1Sv410BL8/G3e+u3dJv3jxHb9qDlY7Bbe9PQQKXr+4YPq+RqaBPtQxyT4QTmK/RqaBPtQxyT4QTmK/FODYPcjVO7+nzyu/I/nAPXzOWb+XVwS/ESodPx4nIL96d/a+OQ8sPxHA9D7swhC//i1IPzuG4L6+0OK+M33zvp3OQD9xuOg+KohSvzFAjr5iMf6+0mYxv32uJz4PvjO/DS4jP31bRD/CHZa9PT5mv335Xz68ysE+PT5mv335Xz68ysE+JcqDvvJHSz+k9gw/tP1nP66v0T4KRde9S7EtP7Qlz74t+By/S7EtP7Qlz74t+By/5YVnvyLH2b6WwQu9AvyDvYCbSb/w5hy/+OFqv0DpbD7joKU++OFqv0DpbD7joKU+mFimvpTeSD9fKgc/jZlgP4IK3z5wEk6+w2UQP5o+mL4aNUW/w2UQP5o+mL4aNUW/FiFrv4ISxL64QMq9nWUwvswkMr+RezK/el90vwsvJT75QYA+el90vwsvJT75QYA+KErHvjRqSj+V8/E+m2FIPy2WCj9gMJ2+pbyuPgheZb3ZM3C/pbyuPgheZb3ZM3C/Li9sv/+hsr7FjCi+DcmKvh/wAb9TX1G/40l+v5Lfpj33dqc940l+v5Lfpj33dqc9V1HDvgC7Tj+rUOY+E5MpP4FeNz/GuGC+mDYcPtA6+D7td1y/mDYcPtA6+D7td1y/2e9Sv3I9v77xKNq+C23VvqLrFb7jqGW/tH/Jvln+X7//ZJC+I7+DPvzhaD+a4aY+YgmfvsRmQ79mBRG/Mucuv1a7X74fXzK/eRAHvwKSQb/TO8a+8uQav+SUFL9uhgu/jZi7Pknbaz9qPgU+VLEWv1Nx177hszC/Bxj/PmkIVj+fNWs+cRXtPs8YYT8NauQ9bg7nPu9qVj9YqZ0+kJekvrHdZL/qy5++dQnSPmfJXz/UEIU+4nvdPntiXz8sQmg+wPP1PpxKUD9Dqac+Av5iPlxteD9q5MM9avsXv6llLr/ATNu+HgACvnBpCj+x41S/HgACvnBpCj+x41S/FRlCvuZAXz/G/eY+TA09PzKDML6e4Ca/TA09PzKDML6e4Ca/xd5OvzgWhb4NUwe/Fz1KP8XTHD8QUcw83yJbv8/w4D6Fgos+3yJbv8/w4D6Fgos+fmwNPvIt5r7K62G/qu+kvs085r5IRFW/zSuQPpMAbD8DRog+mY1Hvw7EHz/oN1w9tzJQPw1gDL+RX0e+P+pzv581j77j4/E9aRRZP8n09T5MZGW+FttQvqaRer8Btp88FttQvqaRer8Btp881O92PQBOfj9YT8i91O92PQBOfj9YT8i9OBtWP88gCj92aMa9Mmdxvxw9qL7hUFk9rD1jvsUAdb8ZFj++rD1jvsUAdb8ZFj++K51RPz1aAb80g4u+HLdXvxRYAT+VtD4+I4cHvaLWfT/hZAA+I4cHvaLWfT/hZAA+olRFvpaBdr+cXkE+olRFvpaBdr+cXkE+myFuv0Z6nb5HH00+Zu5jP8pfpD5pRaW+47o+P/h0Kb/iRKi9XURQv3zdFD+M8ro4ynRNPRDZdj+YOYW+ynRNPRDZdj+YOYW+7cZqP4nSDD4Flr++ooNvv6eEI77YN6E+DD2bvmBHYb+LMrs+KNUgPvaLaz/wtLe+KNUgPvaLaz/wtLe+aCApP1QtQL8tqta6b2BHv79yID/uos08iUlKv7HiHD8kUta7GWB0v/HkBL79TIk+B8TAvhdaXb9GSqo+bdUfP4ryR7/VqEy8WHdpP0nDBD4lR8e+hzsCPnVuaj9xHsO+hzsCPnVuaj9xHsO+mL5eP3/J4z5lOVm+0ElLP5wnGL8UKAK+bxBnvqpTeb9c7L08bxBnvqpTeb9c7L086utyv9rXn77+uzs9aRaePW4HfT9r+QW+aRaePW4HfT9r+QW+a3hIvzsfHz+Gyai8v1prP1YKmj5lzYG+lw5Yv5KMCD9Etme9txtCPyTmJr/24NI7IUhTvmUZdr8W0Do+IUhTvmUZdr8W0Do+IQ9vvxkqrb7isu49ltSCPSgTdT9EUZC+ltSCPSgTdT9EUZC+PENOPzvzFD8eEOO9a+RaP87B5b7+CoW+M5bwvco9eb/HaUi+M5bwvco9eb/HaUi+NBhnv8Fq2r4J/GS9YvSRveoBfj+bINE9YvSRveoBfj+bINE9llBfv4WN9T44ucI9ynBuP7LBkL3Pzra+3fk6v1RYHz8FBJC+l0r9vmp0Tb8Atao+ZZx/v0aokDyX11U9ANQbP69IRb+yMEE+F/cGP8T0Pz+Crcy+F/cGP8T0Pz+Crcy+QSobP2yMAb/QFh2/QSobP2yMAb/QFh2/mNFlP+Zmhb774bW+Vg5SPxysAj8gt4O+cO5MP0ARDj8suWe+blRYP7Hayb7X8bi+jVPpvID3b78IwLG+jVPpvID3b78IwLG+5U4uvKnqfz/7Ar685U4uvKnqfz/7Ar688R6OPbOXAD8zpVy/8R6OPbOXAD8zpVy/wWU/v6IPDz+Js7e+OBg8v+TXzL6BPAy/eC/IPQScRb5B8Hm/eC/IPQScRb5B8Hm/c4QfP+xMGz+0wvy+c4QfP+xMGz+0wvy+qH39PheQRr+Fcci+qH39PheQRr+Fcci+tYRgP5qQ4b4WRUS++TRxPwrEgT4tVmC+xHX7Pd9Xdz/qLmi+xHX7Pd9Xdz/qLmi+kG5IPwC9Gb/5QSa+IPsjvgtze79ak8i9IPsjvgtze79ak8i9FqFjP+7Kwz6KpIC+EOvUPaC+cD6jZXe/EOvUPaC+cD6jZXe/ATo+vw3OCT+dkMu+Uqxev2dryL4Pw5m+orWAvELU+b5Wa1+/orWAvELU+b5Wa1+/0FYKPxo3AD9OFi2/0FYKPxo3AD9OFi2/RM2sPg2rXr+sR7i+RM2sPg2rXr+sR7i+P+BWP1irCL/BgdG9ZJRvP6W3cT4d9IW+w8DAPMSlbD936cK+w8DAPMSlbD936cK+8YJEPyxYI79nwXa91xRYvuj6eb/U2DQ91xRYvuj6eb/U2DQ99a1rPz7RhT6chJS+lx8pvgNbDT6+/3m/lx8pvgNbDT6+/3m/7kpRv3c07D5QdbC+fepqvxsBtr4h8zW+sAMbvuEVAr+HDVm/sAMbvuEVAr+HDVm/O14TP2Q90T5dTzW/RZSbPuQVZ7/gAJy+ZkRCP/iWIr8OjxO+SK9uP+lTMb3uxLe+VAoNPlQ6Xz9AhPC+VAoNPlQ6Xz9AhPC+fLglP5ifQb/oGsG9/yKbvmjGcb+0eQI+B2RnPwVW/z2Ih9G+pU3LPG0rJD0kt3+/lb0+v6ofBT+e19W+szdxv25Tlb5UjCi+KPkQvjnvGL+tEkq/Ft5RPxtEET/Q3Z29pKFyv321or4xcty8DkZpvvxrcr84F2i+DkZpvvxrcr84F2i+WlBUP/8D/L4tXYe+pulev3Qd9T5i3eU9+Hupvd+efT9QF909+Hupvd+efT9QF909T8BLv0rHGj/9EQG9SM5QPyOlEL++vf69yyB3vyd8g76jaT49fll0vlyEeL85XNM8fll0vlyEeL85XNM88rBcP2UO8z6ipjW+RrRLPTzafT+PVvS9RrRLPTzafT+PVvS9vhxfvgiedL8cdUs+vhxfvgiedL8cdUs+4Stvv89PnL6/qjw+Kjw+P/7JKr/4UFW9MHNWvzHPCz+pWEC74x0bPS1AeD+RBHe+4x0bPS1AeD+RBHe+GmtnP7L0oz5VEZG+9u3lPg/NjD5QoVk/9u3lPg/NjD5QoVk/ka3VPh9qir6MG14/ka3VPh9qir6MG14/zO7ePutfQ74rOWE/zO7ePutfQ74rOWE/RZDFPoDDyb5Bi1U/RZDFPoDDyb5Bi1U/s9ElPqGo8j7nk10/s9ElPqGo8j7nk10/FiYev6Rvi76i2Tw/FiYev6Rvi76i2Tw/s4TzPkmSWL8M0na+zA3nPvsGCj2OSWQ/zA3nPvsGCj2OSWQ/EE8bvtBl7T5veF8/EE8bvtBl7T5veF8/bJ/ivp+Xuz47hVE/bJ/ivp+Xuz47hVE/E3INv5O8kD6Gukg/E3INv5O8kD6Gukg//pnpPlwu+D3srWE//pnpPlwu+D3srWE/o2qUPrv1576j0Vc/o2qUPrv1576j0Vc/B4kpv9ASpL2vtz4/B4kpv9ASpL2vtz4/hUslvynUuz1dEUI/hUslvynUuz1dEUI/dVhAu0Y8DL/sK1Y/dVhAu0Y8DL/sK1Y/76G3vnNUAb9Y8kg/76G3vnNUAb9Y8kg/76G3vnNUAb9Y8kg/Q24Uv9UxDT59kU0/AKYYv88ySz0RHk0/cGywvt8Qpr6nhWE/QmYCv88aJL4oclg/+zPivYEY3L5NZ2U/gCvOvvdauz7KyVY/JPw4vmWq7z6hcV0/NzkiPqaF4b61OGI/47a6PvwNxb4KDlk/frx5PeJ7+z6qcV4/91sAP9dflL5+s1A/ByUbPzGvdT13DUs/MqwdP1xhiL2j9Ug/PPMDPwPKaD6hg1M/+IkUP0XSOb43Qks/jV+fPjlZzD44yVw/DdIGv6bjgD5/3E8/x8IUv2a6B703K1A/nVWrPGdBqjqc8X8/nv7NvfESCb/Pq1Y/M+mHve+vob4RTnI/LjzdvhdByL5aBlA/eaehvuu4X77fYGw/Bsg3vwCASb3exDE/go3/vpSQ87vE0l0/ALyYPmsZhr729mo/K7vXPnDX+74dDUM/qiUpv3cfnj45JC8/Vx7hvsI0MD7qqmE/qOM4v1RGLj7ynis/ih/1vmeftj2ll18/Y0U+v3Ilej21jSo/5V/+vj6HDD3+/l0/E4byvhCQ+T6Txzs/J7WnvoxshD5eo2g/j2bYPok6/L2e22U/A8cxP5WSer6zOS0/EOfmPk6FPb1pLmQ/T8M+P3YRsr1pQyk/+2MevymzUL59O0I/LSrsvmxvt73K+mE/T2PlPv2njDzQ02Q/E046PzLeqD0ZTS4/Yd3GPuLe4z3FLGo/46gdP2oBlj4mOjs/HaxgPqTahD5GxHA/AHa6PkUfBD+zdkY/fgvBPhccSr78qGc/TR8XP6G1wr6NQzY/VLsAPTicrz4XVnA/AGRQPVCfHz+vt0c/NTJgvt3mGT/SvkQ/TLoCvginqz6x9W4/lhcjPvLQn75gxG8/IuE/Pu9YDL8LqFA/yQRQP1zarj7SZE0/kBEvP9lGTj+80g8/1vBRP4BXHT+3r1g/0jT+PrXITj/IxBs/MAFPP/MDFT/0jlI/wLLwPqIvVz+sb9A+zRdAP7jYQT8BuEI/unM7P7wuRT8qGTY/m81IP0HyLT8Twko/hKMoP873TD/4xx8/Tt1MP/sbGz/PXE0/8koVPz/rPT/+nkI/if9LP2qvEz806T0/7vObPnh3Qj/UE6M+PVg6P/o6Pj89uT0/ArM4P4qfST+0Hrk+OkhMP+YTxT4hQz8/CMAzP88PQj8GCCs/zihNPyKl3D6c3kw/CqDoPueKQz/LJiY/j6dGP4yiHD9+1kc/cJL+PumpRz+SbgQ/j4RIPzxfET/WNUc/wL8WP4h7Oz8mI5w+Y3dFP+JcBj9aED8/OelAP1O1Sj9urdY+o/ZCP97IqT6UEDc/8PChPkVTDD+mLpo+HAogP3PxNT8ooxA/yuSsPn26CD+kHqE+OlogP7jpMD8aNCY/en8yP/+nLj8Y5jU/Vh9JP6YT7z6P6hY/FAOxPug2Ij9UoKs+qqlKP8TIyz4syiA/TA3QPrUPKj96b/g+GokmPygY5j5RVSM/DA7YPva2Jz/ySuw+wuQqP0AO/j7qENE+kHW6PqMHKT9Y0Q0/GN7XPhhgrD64Mi4/tuMTP+6CLz8CvMI+m2tGP8j0tD7Cl/Q+4CS0PeoVFz/YFPA+qAu1PmDjnD1O7gA/DmDXPoYfGz9WL9U+S0EUP/hSyD4D9ws/5Pm2PiqEIT80me8+Q1kgP36n6T6sYB0/fnjcPmj6Iz+njQA/+ENGP2aZ+T6gpyM/4mT7Pru1BT+MFKg+qI8gPw0mLD97Ayc/7v8tP1sRMD9/QTA/dW4pP2EFJj+ARAE/hInCPl/yKj9vOiI/hFT5PkhFxD7bJjA/HXUYP0NE4z5aZsE+XHYxP6gx9j5tLC8/coDoPpqSKj9yQNI+k180PwiwEj8f2C0/StHhPkHrMj/s2vw+2p8nPyrPyT4iPzQ/FCwPPyIhGD9EcMA+naLjPjyGzD7wwNY+qBPJPqwnIT8IQA0/Ng35PgyBzD6PNQE/BCTLPg9BED9A8sQ+kkYKPwCfxD75EEo/Rz8ZP7E7Nj8CcpI+ObE6P16ERD/7NCw/rpmXPqxHMT96uj8/G3YuPwBMoD45pC8/CPqWPm+KND8cCUE/LnsmP6QIsj5/Tx0/1hW5PpSnEz9MGLs+e+fhPqD6sD4d9yk/dmoXPwqy9j5IYLU+tUojP1bYHz/qDP4+iAqzPmPkIT/CfyM/hcYyP5D4kz7S6jc/NjRCP9iILD8eNwc/BzIzPxJrBj+X2SM/AlMIPwxuKj/IMjQ/FiwaPy5kpT5riis/uCAvP9lhPj+mRRA/IxU5P/azEz99UDk/37gPP8yWLz8JRic/oz43P5wwJD+0VDw/+mMGPzdnOz/Vixo/LCg2P0x22z62yj0/5LcUPyS/NT+zhig/CMc1P3mAGT+O4zE/vpTLPmlQPj/2U/I+XsM3P4ZnBj/8wj0/xgf7PmPjNz/OQvQ+gxgxP4Q1Iz8fVzg/VvH7PjEKNz/caOM+G6k0P3nZNj+iATU/QGQxP3BpND8sPzw/LuA9P1htQD9f3jg/+pTDPr1PPT+EWd8+HxMxPwDBpz48XDY/JPO5Pr5HPD/Ox9Y+DU8/P/xvvD6NUkQ/rs/aPsdUPD+USrI+WHJFP7Yu8D5Y80I/QK7RPq0mQz/YHoI+TJ1HP5DMhT7vEkA/dhiTPueWRT+QLJo+gyM/P8gnej4yDUM/cV1PP278SD/kFj4/eKNPP3pZmD44VU0/Eh9HP53tTT/s24c+k8s5P9AnjD6UDj4/qKxHP1okRz8As1c+JIJQP/AsYz7RLlM/zitRP4rdSj+Uh10+dwxDP/CxTz5+V0s/alVXP9xhRj/8M00/1+9APxgURD9luU0/ZFJVP1L5UD+G+VI/oJFEP07CPD9F9ko/qEJJP0p/Xj92EaY+vRFgPwJGrz6Of1M/Li3APkGLVT+ggEE/eAddP+y9nT5nmlE/k9AuP5IxXD/66Mo+ar5bP8ZENT/ud2M/Siy5PljmST8u2jw/DOxQP6jImT5v4Gk/xGibPsjEZT8UkTw/2lZuPxQyrT4lYWs/un+kPoJiYT/rMkY/Ps1oP8itlD74HVc/gVg+P+YoRz9fGTg/q4diP/1FQz8WfGQ/a2A/P7SUWT/y/Tg/XFpWP4Ts2D6GxFQ/xtvoPtTtUT8XoB4/RLRZP2Kc/D6SJVI/SL0tP7bYWz88J80+JsVdPxKAID9Dy2I/Gl7yPot4Yj80bOg+XYlbP44KLj9aM2M/YpfWPt1pYj+6GOA+3ahuP+B24T7qwmk/XgckPy3Gbj/GHfI+l2duP6756T4Ad2g/hnguPyZ+bz8M+tg+Y1BPP0rKKj+Qg1s/iEIqPyR3aD+f8So/ifloP06qJj8ACVw/Cf4jP/NgTj+YfCA/Z09dP02ZDD82j14/3hwKP8IHTz/QhAE//HRNPxYWBj+aPlw/T0oaP8LEYD9gMQY/Nr5cP17yED8aQVY/QmkbPzO3Wz/UzQI/DbtWP8wNCj8W7Fc/je4GP4g+Vj9m/w8/KR5cP13GFj/8vlU/mjkXPwTFVT/S8xM/OWtcP827Ez+49mA/iYYRP2+PYj83zQs/+IFhP39VDj/4z2A/Vb8ZP7rWZD8dpQg/DtBgPwHtFj8yzWA/H/oTP1/OHj/AZ3w+dD4ZPxhSej72uxQ/ZJJ2PnhBHD9ZTkg/8cIkP8gJfD6v1yc/PDRKP021GT/4T0U+fBocP/WUVz8s3B8/EMZKPrB8JD8Mz1g/6W8eP4wxWz7oEBo/iLpaPjSaFT8w1ls+EQMcP6WCTz+xuyM/NIFiPnKsJj+GG1E/8voeP1jSZz4HtRk/2CtnPtJwGT/U3HQ+q5AkP7g1dj4/qCc/H7JLP8j9Hj84cHY+ptYUP2Ddbz6HOBw/aQpKP/5OHz/7u0g/E/UaP9QCQT6zxx0/PmRYPzjhHj8CBVA/VXsfP3OkSj/HwiU/cEpLP9liHz8kBUQ+OJQiP2D7WD+52CQ/psJQP0GDJj/2rkk/x7FJPxgFnT5Fmk0/aAGkPnR7UT/cTvw+IpkTPzSppD4isCQ//f42PxiTLj9iWzs/CL8gPx4fpj7tHhQ/zPaCPnaXHD9RPEQ/kpgYP04ThD60qh4/oG+GPoprJT+Q4IY+vwgpP9CrRT/YsB8/DcNDP4sOJz/IFEU/O4YSP0wAjT4lUh0/09g+P5vEFj8sfZE+UJcfPxC8kz58bic/2t+PPojlKj+7wUA/FT8gP2pJPz+WjCg/HlRAP56EET8GQ5A+MukdP6DePD/4DBY/puCWPs0BID8wqZg+b08oP6hHkj4y4Ss/zpM/P55lID9rHj4/o20pP7q1Pj+lKA8/VMuUPvYrHz8szjk/7iUVP7jWnT4l4R8/yFOePrdfKT8w75U+ZyguPws+Pz+TWyM/OLU6P7J2Kz8+HT0/IOkiP3o1ST9oQBw/DPZaPvjcIT/TY1A/nqEpPzAtOT+yXyM/6mtEP57pJD8Taj4//VccPxB/Zz4jaSc/O+k7P2oGHD/sXHs+TzccP4imdT71LRs/oJySPg6fIj9090o/iYMaPzwVnj5jBxs/8MSXPqKhGz94QYU+47wcP0jUSD7YZSQ/xc4/P/MrHT/4g0I+9S0gP8+vWD/64hk/MPNgPu7LIT+Yo1Y+kpQlP0r1VD92VB4/ojRUP2q1Hj/ogWE+wacXPwiTUD7GDhw/zYtTP3u2Iz8E31Q/eAUhP8+JVD8zTBw/nDphPtDSXD8+z0A/cLllP+DiqT5lCF8/Ly88P9svZD8cvaA+mMFgP+7qOD9h52g/MC+zPtx2Wz/F2UM/WupiP9g1mT6DJUU/YPhtPtD3TT8aHk4/4DdPP2ByeT4FQlA/ciVMP2w9ST9YkHQ+oA1KPzJDUT/8F0E/3OxkPlkyRz9uWVM/B8RjP7hDIj+4yGg/8D3yPkWBYj8sVCU/XoloP8zH4D4ScGg/8DLpPln9YT8Smio/LgBiP4tBLj+/WGk/tMjXPlOPYD8K9Qo/NJxeP/baEz942l4/cjwRP0iHXj/SBBo/vs1iPz9rBz+waF8/ZncNPxp3Xj+w2RY/ku5YP/3/Fj8eGFk/0NcTP2B+WT/ieBA/PAVaP4xTCz+mPVs/tYUIP9s/WT/K2Ro//D1eP5p/BD8hTmw/ZtCZPizcbT+w7qE+YDhpP9uPPj81dnE/VIaoPuQqaD9wckE/rtFkP42mRz+1Umw/sm+SPq6WZj+S5EQ/rOVwPxwF4j6wrGw/NmUrP2LMcD+ou+k+N5ttP660JD8OdXI/xFHxPjJLbT+unic/mDpsPy2cLj+593I/7vLZPjcUSD8oiU8+KpVLP9ApVD6D4lA/OHFQPgPcVT+AOVU/ABdUP+ZGVz8CQkU/KG1BPrpOTj+3VVo/VA9RPyI4WT/WQFE/Pt8CP/bhUD8oZho/cD1QP77dDz8RY1A/WMwUP0rdUD9Miwc/05xKP1DVKj6+O1Q/fJFfPwDLTz8cszI+d+NZP1ArXD/EnEw/qMhEPsmyST8wtkA+EgRJP0hfRz7LTEw/BMxKPt9CUT+AtT0+NolYPzBHWT+Qd0c/aCgzPvZFUT8GVl0/riBMP+DyJj5+D1Y/wjVfP0JlVD/kHV0/rDRXPz6UWz8qLk8/uHsrPuiUWD9cUF0/O2BtP85uSj9KeHQ/fMqRPum9cD/ytkM/7492P4Aomz5iw3E/iMycPsPNcD+sM5c+20BoPzAaST8p2G8/ojGQPjlXcD+kXZ8++qtsP6COQD+WlXQ/kNqjPta7bj8MOJg+jQ1vP8NrSD+osHY/oquSPrmlaj8og0Y/stlrP3aEQz9uR3A/Ma5FP0amdz98RJg+9np2PxApLj8kHXs/rMThPmwAdz/+Lyc/cmV6P6Rj6z4ajXU/1jDpPsuqdT8kReM+MP5vP9K/Lj9LcXY/0uvaPjAxcz+kfek+gnNxP/xhJT/vI3Y/uoXwPn8icz9Yk+I+PgB3Pw0gLD+IcXw/WDjkPj7icD/M2Cs/25xxPw+TKD+2eXc/0ZQpPwZIfD+GH+k+1yBpPyQ4Dj92c2c/WKQRP86fZT9S4g8/AHVmP6PBDT+8rGQ/UjQZP3XPZz8dAQs/ePhjPyhUDz+HzWQ/jCMSP6HTZD8IwAw/zrRpP0mkDz/aQGU/+2QWP7hPZT94NRQ/J7ZoPzdmET/uJEY/sNViPpF4Tz/Qi1A/At1PP6hPbj5ruFE/oKhOP3sNSj/4C2k+guNLP8tKUz86EkI/aE9aPuxEST9sV1U/Pq1fP54KQj9KjWg/TDGnPj7CYT/Nxz0/MENjPwG+Oj8en2s/ojCwPiUIZz/wEp4+r2xeP1gGRT/M22U/0PGWPnjDZj+LJSM/csdrP9wt8j5nvWU/Pf8lP9Rraz9Qluk+PjplP9jFKj+XO2U/CF0uP3JrbD9gYdg+HplrP1Yf4T5MZeg+gETmPP7FEj/cx94+mFjzPmycAj46RRk/3nv7PvTn9D5gxtw9GSwYP8qn9T6Mmus+zEYlPvLCGj9t3QI/VtnSPoDlUjxgdA0/UGLWPnYCvj7sOyg+LrHlPmTh1z5lH1Y/1PXJPqIp8z4AqIs9K98VP86H6j4+cMc+AHSpPAMRCj8cNNU+7s2+PqAMCT3VMgc/kJjVPjrFuD7QdVU9xksEP8yi1j6KWO8+4OBBPeiEFD+Cv+Q+Pq3jPuBAND7tBhs/ZsoFP+bStj7cMw0+oA3wPub92D4OOrQ+QBHcPaQY+T6UTNg+HjXaPhRXPT7Cwho/E4IIP7Yqyz6Y6Tk+gLPbPmib1j7I1Rk/JSUNP01e5j64kdQ9KDLmPgg0vj1Ye98+AHV1PcJO4z7YZpA9/J7TPkAaUz1qP+E+1H8IPlji3D5gvhA+A1fNPgC4ZD1Plsg+qMKAPfKr1z7gvhU+/0PFPpDKlT2vMcQ+sH72PbXDwj4ILtQ9TSbIPpwgCj4WN8M+2GaxPWtkzz7Y2xM+eILlPojV6j2eaOU+iOqnPWKY1D6QJNk9zvHSPmCokDzO8dI+YKiQPNRK5z4ARAM91ErnPgBEAz3JdfE+kCePPcl18T6QJ4897wPAPkD2Fz3vA8A+QPYXPSKi8T5Q+gA+IqLxPlD6AD5FG/M+WMLbPUUb8z5Ywts9is/yPqBjtT2Kz/I+oGO1PWFS6j7gtiE+YVLqPuC2IT6tzLY+aG2fPa3Mtj5obZ89vQa2PkgX2z29BrY+SBfbPRDb7T4AoU09ENvtPgChTT2Werg+5PoKPpZ6uD7k+go+yUO/PuCBJD7JQ78+4IEkPpywyz64MzU+nLDLPrgzNT4wUbo+8B5gPTBRuj7wHmA9w+TZPmBwOD7D5Nk+YHA4Pv7V4j6c2y8+/tXiPpzbLz5AK8g+4BnNPEAryD7gGc08CwYMAAsQDAYVFAAAFRARABUQEQAVEAAAFRYQABAVDwAQCxEABgUHCwYFCwALBgUKCxAKBRALDxUQFQ8LFRAUABUQFAAGBQcAFRQAAAYFAAAGBQoLBQYAAAUGCwoLCgYACwoPEAULCgYKDwULEA8LChAPFQsPChUQFRAUDxUPFBAVFA8AFRQAABUUEAAGBQAAFBUPAAYFAAAPEAsKBgoFCwUGAAABAgAAAQIAAAECBQABAgAAAQIAAAECBQAFAQIKDxAVAAEFAgABBQIACwoPEAUKAAAPFAoACg8FAAoFDwAPChQAFA8AABQAAAAUAAAAFAAAABQAAAAFCgAACgsGBQoPAAUKDwAFAQAUBQEAFAUFCgEABQEKAAEFAAAPChQACg8FAAoFDwAUDwAADxUUEA8UCgABAAIAAQACAAEFAAIFAQoCAAEKFAEAFAAAFAEPAAEUABQADwAUAAEADxQKAA8KFAAKBQ8AFAAAAAoPBQAUDwAABQoAABQAAAAFAQAAFAABABQAAAAUAAAAAAEUAAEAFAABBQAAAQUAABUQFA8GBQAABgUAAAUCAQYFAgEGBQIGAQUGAgEFBgIBBQECCgUBAgABBQIAFAABDxQAAQ8AARQAAAEUAAEAFAABABQABQYAAAUGAAAUDwAAFAAAABQAAAABBQIKAgEFAAUBAgAUFQAAFBUPABQVAAAKAAUPDwoUBRQPAAAUDxUKCg8FABQVDwAKDwUUFA8ACgoFDwAPFAoAFA8AAA8UFQAPFAoADxQAChQPAAAPChQABQIBBgUKAQ8FAgYBBgUAAAoFDwAPCgAABQYKAAUKBgAKDwUACgULBg8KEAsFCgYLDxAVFAoPCwAHBgAABwYAAAYHAAAGCwcABwYAAAcGAAAGCwcMBgsHDAYHAAAGBwAABgcFAAYHBQAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHBgAABgcFAAcIAAAHCAAABgsFAAcGAAAMCwAADAAAAAsMAAAMCwAADAsAAAsQDBELEAwRDAsAAAwLAAALBgwFCwYMBQwNAAAMDQAADA0AAAwNAAAMDQAADA0AAAwLAAALBgUMDA0AAAwNAAAMCwAAEAsRABARFQAQFREAEBURABALEQwQCxEMERAAABEQAAARAAAAERALABEQCwARAAAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEAsRFREQAAASEQAAEhEAABEQAAAQFRELFgAAABYAAAAVEA8UFRQAABYXFQAWFxUAFhcVABUWEAAVFhAAFRYAABUWAAAVFgAAFhcVABUWAAAVFgAAFhcVABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAACAwAAAwAAAAMAAAADAgAAAwIAAAMCAAADAAAAAwAAAAMCAAACAwAABgsAAAsGDAoVEA8AAQIAAAIBBQAFAgEAAQIFAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgAAAAIAAAACAQAAAgEFAAIFAQACBQEAAgAAAAIFAQACAQAAAgEAAAIBAAACAQUAAgUBAAIFAQACAQAAAgUBAAIBAAACAQAAAgEAAAIBBQACBQEAAgUBAAIBAAACBQEAAgMAAAMAAAADAgAAAgUBAAIDAAACAQAAAwIAAAIBBQACAwAAAwIAAAIBAAADAgAAAgEFAAIBAAACAwAAAwAAAAIAAAADAAAAAwAAAAMCAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAMDQAADAAAAAwNAAAMAAAADAAAAAwAAAAMAAAADAAAAAcAAAAHBggABwYAAAcGAAAHAAAABwgGAAcIAAAHCAAAERIAABESAAAREgAAEQAAABEAAAAREgAAERIAABESAAAWFwAAFhcVABYXAAAWFwAAFhcAABYXAAAWFwAAFhUXABYVFwAWFRcAFhUAABYVAAAWFQAAFhUAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAAEhEAABIRAAASAAAAEgAAABIAAAASEQAAEhEAABIRAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAABUQAAAVEBYAFRYAABUWEAAVAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAcAAAgHAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQwAAA0MAAANDAAADQAAAA0AAAANDAAADQAAAA0AAAANDAAADQAAAA0AAAANAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAFwAAABcAAAAXAAAAFwAAABcWAAAXFgAAFxYAABcAAAAXFgAAFwAAABcAAAAXAAAAFwAAAAcIAAAHCAAABwgGAAcIBgAHAAAABwgAAAcIAAAHCAAADA0AAAwAAAAMDQAADA0AAAwNAAAMDQAADA0AAAwNAAAREgAAERIAABESAAAREgAAERIAABESAAAREgAAERIAAAUKAQAFCgEADxQKAA8UCgAPCgAUDwoAFBQPAAoUDwAKAQUKAAEFCgAUAAEAFAABAAsQAAAKBQ8ACgUPAAEFAAoBBQAKAQAFAAEABQABAAUUAQAFFAoFAAEKBQABFA8AABQPAAAUAAEAFAABAAABFAAAARQAFAAPABQADwAUAAEPFAABDxQAAQ8PCgAUCg8ABQUKAQAKBQAPBQEAChQPAAoUDwAAAQUACgEABRQUAA8BAQAFFBQAAQABABQFFAABDwEAFAUUAAEPDxQACgoFAA8AFAEPAQUKAAEFCgAFCgEABQoBAAoFDwAKBQ8AAQAFFAEABRQPFAoA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GAAOArsAHAAwAAcAHAAHANAABwAwAEsABwBLACIBVQCKAIEAVQCBAFoABwIFAkwABwJMAEcAjQB7AF4AjQBeAIIACwDLAAEACwABAAwAOwBeAHsAOwB7AHoATwB/AFEAjACPAJEAjACRAI4ACQIaAnwACQJ8AEoAiAAiACEAiAAhAIAABQIJAkoABQJKAEwADQIcAmMADQJjAGAAAgASAAYAhgCEAB0AhgAdAB4AGwAmADAAGwAwABwAPwAhASABPwAgAScALwCTAJQALwCUAFAAJAAgAB8AJAAfAEsAegA5AEoAegBKAHwAegB7AFwAegBcADkAIQACAOoAIQDqACQAcgBWAFQAcgBUAHQAIwEpACwAIwEsACsAZgBkABYCZgAWAhQCXgA7AD0AUQB/AFAAUQBQAIMAEgBnAA8AEgAPABAAOgBWAHIAOgByADwAiQAaAB0AiQAdAIQAFwAYALsAFwC7AAAAEQC0AAkAJgAbAM8AJgDPAAgABgASABAARABFAAsCRAALAgMCvwAOAggAvwAIANQANgA3AEkANgBJAEgAZwAeAA4AZwAOAA8AFAAnACABFAAgAaQAGQCUAJMAGQCTABYAGwAcANAAGwDQAM8ANgBbAFkANgBZADcAJgAIAA4CJgAOAjMAlACJAIMAlACDAFAAFgAKAAsAFgALABkADQAdABoADQAaAAwAowATABQAowAUAKQAWwA2ADgAWwA4AFgADwAFAAYADwAGABAAEwCjACMAEgACACEA6QAfACAA6QAgAOoA0gAHACIB0gAiAQQAqAAgASEBqAAhAcMAEQB5AGkAbAAoAHgAbAB4AG0AUgB2AHQAUgB0AFQAfQB/AE8AfQBPAC4ALgBPAE4ALgBOAC0ARgBSAGQARgBkAGYAMQBxAF8AMQBfAHAAUwBVAHMAUwBzAHUAWgA9AHMAWgBzAFUAywALAAoAywAKALcAKABsAJkABQAPAA4ABQAOAOYADAABAOEADADhAA0AVwA1ADkAVwA5AFwAEgAhAGcANwBZAF0ANwBdADQAJgFsAGoARgBNAHYARgB2AFIAfQBKASUBfQAlAS8AKwBGAHEAKwBxADEAYgB8ACACYgAgAiMCQwAWAmQAHgJDAGQAHgJkAGMAHgJjABwCRQBlABICRQASAgsCNwA0AEQANwBEAEkASABHADgASAA4ADYANQBXAFgANQBYADgATABKADkATAA5ADUAZQBmABQCZQAUAhICYABhACICYAAiAg0CIgBnACEAFgCWACUAFgAlAAoAeAAoACMAeAAjAGgAHgBnACIAbQBqAGwAMgBsACYBegB8AGIAegBiADsAMgB+ADEAbwBsADIAXgA9AFoAVgA6AGEAVgBhAGAAUgBUAGMAUgBjAGQAcQBGAGYAcQBmAGUAXwBxAGUAXwBlAEUAVABWAGAAVABgAGMAUQBTAHUAUQB1AHcADQDhAOYADQDmAA4AUQB3AE4AUQBOAE8ADAAaABkADAAZAAsAFwA/ADMAFwAzABgAeQARAJYAeQCWABUANABdAHAANABwAF8AcABdAD4AcAA+AG8ALgAtACoALgAqACQBSQBEAAMCSQADAhgCGAIQAkkAQQAHAkcAQQBHAEgAaQCsALQAaQC0ABEAJADqACAAPwAXAAAAPwAAACEBIgFLAB8AIgEfAOkAfAAaAiACNQA4AEcANQBHAEwALABNAEYALABGACsAHQANAA4AHQAOAB4AUQCDAJAAUQCQAFMAjACOAEsAjABLAJ8AXAB7AI0AXACNAJEAhgAeACIAhgAiAIgALgAkAUoBLgBKAX0ALwBQAH8ALwB/AH0AJgF+ADIAIwErADEAMgAxAHAAMgBwAG8AfgAjATEAigCGAIgAigCIAIEAJwAjACgAJwAoAJ4AMAAmAJ0AMACdAJ8AgwCJAIQAgwCEAJAAigCQAIQAigCEAIYAgQCIAIAAgQCAAIIAMwA/AJwAMwCcAKAAJACFAIAAJACAACEAjwCMAJgAjwCYAJIAWwCHAIsAWwCLAFkAkQCNAIUAkQCFAI4AkwAvACUBkwAlAZUAVQBTAJAAVQCQAIoAWgCBAIIAWgCCAF4AmwCgAJwAmwCcAJcAVwCPAJIAVwCSAFgAkgCHAFsAkgBbAFgAPwAnAJ4APwCeAJwAGgCJAJQAGgCUABkAjwBXAFwAjwBcAJEAJABLAI4AJACOAIUAiwCHAJsAiwCbAJcAhQCNAIIAhQCCAIAAmQCaAJ4AmQCeACgAlgARACUAbgB5ABUAbgAVAJUAJQARAAkAlgAWABUAnwCdAJgAnwCYAIwAmgA+AIsAmgCLAJcAbABvAJkAmQBvAD4AmQA+AJoAmwCHAJIAmwCSAJgAnACeAJoAnACaAJcAnQCgAJsAnQCbAJgAnwBLADAAnQAmADMAnQAzAKAA7QHrAbYA7QG2AK8AqACqAKIAqACiACABfwGCAfMAfwHzAOsA7gHsAa4A7gGuALAAswC4ALcAswC3ALQA1wAHANIA1wDSANYA8wH2AcYA8wHGAMcApACiAKEApAChAKMAvgABAM4AvgDOAMAAAAIBAtsAAALbAOAAowChAKUAowClAKsApAAgAaIAhQGEAfYAhQH2AO0AcQFtAbgAcQG4ALMA9QH0Ac0A9QHNAMUAwwAhAb0AegF5AeIAegHiANgAZQFnAbkAZQG5ALoA+QH3AcQA+QHEAMkAjwGRAcwAjwHMAMgAcwFxAbMAcwGzAKYABACiAfEABADxAO8AygDOAAEAygABAMsAigHEAMcAigHHAIsBuwC6ALkAuwC5AAAAvwDBAA4C8gDwAKYB8gCmAaQBfgHtAPYAfgH2AH0BkwGXAeQAkwHkAOMAkQGOAc0AkQHNAMwA5gDhAOIA5gDiAOUA2ADiAOEA2ADhANMApwC3ALgApwC4AKkAdwHaANcAdwHXAHgBgQHnAO0AgQHtAH4BiQHvAPEAiQHxAIcBswC0AKwAswCsAKYAeQF2AeUAeQHlAOIA0ADXANoA0ADaAM8AfAGAAewAfAHsAOgAoAGhAbUAoAG1ALIABgAFAKMBBgCjAaUBfAHoAOcAfAHnAIEBhgGFAe0AhgHtAOcAhgGHAfEAhgHxAPAA+gH8AeQA+gHkANwAJgFqAEMBJgFDAUIBOQExAS8BOQEvATcBXgEOAQwBXgEMAVsBQgFDATsBQgE7AToBKAEBARYBKAEWAS0BUgFJAR4BUgEeARsBGQEaARUBGQEVAQsBYwFIAQkBYwEJAVoBDQESARsBDQEbAR4BYQEdAQcBYQEHAVwBUgEbAR8BUgEfAUcBYAEFARgBYAEYAV0BTQEPARABTQEQAVABHAFYAVYBHAFWAQYBVwFMAT0BVwE9ATUBSgEkAUUBSgFFAU4BLgEfAQMBLgEDASwBMQEpAScBMQEnAS8BUAFPAf4AUAH+ABMBVQEqAf4AVQH+AE8BNwE/AUEBNwFBATkBFgEBARUBFgEVARoBVAE6ATIBVAEyAVEBSAFWAQQBSAEEAQkBWgFfAQoBWgEKAQ8BAwEfARsBAwEbARIBRwEfAS4BRwEuAUsBFAEQAQ8BFAEPAQoBMgEzASsBMgErASoBJwEpAf8AJwH/AAABKgErAQIBKgECAf4ASAEIAQYBSAEGAVYBEQEMAQ4BEQEOARMB1QDRAOYA1QDmAOUA0AAHANcAuwAOAsEAuwDBALoAgwHzAPYAgwH2AIQBTAFOAUUBTAFFAT0BUQEyASoBUQEqAVUBKAEtATUBKAE1ATABfgAmAUIBfgBCAVMBSwEuATYBSwE2AVcBNQE9ATgBNQE4ATABKQAjAUEBKQBBAT8BPgE2ATQBPgE0ATwBPQFFAUABPQFAATgBNgEuASwBNgEsATQBRgE+ATwBRgE8AUQBAAH/ABABAAEQARQBygDLAMIAygDCALwAJAEqAEABJAFAAUUBagFkAcoAagHKALwAgwGIAesAgwHrAPMARgFEAWsARgFrACUBZAFmAc4AZAHOAMoAfQGCAfwAfQH8AP0AAAC5AL0AAAC9ACEBOgE7ATMBOgEzATIBUwFUATkBUwE5AUEBCADZANQA6gHuAbAA6gGwAK0AEQETAf4AEQH+AAIBeAHXANYAeAHWAHUBkAHJAMQAkAHEAIoBcgGlAKEAcgGhAGwBmgGfAbEAmgGxAK0AYgFhAR4BYgEeAUkBzwDaANkAzwDZAAgAXQFiAUkBXQFJARkBQgE6AVQBQgFUAVMBLQFLAVcBLQFXATUBIwF+AFMBIwFTAUEBMQFRAVUBMQFVASkBPgFGAU4BPgFOAUwBFgFHAUsBFgFLAS0BOQFUAVEBOQFRATEBKQFVAU8BKQFPAf8AEAH/AE8BEAFPAVABVgFYARcBVgEXAQQBJQFKAU4BJQFOAUYBNgE+AUwBNgFMAVcBDgFNAVABDgFQARMBGgFSAUcBGgFHARYBXgEIAUgBXgFIAWMBGgEZAUkBGgFJAVIBDgFeAWMBDgFjAU0BGAFZAWIBGAFiAV0BWQEdAWEBWQFhAWIBCQEEAV8BCQFfAVoBCwFgAV0BCwFdARkBHgFhAVwBHgFcAQ0BTQFjAVoBTQFaAQ8BCAFeAVsBCAFbAQYB8gH0AWYB8gFmAWQB+AHyAWQB+AFkAWoBvQC5AGcBvQBnAWsB8wH3AWcB8wFnAWUBwADOAGYBwABmAWgBugDBAGkBugBpAWUB8AFyAWwB8AFsAeoBoQCiAHABoQBwAWwB8QHvAXEB8QFxAXMB7wHrAW0B7wFtAXEBogCqAG4BogBuAXABqQC4AG0BqQBtAW8B/QF4AXUB/QF1AfsB1QDlAHYB1QB2AXQB/gH8AXYB/gF2AXkBAQJ3AXgBAQJ4Af0B/wH+AXkB/wF5AXoB2QDaAHcB2QB3AXsB9gDzAIIB9gCCAX0B+AB8AYEB+ACBAfkA+AD7AIAB+ACAAXwB+QCBAX4B+QB+AfcA9wB+AX0B9wB9Af0A+gD8AIIB+gCCAX8B9ADuAIgB9ACIAYMB9ACDAYQB9ACEAfUA5wDoAIcB5wCHAYYB8ADyAIUB8ACFAYYB7ACJAYcB7ACHAegA8gD1AIQB8gCEAYUBzQCOAYwBzQCMAcUAxwDGAI0BxwCNAYsB3QCWAZQB3QCUAd4A3gCUAZIB3gCSAdsA2wCSAZkB2wCZAeAA3ADkAJcB3ACXAZUB4wDfAJgB4wCYAZMBsACbAZoBsACaAa0AtgCeAZ0BtgCdAa8ArgCcAZsBrgCbAbAAtQChAZ4BtQCeAbYABQADAKMB9QDyAKQB9QCkAaUB8ADxAKIB8ACiAaYBogHpAOoAogHqAKYBowH0APUAowH1AKUBIgHpAKIBIgGiAQQAAwDuAPQAAwD0AKMBpAECAAYApAEGAKUBpgHqAAIApgECAKQB4wHfAeAB4wHgAeUBvgHEAcEBvgHBAb0BrAGtAa4BrAGuAasBrwGpAasBrwGrAa4BoQG1AbYBoQG2AZ4BxQHJAcgBxQHIAccBkwGYAdEBkwHRAdkBqQG3AbMBqQGzAacBlQGXAdoBlQHaAdQB3wHeAd0B3wHdAeABuwHCAcgBuwHIAckBvAHKAcYBvAHGAboBzwHOAcwBzwHMAdABwwG8Ab0BwwG9AcEBiwGNAcMBiwHDAcEB2AHMAc4B2AHOAdwB3QHmAecB3QHnAeEB+gDhAecB+gDnAfwAuQHFAccBuQHHAb8BkgHWAdIBkgHSAZkB+ADlAeIB+ADiAfsA1wHbAdoB1wHaAdkBnAGvAa4BnAGuAZsBzwHTAdUBzwHVAc4B0AHWAdMB0AHTAc8B3QHiAeUB3QHlAeABuAGqAbABuAGwAbYB5gHpAegB5gHoAecB4wHkAd4B4wHeAd8BngG2AbABngGwAZ0BsgGoAbQBsgG0AbUB5gHdAd4B5gHeAekB5wHoAf0A5wH9APwA2wHNAdQB2wHUAdoBvgG6AcABvgHAAcQBmwGuAa0BmwGtAZoBlAHTAdYBlAHWAZIBlgHVAdMBlgHTAZQBqwGpAacBqwGnAawB/QDoAeQB/QDkAfcAtAG4AbYBtAG2AbUBzAHSAdAB0gHWAdABjgHIAcIBjgHCAYwB+QDjAeUB+QDlAfgAywHXAdkBywHZAdEBugG+Ab0BugG9AbwB+QD3AOQB+QDkAeMBpwGxAawBsQGtAawB6QHeAeQB6QHkAegBrQGxAZ8BrQGfAZoBsgG1AaEBsgGhAaABwAGQAYoBwAGKAcQBxwHIAY4BxwGOAZEBxAGKAYsBxAGLAcEBvwHHAZEBvwGRAY8B2QHaAZcB2QGXAZMBtQC2AOsBtQDrAe8BsgC1AO8BsgDvAfEBsQDwAeoBsQDqAa0AbAFwAe4BbAHuAeoBcAFuAewBcAHsAe4BbwFtAesBbwHrAe0BxwDEAPcBxwD3AfMByADMAPIByADyAfgBzADNAPQBzAD0AfIBawFnAfcBawH3AfkBaAFmAfQBaAH0AfUBZQFpAfYBZQH2AfMB3wDjAP4B3wD+Af8B2wABAv0B2wD9Ad4A4wDkAPwB4wD8Af4B3gD9AfsB3gD7Ad0AdAF2AfwBdAH8AfoBewF3AQECewEBAgACKgIpAjYCKQI0AjYCMAIvAjYCKwI2AigCLQIqAjYCNAIkAjYCJAIlAjYCJQI1AjYCNQInAjYCJwImAjYCNgIyAjACLAI2AisCLgI2AiwCMgI2Ai4CLwIxAjYCMQIzAjYCMwItAjYCUwI9AhMCUwITAhUCRAJCAgYCRAIGAkAATAI8Ag8CTAIPAhcCTQJJAh0CTQIdAhsCOgJMAhcCOgIXAgICPAJEAkAAPAJAAA8CTwJNAhsCTwIbAgwCAgIKAjgCAgI4AjoCVQJRAiECVQIhAh8CRwJTAhUCRwIVAkIARgJYAhkCRgIZAggCUQJPAgwCUQIMAiECPQJZAhECPQIRAhMCSQJHAkIASQJCAB0CWQI4AgoCWQIKAhECQAJGAggCQAIIAgQCWAJVAh8CWAIfAhkCQgJAAgQCQgIEAgYCJAI0Aj8CJAI/AkECKgItAlYCKgJWAlcCNAIpAkUCNAJFAj8CKwIoAjcCKwI3AloCMAIyAkgCMAJIAkoCLAIrAloCLAJaAj4CMwIxAlACMwJQAlICKQIqAlcCKQJXAkUCMgIuAlQCMgJUAkgCLQIzAlICLQJSAlYCMQIvAk4CMQJOAlACNQIlAkMC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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import new file mode 100644 index 0000000..dcf37b5 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://cjrac51wst3tu" +path="res://.godot/imported/Hand_low_R.gltf-8b164aff014e5c5bfa2eccc8e40e7e97.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" +dest_files=["res://.godot/imported/Hand_low_R.gltf-8b164aff014e5c5bfa2eccc8e40e7e97.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/hand_l.gltf b/addons/godot-xr-tools/hands/model/hand_l.gltf new file mode 100644 index 0000000..65da8e5 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/hand_l.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_L", + "rotation" : [ + -0.07576872408390045, + -0.019257033243775368, + -0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + -2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_L", + "rotation" : [ + 0.05564067140221596, + 0.010326135903596878, + 0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + -2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_L", + "rotation" : [ + -0.04595031589269638, + -0.027135659009218216, + -0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_L", + "rotation" : [ + 0.3235369920730591, + -2.565749491623137e-05, + -0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + 0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_L", + "rotation" : [ + -0.052288394421339035, + -0.0005572127993218601, + 0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_L", + "rotation" : [ + 0.014225997030735016, + -0.011990753002464771, + -0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_L", + "rotation" : [ + -0.013683199882507324, + -0.024668212980031967, + -0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_L", + "rotation" : [ + 0.11122288554906845, + -0.0027781203389167786, + 0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_L", + "rotation" : [ + -0.0005887771840207279, + 2.10358793992782e-05, + 0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_L", + "rotation" : [ + 0.013688242062926292, + 7.99239132902585e-05, + 0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_L", + "rotation" : [ + -0.013931511901319027, + -0.00014242221368476748, + -0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + 5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_L", + "rotation" : [ + 0.03945539891719818, + 0.004928736016154289, + -0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + 1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_L", + "rotation" : [ + -0.01194659061729908, + 0.000966736872214824, + -0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + -7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_L", + "rotation" : [ + -0.03585463762283325, + 4.2005005525425076e-05, + 0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_L", + "rotation" : [ + 0.03305169194936752, + -0.006719753611832857, + 0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + 5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_L", + "rotation" : [ + -0.011351789347827435, + 0.012621401809155941, + -0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + -2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_L", + "rotation" : [ + 0.01732625439763069, + 0.01860846020281315, + -0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_L", + "rotation" : [ + -0.05105672776699066, + -0.002022986998781562, + 0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_L", + "rotation" : [ + -0.07119493186473846, + 1.573348527017515e-05, + 0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_L", + "rotation" : [ + 0.015836291015148163, + -0.01933973841369152, + 0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_L", + "rotation" : [ + -0.018054774031043053, + 0.011455277912318707, + -0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + 2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_L", + "rotation" : [ + 0.044925764203071594, + 0.03280799090862274, + -0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + -4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_L", + "rotation" : [ + -0.08928601443767548, + 0.003168066032230854, + -0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_L", + "rotation" : [ + -0.09176954627037048, + 2.456200854794588e-05, + 0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_L", + "rotation" : [ + 0.7065238952636719, + -6.479929197666934e-06, + -8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + 0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_L", + "rotation" : [ + -0.7065169215202332, + 6.472751010733191e-06, + 6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Hand_L", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Hand_L", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 1764, + "max" : [ + 0.03656641021370888, + 0.09001174569129944, + 0.02576880156993866 + ], + "min" : [ + -0.03117927722632885, + -0.06858222931623459, + -0.18575307726860046 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 1764, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 1764, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 1764, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 1764, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 9156, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 21168, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 21168, + "byteOffset" : 21168 + }, + { + "buffer" : 0, + "byteLength" : 14112, + "byteOffset" : 42336 + }, + { + "buffer" : 0, + "byteLength" : 7056, + "byteOffset" : 56448 + }, + { + "buffer" : 0, + "byteLength" : 28224, + "byteOffset" : 63504 + }, + { + "buffer" : 0, + "byteLength" : 18312, + "byteOffset" : 91728 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 110040 + } + ], + "buffers" : [ + { + "byteLength" : 111704, + "uri" : "data:application/octet-stream;base64,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CAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABwYAAAcGAAAHBgAABwYAAAcGAAAHBgAABwYAAAcGAAAHBgAABwYAAAcGAAAHCAAACAcAAAcIAAAHCAAACAcAAAgHAAAIBwAACAcAAAcIAAAIBwAABwYIAAcGCAAHBggABwYAAAcGCAAHBgAABwYAAAcGAAAHBgAABwYAAAcGAAAHAAAABwYAAAcGAAAGBwAABgcAAAYHAAAGBwAABgcAAAcGAAAHBgAABwYAAAcGAAAHBgAABgcAAAYHAAAGBwAABgcAAAYHAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAgAAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAHCAYABwYAAAYFAAAGBwAACAAAAAgAAAAIAAAACAcAAAYHAAAHBgAABwYIAAgHAAAGBwAABwYAAAcIAAAHCAAACAAAAAcIAAAHCAAABwYAAAYHAAAIAAAABgcAAAgAAAAIAAAACAAAAAYHCwAIBwAABwYAAAgHAAAHBggABgsFAAcGAAAHCAYACAAAAAgAAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAMDQAADA0AAAwAAAAMDQAADAsAAAwLAAAMCwAADAsAAAsGDAALDBAACwAAAAsGAAALEAAACxAAAAsGAAALAAAADAsAAAwLAAAMDQAADA0AAAsQAAALEAAACwwQAAsMEAAMCwAADAsAAAwNAAAMDQAACwYFAAsGBQALBgwACwYMAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAMAAAADAsAAAsAAAALAAAADQAAAAwNAAAMCwAACxAGCgsMBhANDAAADQAAAA0AAAANDAAADQAAAA0AAAANAAAADQAAAA0MAAANAAAADQAAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAAsMAAALAAAACwwAAAsMAAALDAAACwwGAAsMBgALDAYACwwAAAsMAAAMCwAADAsAAAwLAAAMCwAADAsAAAwLAAAMAAAADAsAAAwLAAAMCwAADAsAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAAMCw0ADAsNAAwLDQAMAAAADAsNAAwAAAAMCwAADAsAAAwLAAAMCwAADAAAAAwAAAAMCw0ADAsNAAsMAAALDAAACwwAAAsMAAALDAAADAsAAAwLAAAMCwAADAsAAAwLAAALDAAACwwAAAsMAAALDAAACwwAAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAA0MAAANDAAADA0AAA0MAAANDAAADA0AAA0MAAANDAAADQAAAA0MAAANDAAADQwAAA0AAAANAAAADQAAAA0MAAANDAAADQwAAAwNAAAMCwAACwYFCgsMBgANAAAADQAAAA0AAAANDAAACwwGAAwLAAAMCw0ADQwAAAsMAAAMCwAADA0AAA0MAAANAAAADQwAAAwNAAAMCwAACwwAAA0AAAALDAAADQAAAA0AAAANAAAACwwQAA0MAAAMCwAADQAAAAwLDQALEAoADAsAAAwNAAANAAAADQAAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAABESAAAREgAAEQAAABESAAAQEQAAEBEAABEQAAAREAAAEAsRABAVEQAQAAAAEAsAABAVAAAQFQAAEAsAABALAAAREAAAERAAABESEAAREhAAEBUAABAVAAAQERUAEBEVABEQAAAREAAAERIAABESAAAQCwAAEAsAABALEQAQCxEAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABEAAAAQEQAAEAsAABAAAAASAAAAERIQABARAAAQCxUPEBELFRIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEhEAABIRAAASEQAAEgAAABIAAAASAAAAEgAAABIRAAASEQAAEBEAABARAAAQEQAAEBEAABARAAAQEQsAEBELABARCwAQEQAAEBELABEQAAAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABEQEgAREBIAERASABEQAAAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAEQAAABEQEgAREBIAEBEAABARAAAQEQAAEBEAABARAAAREAAAERAAABEQAAAREAAAERAAABARAAAQEQAAEBEAABARAAAQEQAAERIAABIRAAASEQAAEhEAABESAAAREgAAEhEAABESAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAERIQABARAAAQCw8AEAsRABIAAAASAAAAEgAAABIAAAAQEQsAERAAABEQEgASEQAAEBEAABEQAAAREgAAEhEAABIAAAASEQAAEhEAABEQAAAQEQAAEgAAABARFQASAAAAEgAAABIAAAAQERUAEhEAABEQAAASAAAAERASABAVDxQQEQAAERIQABIAAAASAAAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAFhcVABYXFQAWFwAAFgAAABUWAAAVFgAAFRYAABUWAAAVEBYAFRYAABUAAAAVEBQPFRQAABUUAAAVEAAAFRAAABUWAAAVFgAAFhcVABYXFQAVFAAAFRYAABUWAAAWFxUAFRAAABUQAAAVEBYAFRAWABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAWAAAAFRYAABUQFAAVAAAAFwAAABYXFQAVFgAAFRAUABUWAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAVFgAAFRYAABUAAAAVFgAAFRAWABUQFgAVEBYAFQAAABUWAAAVFgAAFhUAABYVAAAWFQAAFhUXABYVAAAWFRcAFhUXABYVFwAWFwAAFxYAABcWAAAWFwAAFxYAABcWAAAXFgAAFhcAABcWAAAWFRcAFhUXABYVFwAWFQAAFhUXABYVAAAWFQAAFhUAABYVAAAWFRcAFhUAABYVAAAWFRcAFRYAABUWAAAVFgAAFRYAABUWAAAWFRcAFhUAABYVAAAWFQAAFRYAABUWAAAVFgAAFRYAABUWAAAWFwAAFhcAABYXAAAWFwAAFhcVABYXAAAWFwAAFhcAABYXAAAWFwAAFhcAABcWAAAWFwAAFxYAABYXAAAWFwAAFhcAABYXAAAXAAAAFwAAABcAAAAXFgAAFwAAABcAAAAXFgAAFxYAABcWAAAWFxUAFRYAABUQFA8VEBYAFwAAABcAAAAXFgAAFRYQABYVFwAWFRcAFxYAABUWAAAWFRcAFhcVABcWAAAXAAAAFxYAABYXFQAWFRcAFRYAABcAAAAVFgAAFwAAABcAAAAVFgAAFxYAABYVFwAXFgAAFhUXABUUAAAVFgAAFhcVABcAAAAXAAAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAgMAAAMAAAACAwAAAwIAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAgAAAwAAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwAAAAMAAAADAAAAAwIAAAMAAAADAAAAAwIAAAMCAAADAgAAAwIAAAIDAAADAAAAAwAAAAMAAAADAAAAAwIAAAIDAAADAgAAAwIAAAMCAAADAAAAAwIAAAMCAAADAAAAAwAAAAMAAAADAAAAAwIAAAMCAAACAwAAAgMAAAMAAAADAAAAAwAAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAcIBgAHCAAABwYAAAcGAAAGCwAABgUAAAYHAAAGAAAACAAAAAgAAAAIBwAACAcAAAYHAAAGBwAABwYAAAcGAAAIBwAABwgAAAgHAAAHBgAABwYAAAgHAAAHBgAABwYAAAYHAAAGBwAABwgAAAcIAAAHCAAABwgAAAgHAAAIBwAACAAAAAgHAAAIBwAADA0AAAwNAAAMCwAADAsAAAsQAAALBgAACwYMAAsAAAANAAAADQAAAA0AAAANDAAACwwAAAsMAAAMCwAADAsAAA0MAAANDAAADQwAAAwAAAAMCw0ADQwAAAwLAAAMCwAACwwAAAsMAAAMDQAADA0AAA0MAAAMDQAADQwAAA0MAAANAAAADQwAAA0MAAAREgAAERIAABEQAAAREAAAEBUPABALAAAQCxEAEAAAABIAAAASAAAAEgAAABIAAAAQEQsAEBEAABEQAAAREAAAEhEAABIRAAASEQAAERAAABEQAAASAAAAERAAABEQAAAQEQAAEBEAABESAAAREgAAEhEAABIRAAASAAAAEgAAABIAAAASEQAAEhEAABYXAAAWFxUAFRYAABUWAAAVFAAAFRAPABUQAAAVAAAAFwAAABcAAAAXAAAAFwAAABUQFgAVFgAAFhUAABYVAAAXFgAAFxYAABcWAAAWFQAAFhUAABcWAAAWFQAAFRYAABUWAAAVFgAAFhcAABYXAAAWFwAAFhcAABcAAAAXFgAAFwAAABcWAAAXFgAABwgGAAcGAAAGBQAABgcAAAgAAAAIAAAABwgGAAcGAAAGCwUABgsHAAgAAAAIBwAABgcAAAcGAAAHBggACAcAAAYHAAAHBgAABwgAAAcIAAAIAAAACAcAAAcIAAAHBgAABgcAAAcIAAAGBwAACAAAAAgAAAAIAAAACAcAAAgHAAAHBgAABwYAAAgAAAAIBwAACAcAAAwNAAAMCwAACwYFAAsGDAANAAAADQAAAAwNAAAMCwAACxAAAAsMEAANAAAADQwAAAsMBgAMCwAADAsNAA0MAAALDAAADAsAAAwNAAANDAAADQAAAA0AAAANDAAADAsAAAsMAAAMDQAACwwAAA0AAAANAAAADQAAAA0MAAANDAAADAsNAAwLAAANAAAADQwAAA0MAAAREhAAEBEAABALAAAQCxEAEgAAABIAAAAREhAAERAAABAVDwAQERUAEgAAABIRAAAQEQsAERAAABEQEgASEQAAEBEAABEQAAASEQAAEhEAABIAAAASAAAAEhEAABEQAAAQEQAAEhEAABARFQASAAAAEgAAABIAAAASEQAAEgAAABEQAAAREAAAEgAAABIRAAASEQAAFhcVABUWAAAVEAAAFRAWABcAAAAWFxUAFRYAABUUAAAVFgAAFwAAABcWAAAVFhAAFhUXABYVFwAXFgAAFRYAABYVAAAWFxUAFxYAABcAAAAXAAAAFxYAABYVFwAVFgAAFhcVABUWAAAXAAAAFwAAABcWAAAXFgAAFhUXABYVFwAXAAAAFxYAABcWAAAGBQAABgsFAAYFAAAGBQAABgUAAAYFCwAGBQsABgUAAAYFCwALBgoACxAKAAsKAAALChAFCwYFCgsQCg8QCw8AEA8VABAPCwAQFQ8LEAsPChAVDxQVEBQPFRQAABUUAAAVFAAAFRQQDxUUEAAVEBQPFRQQAAYFAAAVFAAABgUAABUUAAAGBQAABgULAAYFAAAGBQsABQYAAAYFAAAFBgsKCwoGAAsKEAALChAGCgsFDwULCgYKDwsQEA8LChAPFQAQDwsKDxAUFQ8QCgsUFQ8QFRQPEBUUDwAVFAAAFRQPEBUUAAAVFA8QBgUAABQVAAAUFQ8QBQYAAAYFCwoFBgAABQYAAAUGCgsKCxAFCgULDwUKCwYKDwULDwoQFBQAAAABAgUAAQIAABALDwoGCwUKCg8FAAUGAAAFBgIBFA8VAAUCAQYFCgEGCgUPCwUKDwEKDwUUDxQKEA8KFAUUDxUADxQVEBQVAAAUFQAAFBUAABQPFQABAgAAAQIAAAECBQAQCw8KBQoBABQVAAAKBQ8LBQoGAA8UAAABAgUAAQIAAAECAAABAgAAAQUCAAUBAgoFCgYAFA8VABQAAAAUFQAAFA8AAAECBQAFAgEADxAVFAoPAAAKBQsADwoUAAEFAgABBQIAFA8AABQPAAAPFBAVCwoQDwUKAAAPChAADwoQCw8QChQPFAoACg8FAAoFDwAPFAoADwoUAAUBCgAUDwAAFAAAABQAAAAUAA8AFAAPABQPAAABAgUACxAKAAoPBQAPChQAFAAAABQAAAAUAAAACgULBgoLDxAPFBAVDwoUAAoFDwAKDwUABQoGCwoLBQ8FBgoADxQKAAUKAAALBgoFEBUPFAYHBQAGAAAABgAAAAYLAAAGCwAABgsAAAYHBQAGBwUABgAAAAYHBQAGBwUABgsFAAYHAAAGCwAABgcFAAYLAAALEAYACwAAAAsGDAALBgwACxAAAAsQAAALEAAACwYAAAsQAAALBhAFFQAAABUAAAALEAAACwYMABALEQAQFREAEBUAABAVAAAQCxEAEAsRABALEQAQCwAAEAsRABAVEQAQCwAAEBUAABUQAAAVEAAAEAAAABALERUQAAAAEBUAABUWAAAVEBYAFRYQABUQAAAVAAAAFRAAAAsQAAALAAAACwYAAAsGAAAVFgAAFRAWABUQFgAVFgAAFRAWAAoFDwAKBQ8ABQEKAAUBCgAKBQ8BCgUPAQ8UCgAPFAoADwoUAA8KFAAFCgAABQEAAAEFAAAFAQoADwoUAAoPBQAKDwUACgUPAA8UCgAUDwAACwYKBQYLBQAPEAoLFRAPFBQPFRAUFQ8ADxQKAAIAAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIAAAACAwAAAgMAAAIDAAACAwAAAgMFAAIDAAACAwAAAgUBAAIFAQACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgUBAAIBAAACAQAAAgUBAAIFAQACAAAAAgUBAAIBAAACAQAAAgEAAAIBAAACAQAAAgUBAAIBBQACAQAAAgUBAAIFAQACAAAAAgUBAAIBBQACAQAAAgEAAAIBAAACAQAAAgUBAAIBBQACAQUAAgUBAAIFAQACAQAAAgUBAAIBBQACAQAAAgEAAAIBAAACAQAABQIBAAIBBQACAQUABQIBBgUCAQYCAQAAAgUBAAEAAAABAAAAAQAAAAEFAAIFAQoPAQAFDwUKAQ8AAQ8FCg8FAQEAFAAAAQ8UDwoUBQABFAAPFAABDxQKAAAUAQAUDwABFA8AABQAAQAUFQ8ADxQKAA8KFAAUAAAAFA8AAAoFDwAKDwUADwoUAAAUAQ8UDwAACg8FAAUKAQAUDwAAAQIFAAUKAAAUAAAAFBUPAAUBAAABAAAAFAABAAAUAQAUAAAAFAAAAAABFAABAAUAAQAUBQUBAAABBQAAFA8AAAsFBgoQDxUUEA8LCgYFCwALCgUQCgsQDxUUEA8VFAAABgUAAAYFAAAFBgsKEBUPFAUCAQYFAgEGBQIGAQUGAgEFBgIBBQIBBgUBAgAFBgIABQECAAEFAAAUAAEPFAAPARQADwEAFAEPABQBDwABFAAAARQP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KgACAHAAKgBwAHEAGwBzAG8AGwBvAAEAVwRTBGIAVwRiAJUAzQDOAF0AzQBdAGMAxgNtAFUAxgNVAM4DWQBoAGoAWQBqAG4AUQRSBGcAUQRnAFgAAwAqAHEAAwBxAGkAGQCCAH4AGQB+AAYAUARUBHQAUAR0AEwATwB3AH8ATwB/AEgAwQC0AHkAwQB5ADAAEQB7AHwAEQB8AAcAxQPRA34AxQN+AEcABwB2AHUABwB1ABEAtwC1AHgAtwB4AFAARQRVBHoARQR6ABAAxwNsAH0AxwN9AM8DbABXAFEAbABRAH0AWwBTAFUAWwBVAG0A1AONAIMA1AODANID1QOOAIQA1QOEANMDkQCUAIoAkQCKAIcAkACGAIQAkACEAI4AjQCRAIcAjQCHAIMAEwCMAIkAEwCJAAAAwgCzAIgAwgCIAC8ARARWBIsARASLABIAjACWAJMAjACTAIkAswCyAJIAswCSAIgAVgRXBJUAVgSVAIsAygNcAI0AygONANQDyQNeAI4AyQOOANUDZABfAJQAZACUAJEAYQCQAI4AYQCOAF4AXABkAJEAXACRAI0AQgBEAJ0AQgCdAJwAuAA8AJcAuACXALYAOgA0AKAAOgCgAJkAZgAvAKEAZgChAKsAeAAwAKIAeACiAK0AgAUyAKQAgAWkAIEFPACnALEAPACxAJcAIAA8ALgAIAC4ALkAlwCxAKgAlwCoAD0AMgBQAKkAMgCpAKQAyADPAKwAyACsAGUAeQBWAKoAeQCqAK4AkgBlAKwAkgCsALAAVgBmAKsAVgCrAKoAUAB4AK0AUACtAKkAMAB5AK4AMACuAKIALwCIAK8ALwCvAKEAiACSALAAiACwAK8AXgRcBLUAXgS1ALcAhgVNBLsAhgW7AIIFTQReBLcATQS3ALsAWgRiBLwAWgS8ALIAIwA5AE4EIwBOBEgESwRbBLQASwS0AMEASgRdBLMASgSzAMIAWAS2AL4AWAS+AGMEZARKBMIAZATCAL8AXARLBMEAXATBALUAZQRkBL8AZQS/AL0AYQS4ALYAYQS2AFgEXQRaBLIAXQSyALMAaATQALwAaAS8AGIEWwRlBL0AWwS9ALQAZgTEACQAZgQkAEkELgDAA9gDLgDYAyIAZgQhALoAZgS6AGAEKQA0ADoAKQA6ACQAJgDEAGYEJgBmBGAE2APBAycA2AMnACIAxAAmACgAxAAoAMMAJADEAMMAJADDACkAyQNfAMoAyQPKANkDZABcAMkAZADJAMsAvgA9AMgAvgDIANAAYQBeAMcAYQDHAMYATwQ/AMwATwTMAGcEygNdAM4AygPOANoDXwBkAMsAXwDLAMoAQABFAM4AQADOAM0APQCoAM8APQDPAMgAYwS+ANAAYwTQAGgE8gNOAdUA8gPVAN4D8QMmAdcA8QPXAN0DIgElAdYAIgHWAPwAiAWuBd0AiAXdAP0AjgWvBdwAjgXcAOADjQWtBd4AjQXeAN8D9QNUAdQA9QPUANsD9gNVAdIA9gPSANwDWAFbAdMAWAHTAPsAdwRpBOMAdwTjADgBSAH8ANYASAHWAFABeQRqBOEAeQThAEUBlAVsBO8AlAXvAIkFHAHoANoAHAHaABgBVwHsANIAVwHSAFUBjAXlAN4AjAXeAK0FJAHqANcAJAHXACYBOQHkANEAOQHRADsBigXwANkAigXZALAFHwHZAPAAHwHwAB4B8wPeA9UA8wPVAFEB9APdA9cA9APXAE8B8AMUAWsB8ANrAfkDDwEXAXABDwFwAW8BcwQKAWkBcwRpAX4E6wMWAXEB6wNxAfoDFAEPAW8BFAFvAWsB/wDzAAwB/wAMAQQB+gDjA+YD+gDmAwUB9gCEBIYE9gCGBAgB5AP5AAYB5AMGAeUD8wD4AAcB8wAHAQwB+ADkA+UD+ADlAwcB5gPjA/8A5gP/AAQBZQLKAQcEZQIHBB4ETgEiAfwATgH8ANUArwWIBf0ArwX9ANwAVAFYAfsAVAH7ANQAkAGTAQABkAEAATcBUQHVAPwAUQH8AEgBhgGSAQEBhgEBAUkBjwWMAQMBjwUDAYcFhwFoAQ4BhwEOAY8BagFxARYBagEWAREB+QNrAQcB+QMHAeUDfgRpARABfgQQAXQEawFvAQwBawEMAQcBbQFuAQYBbQEGAQkBbwFwAQQBbwEEAQwB+gNxAQUB+gMFAeYD/AObARQB/AMUAfADnAGaARcBnAEXAQ8BoQGZATYBoQE2AY0B/gAgARkB/gAZAdsAbAR1BB0BbAQdAe8AUwEcARgBUwEYAU8BRwEfAR4BRwEeAUYB4QPnAxoB4QMaAeAA4gPoAxgB4gMYAdoA4AAaASAB4AAgAf4AjAGIASEBjAEhAQMBQgFBATwBQgE8ASgBlwGYARUBlwEVARMB7gNAAT4B7gM+AekDjASdATMBjAQzAXgEZwE0AS4BZwEuAWQBegR2BCkBegQpAUsBhQGOAScBhQEnAUoB3APSAEAB3ANAAe4DOgFCASgBOgEoAT0B7wM6AT0B7wM9AeoDGgFRAUgBGgFIASABRAEsAT4BRAE+AUABjgGQATcBjgE3AScBTAEqAT8BTAE/AU0B/QOfARYB/QMWAesD5wPzA1EB5wNRARoBmwGcAQ8BmwEPARQBKAE8ASUBKAElASIBgwGNATYBgwE2AWMB2wPUADoB2wM6Ae8D+wDTAEEB+wBBAUIB7ABEAUAB7ABAAdIAfAR4BDMBfAQzAWYBngGfAS4BngEuATQB6QM+ASYB6QMmAfEDKgE5ATsBKgE7AT8BdgR3BDgBdgQ4ASkB1AD7AEIB1ABCAToB6gBTAU8B6gBPAdcAdQR5BEUBdQRFAR0BIAFIAVABIAFQARkBkgGFAUoBkgFKAQEB4gBMAU0B4gBNAdgA6AP0A08B6ANPARgB2ABHAUYB2ABGAeIAiAGGAUkBiAFJASEBagR6BEsBagRLAeEA6gM9AU4B6gNOAfIDPQEoASIBPQEiAU4BLAEkASYBLAEmAT4B9wNeAVQB9wNUAfUD+ANfAVUB+ANVAfYDYgFlAVsBYgFbAVgBYQFXAVUBYQFVAV8BXgFiAVgBXgFYAVQB5ABdAVoB5ABaAdEAkwGEAVkBkwFZAQABaQR7BFwBaQRcAeMAXQFnAWQBXQFkAVoBhAGDAWMBhAFjAVkBewR8BGYBewRmAVwB7QMtAV4B7QNeAfcD7AMvAV8B7ANfAfgDNQEwAWUBNQFlAWIBMgFhAV8BMgFfAS8BLQE1AWIBLQFiAV4BEwEVAW4BEwFuAW0BiQENAWgBiQFoAYcBCwEFAXEBCwFxAWoBNwEAAXIBNwFyAXwBSQEBAXMBSQFzAX4BhwUDAXUBhwV1AZAFDQF4AYIBDQGCAWgBDQGJAYoBDQGKAfEAaAGCAXkBaAF5AQ4BAwEhAXoBAwF6AXUBmQGgAX0BmQF9ATYBSgEnAXsBSgF7AX8BYwE2AX0BYwF9AYEBJwE3AXwBJwF8AXsBIQFJAX4BIQF+AXoBAQFKAX8BAQF/AXMBAAFZAYABAAGAAXIBWQFjAYEBWQGBAYABgwSBBIYBgwSGAYgBkwVyBIwBkwWMAY8FcgSDBIgBcgSIAYwBfwSHBI0BfwSNAYMB9AAKAXME9ABzBG0EcASABIUBcASFAZIBbwSCBIQBbwSEAZMBfQSHAY8BfQSPAYgEiQRvBJMBiQSTAZABgQRwBJIBgQSSAYYBigSJBJABigSQAY4BhgSJAYcBhgSHAX0EggR/BIMBggSDAYQBjQShAY0BjQSNAYcEgASKBI4BgASOAYUBiwSVAfUAiwT1AG4E/wDjA/sD/wD7A/MAiwTyAIsBiwSLAYUE+gAFAQsB+gALAfUA9wCVAYsE9wCLBIUE+wPkA/gA+wP4APMAlQH3APkAlQH5AJQB9QCVAZQB9QCUAfoA7AMwAZsB7AObAfwDNQEtAZoBNQGaAZwBjwEOAZkBjwGZAaEBMgEvAZgBMgGYAZcBdAQQAZ0BdASdAYwE7QMuAZ8B7QOfAf0DMAE1AZwBMAGcAZsBEQEWAZ8BEQGfAZ4BDgF5AaABDgGgAZkBiASPAaEBiAShAY0EFQQfAqYBFQSmAQEEFAT3AagBFASoAQAE8wH2AacB8wGnAc0BowWlBa4BowWuAc4BnwWcBa0BnwWtAQMEoAWmBa8BoAWvAQIEGAQlAqUBGASlAf4DGQQmAqMBGQSjAf8DKQIsAqQBKQKkAcwBnASOBLQBnAS0AQkCGQLNAacBGQKnASECngSPBLIBngSyARYClQWRBMABlQXAAZkF7QG4AasB7QGrAekBKAK9AaMBKAKjASYClwW2Aa8BlwWvAaYF9QG7AagB9QGoAfcBCgK1AaIBCgKiAQwCmgXBAaoBmgWqAZsF8AGqAcEB8AHBAe8BFgQBBKYBFgSmASICFwQABKgBFwSoASACEwTlATwCEwQ8AhwE4AHoAUEC4AFBAkACmATbAToCmAQ6AqMEDgTnAUICDgRCAh0E5QHgAUAC5QFAAjwCywHWAdwBywHcAcYB0AHEAd0B0AHdAdUBxwGpBKsExwGrBNkBBwTKAdcBBwTXAQgExAHJAdgBxAHYAd0ByQEHBAgEyQEIBNgBBgTQAdUBBgTVAQkEIgOUAioEIgMqBEEEHwLzAc0BHwLNAaYBnAWjBc4BnAXOAa0BJQIpAswBJQLMAaUBYQJkAtEBYQLRAQgCIgKmAc0BIgLNARkCVwJjAtIBVwLSARoCngVdAtQBngXUAaQFWAI5At8BWALfAWACOwJCAucBOwLnAeIBHAQ8AtgBHATYAQgEowQ6AuEBowThAZkEPAJAAt0BPALdAdgBPgI/AtcBPgLXAdoBQAJBAtUBQALVAd0BHQRCAtYBHQTWAQkEHwRsAuUBHwTlARMEbQJrAugBbQLoAeABcgJqAgcCcgIHAl4CzwHxAeoBzwHqAawBkQSaBO4BkQTuAcABJALtAekBJALpASACGALwAe8BGALvARcCBAQKBOsBBATrAbEBBQQLBOkBBQTpAasBsQHrAfEBsQHxAc8BXQJZAvIBXQLyAdQBEwISAg0CEwINAvkBaAJpAuYBaALmAeQBEQQRAg8CEQQPAgwEsQRuAgQCsQQEAp0EOAIFAv8BOAL/ATUCnwSbBPoBnwT6ARwCVgJfAvgBVgL4ARsC/wOjAREC/wMRAhEECwITAvkBCwL5AQ4CEgQLAg4CEgQOAg0E6wEiAhkC6wEZAvEBFQL9AQ8CFQIPAhECXwJhAggCXwIIAvgBHQL7ARACHQIQAh4CIARwAucBIATnAQ4ECgQWBCICCgQiAusBbAJtAuABbALgAeUB+QENAvYB+QH2AfMBVAJeAgcCVAIHAjQC/gOlAQsC/gMLAhIEzAGkARICzAESAhMCvQEVAhECvQERAqMBoQSdBAQCoQQEAjcCbwJwAv8BbwL/AQUCDAQPAvcBDAT3ARQE+wEKAgwC+wEMAhACmwScBAkCmwQJAvoBpQHMARMCpQETAgsCuwEkAiACuwEgAqgBmgSeBBYCmgQWAu4B8QEZAiEC8QEhAuoBYwJWAhsCYwIbAtIBswEdAh4CswEeAqkBCwQXBCACCwQgAukBqQEYAhcCqQEXArMBWQJXAhoCWQIaAvIBjwSfBBwCjwQcArIBDQQOAh8CDQQfAhUEDgL5AfMBDgLzAR8C/QH1AfcB/QH3AQ8CGgQvAiUCGgQlAhgEGwQwAiYCGwQmAhkEMwI2AiwCMwIsAikCMgIoAiYCMgImAjACLwIzAikCLwIpAiUCtQEuAisCtQErAqIBZAJVAioCZAIqAtEBjgSgBC0CjgQtArQBLgI4AjUCLgI1AisCVQJUAjQCVQI0AioCoAShBDcCoAQ3Ai0CEAT+AS8CEAQvAhoEDwQAAjACDwQwAhsEBgIBAjYCBgI2AjMCAwIyAjACAwIwAgAC/gEGAjMC/gEzAi8C5AHmAT8C5AE/Aj4CWgLeATkCWgI5AlgC3AHWAUIC3AFCAjsCCALRAUMCCAJDAk0CGgLSAUQCGgJEAk8CpAXUAUYCpAVGAp0F3gFJAlMC3gFTAjkCwgHeAVoCwgFaAlsCOQJTAkoCOQJKAt8B1AHyAUsC1AFLAkYCagJxAk4CagJOAgcCGwL4AUwCGwJMAlACNAIHAk4CNAJOAlIC+AEIAk0C+AFNAkwC8gEaAk8C8gFPAksC0gEbAlAC0gFQAkQC0QEqAlEC0QFRAkMCKgI0AlICKgJSAlECqASmBFcCqARXAlkClgWXBF0ClgVdAp4FlwSoBFkClwRZAl0CpASsBF4CpAReAlQCxQHbAZgExQGYBJIElQSlBFYClQRWAmMClASnBFUClARVAmQCogRYAmACogRgAq0ErgSUBGQCrgRkAmECpgSVBGMCpgRjAlcCrwSuBGECrwRhAl8CqwRaAlgCqwRYAqIEpwSkBFQCpwRUAlUCsgRyAl4CsgReAqwEpQSvBF8CpQRfAlYCwwGwBJMEwwGTBEgC0AEGBB4E0AEeBMQBkwSwBGYCkwRmAsYBywEGBAkEywEJBNYByAFmArAEyAGwBKoEHgQHBMkBHgTJAcQBZgLIAcoBZgLKAWUCxgFmAmUCxgFlAssBDwQBAmwCDwRsAh8EBgL+AWsCBgJrAm0CYALfAWoCYAJqAnICAwIAAmkCAwJpAmgCmQThAW4CmQRuArEEEAT/AXACEARwAiAEAQIGAm0CAQJtAmwC4gHnAXAC4gFwAm8C3wFKAnEC3wFxAmoCrQRgAnICrQRyArIEOATiAncCOAR3AiQENwS9AnkCNwR5AiMEugK8AngCugJ4ApcCqgWSBX8CqgV/ApgCrAWhBX4CrAV+AiYEqwWRBYACqwWAAiUEOwTnAnYCOwR2AiEEPAToAnQCPAR0AiIE6gLtAnUC6gJ1ApYCwASzBIYCwASGAs4C3AKXAngC3AJ4AuQCwgS0BIQCwgSEAtoCqAW2BI4CqAWOArMFtAKIAnwCtAJ8ArEC6QKKAnQC6QJ0AugCsQWHAoACsQWAApEFuwKJAnkCuwJ5Ar0CzQKFAnMCzQJzAtACsgWNAnsCsgV7AqIFtwJ7Ao0CtwKNArUCOQQkBHcCOQR3AuUCOgQjBHkCOgR5AuMCNgStAvwCNgT8Aj8EqQKwAgADqQIAA/8CvASlAvsCvAT7AscEMQSvAgEDMQQBA0AErQKpAv8CrQL/AvwCmgKQAqYCmgKmAp8ClQIpBCwElQIsBKACkgLNBM4EkgLOBKMCKgSUAqECKgShAisEkAKTAqICkAKiAqYCkwIqBCsEkwIrBKICKQSaAp8CKQSfAiwEqwNHA0kDqwNJA6oD4gK6ApcC4gKXAncCoQWqBZgCoQWYAn4C5wLqApYC5wKWAnYCHgMhA5sCHgObAswC5QJ3ApcC5QKXAtwCFQMgA5wCFQOcAt0CtAUaA54CtAWeAqkFFgP5AqgCFgOoAh0D+gIBA68C+gKvAqoCPwT8AqICPwSiAisExwT7AqsCxwSrAr0E/AL/AqYC/AKmAqIC/QL+AqEC/QKhAqMC/wIAA58C/wKfAqYCQAQBA6ACQASgAiwEQgQoA60CQgStAjYEKQMnA7ACKQOwAqkCLgMmA8sCLgPLAhsDmQK4ArICmQKyAn0CtgS+BLYCtgS2Ao4C5gK0ArEC5gKxAuMC2wK3ArUC2wK1AtkCJwQtBLMCJwSzAoICKAQuBLECKASxAnwCggKzArgCggK4ApkCGgMXA7kCGgO5Ap4C1wLWAtEC1wLRAr8CJAMlA64CJAOuAqwCNATVAtMCNATTAi8E1AQrA8kC1ATJAsEE9wLIAsQC9wLEAvUCwwS/BMECwwTBAuACFAMcA74CFAO+At4CIgR0AtUCIgTVAjQEzwLXAr8CzwK/AtICNQTPAtICNQTSAjAEswLlAtwCswLcArgC2ALCAtMC2ALTAtUCHAMeA8wCHAPMAr4C3wLAAtQC3wLUAuECQwQsA68CQwSvAjEELQQ5BOUCLQTlArMCKAMpA6kCKAOpAq0CvwLRArwCvwK8AroCEgMbA8sCEgPLAvQCIQR2As8CIQTPAjUElgJ1AtYClgLWAtcCigLYAtUCigLVAnQCxQTBBMkCxQTJAvgCKgMsA8QCKgPEAsgCLwTTAr0CLwS9AjcEwALNAtACwALQAtQCvwTABM4CvwTOAsECdgKWAtcCdgLXAs8CiQLmAuMCiQLjAnkCvgTCBNoCvgTaArYCuALcAuQCuALkArICIAMUA94CIAPeApwCgwLfAuECgwLhAnoCLgQ6BOMCLgTjArECegLbAtkCegLZAoMCFwMVA90CFwPdArkCtATDBOACtATgAoQCMATSAuICMATiAjgE0gK/AroC0gK6AuICwgK7Ar0CwgK9AtMCPQTwAucCPQTnAjsEPgTxAugCPgToAjwE8wL2Au0C8wLtAuoC8gLpAugC8gLoAvEC8ALzAuoC8ALqAucChQLuAuwChQLsAnMCIQMTA+sCIQPrApsCswTEBO8CswTvAoYC7gL3AvUC7gL1AuwCEwMSA/QCEwP0AusCxATFBPgCxAT4Au8CMwTDAvACMwTwAj0EMgTFAvECMgTxAj4EygLGAvYCygL2AvMCxwLyAvECxwLxAsUCwwLKAvMCwwLzAvACrAKuAv4CrAL+Av0CGAOnAvkCGAP5AhYDpAKgAgEDpAIBA/oCzAKbAgIDzAICAwsD3QKcAgMD3QIDAw0DqQWeAgUDqQUFA7UFpwIHAxEDpwIRA/kCjwKnAhgDjwIYAxkD+QIRAwgD+QIIA6gCngK5AgkDngIJAwUDJgMtAwwDJgMMA8sC3gK+AgoD3gIKAw4D9ALLAgwD9AIMAxADvgLMAgsDvgILAwoDuQLdAg0DuQINAwkDnALeAg4DnAIOAwMDmwLrAg8DmwIPAwID6wL0AhAD6wIQAw8DzATKBBUDzAQVAxcDpwW7BBoDpwUaA7QFuwTMBBcDuwQXAxoDyATPBBsDyAQbAxIDkQKlArwEkQK8BLcEuQTJBBQDuQQUAyADuATLBBMDuAQTAyEDxgQWAx0DxgQdA9AE0QS4BCED0QQhAx4DygS5BCADygQgAxUD0gTRBB4D0gQeAxwDzgQYAxYDzgQWA8YEywTIBBIDywQSAxMD1QQuAxsD1QQbA88EyQTSBBwDyQQcAxQDtwTTBCMDtwQjA5ECmgIpBEEEmgJBBJACzQTTBI8CzQSPAhkDlQKgAqQClQKkApECkgIjA9MEkgLTBM0EQQQqBJMCQQSTApACIwOSApQCIwOUAiIDkQIjAyIDkQIiA5UCMgTGAigDMgQoA0IEygLDAicDygInAykDHQOoAiYDHQMmAy4DxwLFAiUDxwIlAyQDvQSrAisDvQQrA9QEMwTEAiwDMwQsA0MExgLKAikDxgIpAygDqgKvAiwDqgIsAyoDqAIIAy0DqAItAyYD0AQdAy4D0AQuA9UEfAN2AzIDfAMyAy8DfQN3AzADfQMwAzEDegN9AzEDegMxA0sDmgOUAzMDmgMzA20DeQM2AzADeQMwA3cDbgM0Ay8DbgMvA3ADXwNeA40DXwONA5ADWQNhA5IDWQOSA5EDmANUA4sDmAOLA54DYQNgA5MDYQOTA5IDXgNZA5EDXgORA40DTgNPAzcDTgM3AzgDRQNKAzcDRQM3AzoDUwNQAzsDUwM7Az0DlgNEAzkDlgM5A5UDUANRAz8DUAM/AzsDowNBAz4DowM+A6kDVgNOAzgDVgM4A0ADUQNWA0ADUQNAAz8DPwNAA0MDPwNDA0gDQAM4A0wDQANMA0MDdgN6A0sDdgNLAzIDpwOoA00DpwNNA2wDqQM+A1cDqQNXA6IDOwM/A0gDOwNIA0kDlQM5A1QDlQNUA5gDPQM7A0kDPQNJA0cDOgM3A08DOgNPA1UDOAM3A0oDOANKA0wDoQOKA1gDoQNYA6YDjAOTA2ADjANgA1sDkAONA1EDkANRA1ADngOLA1oDngNaA5kDjQORA1YDjQNWA1EDjwOQA1ADjwNQA1MDkQOSA04DkQNOA1YDkgOTA08DkgNPA04DrgOxA14DrgNeA18DsgOwA2EDsgNhA1kDtwOvA2sDtwNrA6UDrQOuA18DrQNfA10DtgOzA2gDtgNoA5sDiQNpA2MDiQNjA4YDMQMwA3EDMQNxA3IDsAO1A2ADsANgA2EDsQOyA1kDsQNZA14DnwOlA2sDnwNrA4UDLwMyA28DLwNvA3ADSwMxA3IDSwNyA3MDNgN1A3EDNgNxAzADnQObA2gDnQNoA4gDtAO1A2MDtANjA2kDMgNLA3MDMgNzA28DhgOAA3YDhgN2A3wDhwOBA3cDhwN3A30DhAOHA30DhAN9A3oDgwN5A3cDgwN3A4EDgAOEA3oDgAN6A3YDNAN/A3wDNAN8Ay8DqAOgA3sDqAN7A00DlAOcA34DlAN+AzMDfwOJA4YDfwOGA3wDoAOfA4UDoAOFA3sDnAOdA4gDnAOIA34DYwNiA4ADYwOAA4YDZQNkA4EDZQOBA4cDagNlA4cDagOHA4QDZwODA4EDZwOBA2QDYgNqA4QDYgOEA4ADXQNfA5ADXQOQA48DogNXA4oDogOKA6EDVQNPA5MDVQOTA4wDbANNA5QDbAOUA5oDVwOYA54DVwOeA4oDQQOWA5UDQQOVAz4DPgOVA5gDPgOYA1cDigOeA5kDigOZA1gDrwO2A5sDrwObA2sDhQNrA5sDhQObA50DTQN7A5wDTQOcA5QDewOFA50DewOdA5wDggNmA6UDggOlA58DPAOpA6IDPAOiA1IDNQN4A6ADNQOgA6gDjgOhA6YDjgOmA1wDdAM1A6gDdAOoA6cDUgOiA6EDUgOhA44DRgOjA6kDRgOpAzwDeAOCA58DeAOfA6ADrAO3A6UDrAOlA2YDRQOrA6oDRQOqA0oDTANKA6oDTAOqA0MDqwNCA6QDqwOkA0cDqwNFA5cDqwOXA0IDqgNJA0gDqgNIA0MDZANlA7EDZAOxA64DagNiA7ADagOwA7IDpgNYA68DpgOvA7cDZwNkA64DZwOuA60DmQNaA7MDmQOzA7YDYgNjA7UDYgO1A7ADZQNqA7IDZQOyA7EDWwNgA7UDWwO1A7QDWAOZA7YDWAO2A68DXAOmA7cDXAO3A6wDfADPA7sDfAC7AwcAVADOA7oDVAC6AwUAdwWDBb0DdwW9Aw4AeQWEBbwDeQW8AwwAiQDSA7gDiQC4AwAAigDTA7kDigC5AwIAdgAHALsDdgC7A9ADfwAFALoDfwC6A9EDRADNA9YDRADWA50ARgDIA9cDRgDXA58AXwS5ALgAXwS4AGEEKAAmADgAKAA4ADUAnQDWA8IDnQDCAzUAnwDXA8MDnwDDAzMAxwDZA80DxwDNA0QACABOAMQDCADEA74DCgBIAMUDCgDFA78DcADLA8YDcADGA2sAAgC5A8sDAgDLA3AAagDMA8cDagDHA24AyQDaA8gDyQDIA0YATgB2ANADTgDQA8QDAAC4A8wDAADMA2oAawDGA84DawDOA1QASAB/ANEDSADRA8UDbgDHA88DbgDPA3wAkwDUA9IDkwDSA4kAlADVA9MDlADTA4oAXQDKA9QDXQDUA5MAXwDJA9UDXwDVA5QA2APAAykA2AMpAMMAXgDJA9kDXgDZA8cAXADKA9oDXADaA8kATQHyA94DTQHeA9gAJQHxA90DJQHdA9YAsAWOBeADsAXgA98ArgWNBd8DrgXfA90AWgH1A9sDWgHbA9EAWwH2A9wDWwHcA9MARwHYAN4DRwHeA/MDUAHWAN0DUAHdA/QDFQHwA/kDFQH5A24BFwHrA/oDFwH6A3ABhASKAYkBhASJAYYE+QD3AAkB+QAJAQYBbgH5A+UDbgHlAwYBcAH6A+YDcAHmAwQBmAH8A/ADmAHwAxUB2QAfAecD2QDnA+ED2wAZAegD2wDoA+IDQQHuA+kDQQHpAzwB0wDcA+4D0wDuA0EBOwHvA+oDOwHqAz8BmgH9A+sDmgHrAxcBHwFHAfMDHwHzA+cD0QDbA+8D0QDvAzsBPAHpA/EDPAHxAyUBGQFQAfQDGQH0A+gDPwHqA/IDPwHyA00BZAH3A/UDZAH1A1oBZQH4A/YDZQH2A1sBLgHtA/cDLgH3A2QBMAHsA/gDMAH4A2UB+wPjA/oA+wP6AJQBLwHsA/wDLwH8A5gBLQHtA/0DLQH9A5oBHgIVBAEEHgIBBKkB9gEUBAAE9gEABKcBmwWfBQMEmwUDBLABpQWgBQIEpQUCBK4BKwIYBP4DKwL+A6IBLAIZBP8DLAL/A6QBGAKpAQEEGAIBBBYEIQKnAQAEIQIABBcE5gETBBwE5gEcBD8C6AEOBB0E6AEdBEECqQRbAloCqQRaAqsEygHIAdoBygHaAdcBPwIcBAgEPwIIBNcBQQIdBAkEQQIJBNUBaQIfBBMEaQITBOYBqgHwAQoEqgEKBAQErAHqAQsErAELBAUEEgIRBAwEEgIMBA0CpAH/AxEEpAERBBICDAISBA0EDAINBBACawIgBA4EawIOBOgB8AEYAhYE8AEWBAoEogH+AxIEogESBAwCDQIMBBQEDQIUBPYB6gEhAhcE6gEXBAsEEAINBBUEEAIVBB4CNQIaBBgENQIYBCsCNgIbBBkENgIZBCwC/wEQBBoE/wEaBDUCAQIPBBsEAQIbBDYCHgQGBMsBHgTLAWUCAAIPBB8EAAIfBGkC/gEQBCAE/gEgBGsC4QI4BCQE4QIkBHoCvAI3BCMEvAIjBHgCogWsBSYEogUmBIECkgWrBSUEkgUlBH8C7AI7BCEE7AIhBHMC7QI8BCIE7QIiBHUC2wJ6AiQE2wIkBDkE5AJ4AiME5AIjBDoErgI2BD8ErgI/BP4CsAIxBEAEsAJABAADzQQZAxgDzQQYA84EoQKUApICoQKSAqMC/gI/BCsE/gIrBKECAANABCwEAAMsBJ8CJQNCBDYEJQM2BK4CewK3Ai0EewItBCcEfQKyAi4EfQIuBCgE1gI0BC8E1gIvBNECdQIiBDQEdQI0BNYC0AI1BDAE0AIwBNQCJwNDBDEEJwMxBLACtwLbAjkEtwI5BC0EcwIhBDUEcwI1BNAC0QIvBDcE0QI3BLwCsgLkAjoEsgI6BC4E1AIwBDgE1AI4BOEC9QI9BDsE9QI7BOwC9gI+BDwE9gI8BO0CxAIzBD0ExAI9BPUCxgIyBD4ExgI+BPYCQQQpBJUCQQSVAiIDxQIyBEIExQJCBCUDwwIzBEMEwwJDBCcDqwChAEQEqwBEBFIErQCiAEUErQBFBFQEgQWkAEcEgQVHBIUFpwBOBFkEpwBZBLEApQCnADwApQA8ACAAsQBZBE8EsQBPBKgApACpAFAEpABQBEcEzwBnBFMEzwBTBKwArgCqAFEErgBRBFUEsACsAFMEsABTBFcEqgCrAFIEqgBSBFEEqQCtAFQEqQBUBFAEogCuAFUEogBVBEUEoQCvAFYEoQBWBEQErwCwAFcErwBXBFYESgCBAFwESgBcBF4EewUWAE0EewVNBIYFFgBKAF4EFgBeBE0EjwBgAGIEjwBiBFoETgSnAKUATgSlAEgEGABSAFsEGABbBEsEGgCFAF0EGgBdBEoEmwBYBGMEmwBjBEEAcgAaAEoEcgBKBGQEgQAYAEsEgQBLBFwEWgByAGQEWgBkBGUENwBhBFgENwBYBJsAhQCPAFoEhQBaBF0ExQBoBGIExQBiBGAAUgBaAGUEUgBlBFsEIQBmBEkEIQBJBKYAqABPBGcEqABnBM8AQQBjBGgEQQBoBMUAfAFyAWkEfAFpBHcEfgFzAWoEfgFqBHkEkAV1AWwEkAVsBJQFeAFzBH4EeAF+BIIBdgF4AQ0BdgENAfEAggF+BHQEggF0BHkBdQF6AXUEdQF1BGwEoAGMBHgEoAF4BH0BfwF7AXYEfwF2BHoEgQF9AXgEgQF4BHwEewF8AXcEewF3BHYEegF+AXkEegF5BHUEcwF/AXoEcwF6BGoEcgGAAXsEcgF7BGkEgAGBAXwEgAF8BHsEGwFSAYEEGwGBBIMEiwXnAHIEiwVyBJMF5wAbAYME5wCDBHIEYAExAYcEYAGHBH8EcwR4AXYBcwR2AW0E6QAjAYAE6QCABHAE6wBWAYIE6wCCBG8EbAF9BIgEbAGIBBIBQwHrAG8EQwFvBIkEUgHpAHAEUgFwBIEEKwFDAYkEKwGJBIoECAGGBH0ECAF9BGwBVgFgAX8EVgF/BIIElgGNBIcElgGHBDEBIwErAYoEIwGKBIAE8gCLBG4E8gBuBHcBeQF0BIwEeQGMBKABEgGIBI0EEgGNBJYBTQJDAo4ETQKOBJwETwJEAo8ETwKPBJ4EnQVGApEEnQWRBJUFSQKYBKMESQKjBFMCRwJJAt4BRwLeAcIBUwKjBJkEUwKZBEoCRgJLApoERgKaBJEEcQKxBJ0EcQKdBE4CUAJMApsEUAKbBJ8EUgJOAp0EUgKdBKEETAJNApwETAKcBJsESwJPAp4ESwKeBJoERAJQAp8ERAKfBI8EQwJRAqAEQwKgBI4EUQJSAqEEUQKhBKAE7AEjAqYE7AGmBKgEmAW5AZcEmAWXBJYFuQHsAagEuQGoBJcEMQICAqwEMQKsBKQEkgSYBEkCkgRJAkcCugH0AaUEugGlBJUEvAEnAqcEvAGnBJQEPQKiBK0EPQKtBOMBFAK8AZQEFAKUBK4EIwK6AZUEIwKVBKYE/AEUAq4E/AGuBK8E2QGrBKIE2QGiBD0CJwIxAqQEJwKkBKcEZwKyBKwEZwKsBAIC9AH8Aa8E9AGvBKUEsATDAVwCsARcAqoESgKZBLEESgKxBHEC4wGtBLIE4wGyBGcCCwMCA7MECwOzBMAEDQMDA7QEDQO0BMIEtQUFA7YEtQW2BKgFBwO8BMcEBwPHBBEDBgMHA6cCBgOnAo8CEQPHBL0EEQO9BAgDBQMJA74EBQO+BLYELQPUBMEELQPBBAwDDgMKA78EDgO/BMMEEAMMA8EEEAPBBMUECgMLA8AECgPABL8ECQMNA8IECQPCBL4EAwMOA8MEAwPDBLQEAgMPA8QEAgPEBLMEDwMQA8UEDwPFBMQEtALmAsoEtALKBMwEsQWIArsEsQW7BKcFiAK0AswEiALMBLsE8gLHAs8E8gLPBMgEtwS8BAcDtwQHAwYDiQK7AskEiQLJBLkEigLpAssEigLLBLgE/QLGBNAE/QLQBKwC2AKKArgE2AK4BNEE5gKJArkE5gK5BMoEwgLYAtEEwgLRBNIEowLOBMYEowLGBP0C6QLyAsgE6QLIBMsEJAPVBM8EJAPPBMcCuwLCAtIEuwLSBMkEjwLTBLcEjwK3BAYDCAO9BNQECAPUBC0DrALQBNUErALVBCQDzgGuAeYEzgHmBOcEkQECAeIEkQHiBOQE7wTrBH4C7wR+ApgC9gTuBIcC9gSHAroEvQMLANYEvQPWBPME9QTdBKMA9QSjAEYEmAJ/AuwEmALsBO8E9ATsBH8C9AR/AiUEHwOdAvAEHwPwBPIEugQfA/IEugTyBPYEYgLTAegEYgLoBOoE8wTYBA4A8wQOAL0D4wTiBAIB4wQCAXQB4QTfBNwA4QTcAP0A3QTcBDEA3QQxAKMA8QTwBJ0C8QSdAgQDRgQcANkERgTZBPUE6QToBNMB6QTTAUUC/QDdAOAE/QDgBOEE2wTWBAsA2wQLACwA2ATaBB0A2AQdAA4A7gTtBIAC7gSAAocCJQSAAu0EJQTtBPQEwAAxANwEwADcBN4E5wTlBK0B5wStAc4BLAAMANcELADXBNsESwZKBugESwboBOkETgZNBgEFTgYBBQMFTwZQBvAETwbwBPEEDAUOBTEFDAUxBUUFSQZNBuIESQbiBOMEVAZKBgcFVAYHBQkFUwZMBvsEUwb7BP0EFwUaBQIFFwUCBf0ECQUSBSwGCQUsBg8FAgR2BeYEAgTmBK4BFwX9BPsEFwX7BBYFFwUWBSQFFwUkBScFAwUBBRkFAwUZBRsFIwUTBfkEIwX5BBAFGgUZBQEFGgUBBQIFNgUDBK0BNgWtAeUELQUSBVEFLQVRBSsFKQUoBRkFKQUZBRoFEgUJBQcFEgUHBVEFGwUZBSgFGwUoBSoFRgVDBS4FRgUuBTIFcQVrBUoFcQVKBTkFMgUvBUQFMgVEBUYFawVVBVQFawVUBUoFTAVUBVUFTAVVBVYFcAZvBmIFcAZiBTAGOwVMBVYFOwVWBWwFMAZiBV0FMAZdBTgGOQVLBWoFOQVqBXEFMQY6BnQFMQZ0BW4FMgY2BlgFMgZYBWUFMwYuBmYFMwZmBW0FOgY3BjcFOgY3BXQFagVwBSEFagUhBXUF3wNkBeAE3wPgBN0ANgYuBlsFNgZbBVgFLQYzBm0FLQZtBXMFMgYxBm4FMgZuBSIFUgUgBVUFUgVVBWsFcAVyBRQFcAUUBSEFzwUyBS4FzwUuBc4FSwU6BXAFSwVwBWoFLgVsBUkFLgVJBc4FLQAKAHkFLQB5BX8FvgMPAHgFvgN4BYMFvwMJAHoFvwN6BYQFRgSFBX0FRgR9BRwAFwB8BXoFFwB6BQkAHQB+BXcFHQB3BQ4ADwAtAH8FDwB/BXgFwACCBYAFwACABTEAMQCABYEFMQCBBaMATASGBYIFTASCBcAACAC+A4MFCACDBXcFCgC/A4QFCgCEBXkFowCBBYUFowCFBUYEFAB7BYYFFACGBUwEcQSTBY8FcQSPBZEB4QPgAK8F4QOvBY4F4gPaAK0F4gOtBY0F6ACMBa0F6ACtBdoAuAGXBaYFuAGmBasBawSUBYkFawSJBe0AlgSWBZ4FlgSeBWIC0wGkBZ0F0wGdBUUCkQGPBYcFkQGHBQIBsQHPAaMFsQGjBZwFdAGQBZQFdAGUBWsE2wDiA40F2wCNBa4FBQSrAaYFBQSmBaAF2QDhA44F2QCOBbAFBASxAZwFBAScBZ8F5gCLBZMF5gCTBXEEAgGHBZAFAgGQBXQBnQKpBbUFnQK1BQQD4AD+AIgF4ACIBa8F7gCKBbAF7gCwBd8ARQKdBZUFRQKVBZAE/gDbAK4F/gCuBYgFtwGYBZYFtwGWBZYEHwO0BakFHwOpBZ0CkASVBZkFkASZBb4BmQJ9ApIFmQKSBaoFtQSoBbMFtQSzBYwCJwSCAqEFJwShBawFrAEFBKAFrAGgBaUFvwGaBZsFvwGbBbABzwGsAaUFzwGlBaMFqgEEBJ8FqgGfBZsFYgKeBaQFYgKkBdMBfQIoBKsFfQKrBZIFggKZAqoFggKqBaEFBAO1BagFBAOoBbUEugSnBbQFugS0BR8DewInBKwFewKsBaIFhwKxBacFhwKnBboEiwKyBaIFiwKiBYECKAR8ApEFKASRBasFiAKxBZEFiAKRBXwCbAVWBcwFbAXMBUkFcQVqBXUFcQV1BRgFEAUUBXIFEAVyBSMFGAVSBWsFGAVrBXEFBgXMBSAFBgUgBQQFAAUYBXUFAAV1Bf4EVgVVBSAFVgUgBcwFDQXvBOwEDQXsBAsFygXgA9wAygXcAN8EvAPLBdcEvAPXBAwA4AO8Aw0A4AMNAN8AvAPgA8oFvAPKBcsF7wQNBQoF7wQKBesEzgXNBesEzgXrBAoFAwTfA94AAwTeALABzAUGBQUFzAUFBUkF3wMDBDYF3wM2BWQFSQV2Bc0FSQXNBc4FzwUNBQsFzwULBREFMgXPBREFMgURBS8FzQUmBH4CzQV+AusEAgQmBM0FAgTNBXYFJgQCBK8BJgSvAYECDQXPBc4FDQXOBQoFHAUsBSsFHAUrBVEFfgaIBrgFfga4BX8GfQa6BYgGfQaIBn4GbgNwA9UFbgPVBdMF2gXWBXED2gVxA3UD2wXRBWwD2wVsA5oDpwNsA9EFpwPRBdwF1wXYBXMD1wVzA3ID1gXXBXID1gVyA3ED3AXZBXQD3AV0A6cD2AXUBW8D2AVvA3MDmgNtA9IFmgPSBdsF1AXVBXAD1AVwA28D5AXgBdQF5AXUBdgF4AXhBdUF4AXVBdQF2wXSBd4F2wXeBecF5gXiBdYF5gXWBdoF0wXVBeEF0wXhBd8F5wXdBdEF5wXRBdsF3AXRBd0F3AXdBegF6AXlBdkF6AXZBdwF4wXkBdgF4wXYBdcF4gXjBdcF4gXXBdYF7wXwBeQF7wXkBeMF7gXvBeMF7gXjBeIF8AXsBeAF8AXgBeQF7AXtBeEF7AXhBeAF5wXeBeoF5wXqBfMF8gXuBeIF8gXiBeYF3wXhBe0F3wXtBesF8wXpBd0F8wXdBecF6AXdBekF6AXpBfQF9AXxBeUF9AXlBegF/wX1BekF/wXpBfMF9AXpBfUF9AX1BQAGAAb9BfEFAAbxBfQF+wX8BfAF+wXwBe8F+gX7Be8F+gXvBe4F/AX4BewF/AXsBfAF+AX5Be0F+AXtBewF8wXqBfYF8wX2Bf8F/gX6Be4F/gXuBfIF6wXtBfkF6wX5BfcF/wX2BQIG/wUCBgsGCgYGBvoFCgb6Bf4F9wX5BQUG9wUFBgMGCwYBBvUFCwb1Bf8FAAb1BQEGAAYBBgwGDAYJBv0FDAb9BQAGBwYIBvwFBwb8BfsFBgYHBvsFBgb7BfoFCAYEBvgFCAb4BfwFBAYFBvkFBAb5BfgFFAYQBgQGFAYEBggGEAYRBgUGEAYFBgQGCwYCBg4GCwYOBhcGFgYSBgYGFgYGBgoGAwYFBhEGAwYRBg8GFwYNBgEGFwYBBgsGDAYBBg0GDAYNBhgGGAYVBgkGGAYJBgwGEwYUBggGEwYIBgcGEgYTBgcGEgYHBgYGHwURBhAGHwUQBh4FNAUPBhEGNAURBh8FQQVABRwGQQUcBh0GQAU+BRoGQAUaBhwGPwU9BRkGPwUZBhsGHQYcBh4GHQYeBh8GHwYeBiAGHwYgBiEGIQYgBiMGIQYjBiQGTQVdBj0GTQU9Bl4GJAYjBiYGJAYmBicGJwYmBikGJwYpBioGNQYpBmAGNQZgBmAFJQUqBikGJQUpBjUGFQDuAN8AFQDfAA0A5QC/AbAB5QCwAd4ATARrBO0ATATtABQAawRMBMAAawTAAHQBdAHAAN4EdAHeBOMEUwZJBuMEUwbjBN4EJAVaBkEFJAVBBScFGgUXBScFGgUnBSkFNQUXBg4GNQUOBjMFcQSQBL4BcQS+AeYAkARxBJEBkASRAUUCtgGLAoECtgGBAq8BlgS1BIwClgSMArcBtQSWBGICtQRiAgQDBANiAuoEBAPqBPEEVAZPBvEEVAbxBOoEHAUIBQMFHAUDBRsFLAUcBRsFLAUbBSoFUQUHBQgFUQUIBRwFSwZOBgMFSwYDBQgF5ATpBEUC5ARFApEBDwUsBjEFDwUxBQ4FLQY4Bl0FLQZdBVcFbAUuBUMFbAVDBTsFFAX6BPgEFAX4BCEFFAUQBfcEFAX3BPoEGAUABf8EGAX/BFIFLwURBQwFLwUMBUUFRwUNBhcGRwUXBjUFUAUwBjgGUAU4Bk8FWQVTBToGWQU6BjEGcwVPBTgGcwU4Bi0GVwVaBTMGVwUzBi0GUwVcBTcGUwU3BjoGIgVvBTYGIgU2BjIGWgVbBS4GWgUuBjMGZQVZBTEGZQUxBjIGbwVmBS4GbwUuBjYGMQUsBjwGMQU8BjAFJgZiBmAGJgZgBikGEgUtBTwGEgU8BiwGIwZlBmIGIwZiBiYGSAUYBg0GSAUNBkcFGAZIBVUGGAZVBhUGJgUSBhYGJgUWBlYGYwUTBhIGYwUSBiYFEwZjBTkGEwY5BhQGNwZcBT0GNwY9Bl0GLwY7BmcFLwZnBV4FOwYvBmkFOwZpBR0FRAUvBUUFRAVFBTgFPAVNBV4GPAVeBsIFfQbHBcYFfQbGBXwGfAbGBcUFfAbFBXsGewbFBcQFewbEBXoGegbEBcgFegbIBXkGeQbIBdAFeQbQBXgGeAbQBckFeAbJBXcGdwbJBUgGdwZIBnYGWQXHBcAFWQXABVMFZQXGBccFZQXHBVkFxgVlBVgFxgVYBcUFxQVYBVsFxQVbBcQFWgXIBcQFWgXEBVsFVwXQBcgFVwXIBVoF0AVXBV0F0AVdBckFdQamBp8GdQafBnYGcwaXBqYGcwamBnUGYgVIBskFYgXJBV0FBQXmBHYFBQV2BUkFCAUHBUoGCAVKBksG/AT7BEwG/ARMBvUEBgXnBOYEBgXmBAUF5wQGBQQF5wQEBeUE5ATiBE0G5ARNBk4GIAU2BeUEIAXlBAQFDwUOBVAGDwVQBk8G9QRMBtwE9QTcBN0ENgUgBVIFNgVSBWQF/wTgBGQF/wRkBVIFAAXhBOAEAAXgBP8E4QQABf4E4QT+BN8EAgUBBU0GAgVNBkkG6gToBEoG6gRKBlQG9gRQBg4F9gQOBe4EdQXKBd8EdQXfBP4E3gTcBEwG3gRMBlMGygV1BSEFygUhBcsF+ATXBMsF+ATLBSEF+gTbBNcE+gTXBPgE9gTyBPAE9gTwBFAG2wT6BPcE2wT3BNYEEAXzBNYEEAXWBPcE8wQQBfkE8wT5BNgEEwVuBlIGEwVSBvkE/ARRBm0G/ARtBhUF7gQOBQwF7gQMBe0EEQX0BO0EEQXtBAwF9AQRBQsF9AQLBewE2AT5BFIG2ARSBtoE/QQCBUkG/QRJBlMGCQUPBU8GCQVPBlQG6QTkBE4G6QROBksGFAY5Bh4FFAYeBRAGVwYmBVYGVwZWBlkGTgVjBSYFTgUmBVcGcgVwBToFcgU6BUIFXQZbBjcFXQY3BTcGbwZxBkgGbwZIBmIFTQU5BmMFTQVjBU4FbwZeBUEGbwZBBnEGXAYjBXIFXAZyBUIFQgU3BVsGQgVbBlwGWwZOBVcGWwZXBlwGIwVcBlcGIwVXBhMFOgV0BTcFOgU3BUIFSwVuBXQFSwV0BToFNQY7Bh0FNQYdBSUFOwY1BmAFOwZgBWcFKwY/BkIGKwZCBl8FKAZABj8GKAY/BisGJQZDBkAGJQZABigGIgZFBkMGIgZDBiUGPgZEBkUGPgZFBiIGwgVHBkQGwgVEBj4GXgZGBkcGXgZHBsIFPQbBBUYGPQZGBl4GKwZfBWgFKwZoBV8GGQY9BTwFGQY8BcIFKAYrBl8GKAZfBjQGaAVhBWEGaAVhBl8GIAZoBmUGIAZlBiMGaAYgBh4GaAYeBmsGYwY0Bl8GYwZfBmEGNAZjBmYGNAZmBmQGZAZmBmkGZAZpBmcGZwZpBmwGZwZsBmoGJQYoBjQGJQY0BmQGZwYiBiUGZwYlBmQGIgZnBmoGIgZqBj4GHgYcBhoGHgYaBmsGbAYbBhkGbAYZBmoGGQbCBT4GGQY+BmoGRQUxBTAFRQUwBTgFOQUiBW4FOQVuBUsFIgU5BUoFIgVKBW8FbwVKBVQFbwVUBWYFTAVtBWYFTAVmBVQFOwVzBW0FOwVtBUwFQwVPBXMFQwVzBTsFRgVQBU8FRgVPBUMFMAUdBWkFMAVpBTgFHQUwBTwGHQU8BiUFLQUqBiUFLQUlBTwGKgYtBSsFKgYrBScGLAUkBicGLAUnBisFJAYsBSoFJAYqBSEGIQYqBSgFIQYoBR8GKQUdBh8GKQUfBigFHQYpBScFHQYnBUEF/AT1BNkE/ATZBFEGFgUVBW0GFgVtBiQF/AQVBRYF/AQWBfsEEwVXBlkGEwVZBm4GLwZeBW8GLwZvBnAGXAXDBcEFXAXBBT0GUwXABcMFUwXDBVwFOAVpBXIGOAVyBkQFLwZwBnIGLwZyBmkFUAVGBUQFUAVEBXIGcAYwBlAFcAZQBXIGTgVbBl0GTgVdBk0FSAVaBlgGSAVYBlUGWgZIBUcFWgZHBUEFQQVHBTUFQQU1BUAFQAU1BTMFQAUzBT4FPwU0BR8FPwUfBT0FPQUfBR4FPQUeBTwFPAUeBTkGPAU5Bk0FhwaMBpoGhwaaBoYGhgaaBosGhgaLBoUGhQaLBpwGhQacBoQGgwZFBkQGgwZEBoQGggZDBkUGggZFBoMGgQZABkMGgQZDBoIGgAY/BkAGgAZABoEGgAaPBpgGgAaYBnQGfwa4BYwGfwaMBocGQQZzBnUGQQZ1BnEGugV9BnwGugV8BrYFpAaCBoMGpAaDBpUGxwV9Bn4GxwV+BsAFRwaFBoQGRwaEBkQGwAV+Bn8GwAV/BsMFkgZ3BnYGkgZ2Bp8GwwV/BocGwwWHBsEFvgV6BnkGvgV5BpAGvAV4BncGvAV3BpIGRgaGBoUGRgaFBkcGjwaABoEGjwaBBqIGnQZ7BnoGnQZ6Br4FkAZ5BngGkAZ4BrwFPwaABnQGPwZ0BkIGlQaDBoQGlQaEBpwGtgV8BnsGtgV7Bp0GcQZ1BnYGcQZ2BkgGogaBBoIGogaCBqQGwQWHBoYGwQWGBkYGbQZYBloGbQZaBiQFwwAoAMEDwwDBA9gDrQa5BqwGrAa5BuEGswa5BrIGrgarBrkGsAa5Bq0Gtwa5BqcGpwa5BqgGqAa5BrgGuAa5BqoGqga5BqkGuQbeBqkGuQazBrUGrwauBrkGsQavBrkGtQaxBrkGsga5BrQGtAa5BrYGtga5BrAG1wabBooG1waKBsEGxgaeBr8Fxga/BcQGzga7BbcFzga3Bb4G0QahBqMG0QajBs0GvAaJBrsFvAa7Bc4Gvga3BZ4GvgaeBsYG0waOBqEG0wahBtEG3wa5BYkG3waJBrwG2QalBpYG2QaWBtUGywaUBpsGywabBtcGyAaTBqAGyAagBtoG1QaWBo4G1QaOBtMGwQaKBpkGwQaZBt0GzQajBpQGzQaUBssG3QaZBo0G3QaNBroG4ga9BZMG4gaTBsgG2gagBqUG2galBtkGxAa/BZEGxAaRBsIGpwbFBsMGpwbDBrcGrQbbBtgGrQbYBrAG4QbjBskG4QbJBqwG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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/hand_l.gltf.import b/addons/godot-xr-tools/hands/model/hand_l.gltf.import new file mode 100644 index 0000000..326d084 --- /dev/null +++ b/addons/godot-xr-tools/hands/model/hand_l.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://dhaqth6q5yw4n" +path="res://.godot/imported/hand_l.gltf-6ba1595ac4c28aef3719b7f0b4f2f4f2.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/hand_l.gltf" +dest_files=["res://.godot/imported/hand_l.gltf-6ba1595ac4c28aef3719b7f0b4f2f4f2.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/hand_r.gltf b/addons/godot-xr-tools/hands/model/hand_r.gltf new file mode 100644 index 0000000..4b98f9f --- /dev/null +++ b/addons/godot-xr-tools/hands/model/hand_r.gltf @@ -0,0 +1,722 @@ +{ + "asset" : { + "copyright" : "CC0 Public Domain", + "generator" : "Khronos glTF Blender I/O v3.2.43", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 27 + ] + } + ], + "nodes" : [ + { + "name" : "Thumb_Tip_R", + "rotation" : [ + -0.07576872408390045, + 0.019257033243775368, + 0.03371242433786392, + 0.9963693618774414 + ], + "scale" : [ + 1.0000001192092896, + 1.000000238418579, + 1.0000001192092896 + ], + "translation" : [ + 2.7939677238464355e-09, + 0.030749469995498657, + -3.14321368932724e-09 + ] + }, + { + "children" : [ + 0 + ], + "name" : "Thumb_Distal_R", + "rotation" : [ + 0.05564067140221596, + -0.010326135903596878, + -0.013984743505716324, + 0.9982995390892029 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1.0000001192092896 + ], + "translation" : [ + 2.3283064365386963e-09, + 0.04214789345860481, + 1.5133991837501526e-09 + ] + }, + { + "children" : [ + 1 + ], + "name" : "Thumb_Proximal_R", + "rotation" : [ + -0.04595031589269638, + 0.027135659009218216, + 0.07525718957185745, + 0.9957352876663208 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -2.3283064365386963e-10, + 0.044916488230228424, + -2.473825588822365e-10 + ] + }, + { + "children" : [ + 2 + ], + "name" : "Thumb_Metacarpal_R", + "rotation" : [ + 0.3235369920730591, + 2.565749491623137e-05, + 0.027220426127314568, + 0.9458239078521729 + ], + "scale" : [ + 1, + 0.9999998211860657, + 0.9999998807907104 + ], + "translation" : [ + -0.009999999776482582, + 0.02717285417020321, + 0.019999971613287926 + ] + }, + { + "name" : "Index_Tip_R", + "rotation" : [ + -0.052288394421339035, + 0.0005572127993218601, + -0.10362062603235245, + 0.9932413697242737 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.149072527885437e-09, + 0.027394980192184448, + 1.367880031466484e-09 + ] + }, + { + "children" : [ + 4 + ], + "name" : "Index_Distal_R", + "rotation" : [ + 0.014225997030735016, + 0.011990753002464771, + 0.13454149663448334, + 0.9907333254814148 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.529727786779404e-09, + 0.0313456691801548, + 1.775333657860756e-09 + ] + }, + { + "children" : [ + 5 + ], + "name" : "Index_Intermediate_R", + "rotation" : [ + -0.013683199882507324, + 0.024668212980031967, + 0.23507100343704224, + 0.9715688824653625 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0, + 0.03811633586883545, + -3.3178366720676422e-09 + ] + }, + { + "children" : [ + 6 + ], + "name" : "Index_Proximal_R", + "rotation" : [ + 0.11122288554906845, + 0.0027781203389167786, + -0.11757423728704453, + 0.9868121147155762 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + -5.336175945558352e-10, + 0.08036758005619049, + 2.584926050985814e-09 + ] + }, + { + "children" : [ + 7 + ], + "name" : "Index_Metacarpal_R", + "rotation" : [ + -0.0005887771840207279, + -2.10358793992782e-05, + -0.0252196304500103, + 0.9996817708015442 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.0271772351115942, + 0.022405147552490234 + ] + }, + { + "name" : "Middle_Tip_R", + "rotation" : [ + 0.013688242062926292, + -7.99239132902585e-05, + -0.1684110462665558, + 0.9856218695640564 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + 2.0736479200422764e-09, + 0.023346584290266037, + 6.548361852765083e-11 + ] + }, + { + "children" : [ + 9 + ], + "name" : "Middle_Distal_R", + "rotation" : [ + -0.013931511901319027, + 0.00014242221368476748, + 0.16861224174499512, + 0.985584020614624 + ], + "scale" : [ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation" : [ + -5.973561201244593e-09, + 0.0324166864156723, + -5.820766091346741e-11 + ] + }, + { + "children" : [ + 10 + ], + "name" : "Middle_Intermediate_R", + "rotation" : [ + 0.03945539891719818, + -0.004928736016154289, + 0.13782717287540436, + 0.9896578788757324 + ], + "translation" : [ + -1.1295924196019769e-09, + 0.04500335454940796, + 6.621121428906918e-10 + ] + }, + { + "children" : [ + 11 + ], + "name" : "Middle_Proximal_R", + "rotation" : [ + -0.01194659061729908, + -0.000966736872214824, + 0.010500849224627018, + 0.9998730421066284 + ], + "translation" : [ + 7.057678885757923e-10, + 0.0804632380604744, + 3.4924596548080444e-10 + ] + }, + { + "children" : [ + 12 + ], + "name" : "Middle_Metacarpal_R", + "rotation" : [ + -0.03585463762283325, + -4.2005005525425076e-05, + -0.0499776192009449, + 0.9981066584587097 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 0.009999999776482582, + 0.02714575082063675, + 0.0035275884438306093 + ] + }, + { + "name" : "Ring_Tip_R", + "rotation" : [ + 0.03305169194936752, + 0.006719753611832857, + -0.12635111808776855, + 0.9914120435714722 + ], + "scale" : [ + 1, + 1, + 0.9999998211860657 + ], + "translation" : [ + -5.326000973582268e-09, + 0.027049388736486435, + 3.969034878537059e-09 + ] + }, + { + "children" : [ + 14 + ], + "name" : "Ring_Distal_R", + "rotation" : [ + -0.011351789347827435, + -0.012621401809155941, + 0.13198409974575043, + 0.9911065101623535 + ], + "scale" : [ + 0.9999999403953552, + 1, + 1 + ], + "translation" : [ + 2.3865140974521637e-09, + 0.027797557413578033, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 15 + ], + "name" : "Ring_Intermediate_R", + "rotation" : [ + 0.01732625439763069, + -0.01860846020281315, + 0.16082890331745148, + 0.9866547584533691 + ], + "scale" : [ + 1.0000001192092896, + 0.9999999403953552, + 1 + ], + "translation" : [ + -8.731149137020111e-11, + 0.04013120010495186, + 9.604264050722122e-10 + ] + }, + { + "children" : [ + 16 + ], + "name" : "Ring_Proximal_R", + "rotation" : [ + -0.05105672776699066, + 0.002022986998781562, + -0.0418044812977314, + 0.9978184103965759 + ], + "scale" : [ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + -6.075424607843161e-10, + 0.0739438384771347, + 1.331500243395567e-09 + ] + }, + { + "children" : [ + 17 + ], + "name" : "Ring_Metacarpal_R", + "rotation" : [ + -0.07119493186473846, + -1.573348527017515e-05, + -0.018085604533553123, + 0.9972984790802002 + ], + "scale" : [ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation" : [ + 0.009999999776482582, + 0.027118019759655, + -0.01309998705983162 + ] + }, + { + "name" : "Little_Tip_R", + "rotation" : [ + 0.015836291015148163, + 0.01933973841369152, + -0.15377695858478546, + 0.9877893924713135 + ], + "scale" : [ + 1, + 1.0000001192092896, + 1 + ], + "translation" : [ + 3.725290298461914e-09, + 0.019765090197324753, + 4.6566128730773926e-09 + ] + }, + { + "children" : [ + 19 + ], + "name" : "Little_Distal_R", + "rotation" : [ + -0.018054774031043053, + -0.011455277912318707, + 0.10707500576972961, + 0.9940209984779358 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1 + ], + "translation" : [ + -2.6775524020195007e-09, + 0.01802438497543335, + 7.894414011389017e-10 + ] + }, + { + "children" : [ + 20 + ], + "name" : "Little_Intermediate_R", + "rotation" : [ + 0.044925764203071594, + -0.03280799090862274, + 0.18505947291851044, + 0.9811516404151917 + ], + "scale" : [ + 0.9999999403953552, + 0.9999998807907104, + 1.0000001192092896 + ], + "translation" : [ + 4.0745362639427185e-10, + 0.03312354534864426, + 2.6921043172478676e-10 + ] + }, + { + "children" : [ + 21 + ], + "name" : "Little_Proximal_R", + "rotation" : [ + -0.08928601443767548, + -0.003168066032230854, + 0.006739117205142975, + 0.9959782958030701 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.4924596548080444e-10, + 0.06571118533611298, + -2.2009771782904863e-10 + ] + }, + { + "children" : [ + 22 + ], + "name" : "Little_Metacarpal_R", + "rotation" : [ + -0.09176954627037048, + -2.456200854794588e-05, + -0.02844771184027195, + 0.9953738451004028 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + 4.4605644178297155e-10, + 0.02708965167403221, + -0.029999956488609314 + ] + }, + { + "name" : "Palm_R", + "rotation" : [ + 0.7065238952636719, + 6.479929197666934e-06, + 8.686721230333205e-06, + 0.7076891660690308 + ], + "translation" : [ + -0.030781937763094902, + 0.06705548614263535, + -0.04206528514623642 + ] + }, + { + "children" : [ + 3, + 8, + 13, + 18, + 23, + 24 + ], + "name" : "Wrist_R", + "rotation" : [ + -0.7065169215202332, + -6.472751010733191e-06, + -6.472751465480542e-06, + 0.7076961994171143 + ], + "scale" : [ + 1, + 0.9999999403953552, + 1 + ], + "translation" : [ + -3.8642522071086205e-08, + -1.8697472114581615e-05, + 0.027175573632121086 + ] + }, + { + "mesh" : 0, + "name" : "mesh_Hand_R", + "skin" : 0 + }, + { + "children" : [ + 26, + 25 + ], + "name" : "Armature" + } + ], + "meshes" : [ + { + "name" : "mesh_Hand_R", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "JOINTS_0" : 3, + "WEIGHTS_0" : 4 + }, + "indices" : 5 + } + ] + } + ], + "skins" : [ + { + "inverseBindMatrices" : 6, + "joints" : [ + 25, + 3, + 2, + 1, + 0, + 8, + 7, + 6, + 5, + 4, + 13, + 12, + 11, + 10, + 9, + 18, + 17, + 16, + 15, + 14, + 23, + 22, + 21, + 20, + 19, + 24 + ], + "name" : "Armature" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 1764, + "max" : [ + 0.030590161681175232, + 0.09001174569129944, + 0.025806419551372528 + ], + "min" : [ + -0.03715551644563675, + -0.06858228147029877, + -0.18571554124355316 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 1764, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 1764, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5121, + "count" : 1764, + "type" : "VEC4" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 1764, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 9156, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 26, + "type" : "MAT4" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 21168, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 21168, + "byteOffset" : 21168 + }, + { + "buffer" : 0, + "byteLength" : 14112, + "byteOffset" : 42336 + }, + { + "buffer" : 0, + "byteLength" : 7056, + "byteOffset" : 56448 + }, + { + "buffer" : 0, + "byteLength" : 28224, + "byteOffset" : 63504 + }, + { + "buffer" : 0, + "byteLength" : 18312, + "byteOffset" : 91728 + }, + { + "buffer" : 0, + "byteLength" : 1664, + "byteOffset" : 110040 + } + ], + "buffers" : [ + { + "byteLength" : 111704, + "uri" : "data:application/octet-stream;base64,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CAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABgcAAAYHAAAGBwAABwYAAAcGAAAHBgAABwYAAAcGAAAHBggABwYAAAcGAAAHBgAABwYAAAcGAAAHCAAACAcAAAgHAAAHCAAACAcAAAgHAAAIBwAACAcAAAcIAAAIBwAABwYIAAcGCAAHBggABwYAAAcGCAAHBgAABwYAAAcGAAAHBgAABwYAAAcGAAAHAAAABwYAAAcGAAAGBwAABgcAAAYHAAAGBwAABgcAAAcGAAAHBgAABwYAAAcGAAAHBgAABgcAAAYHAAAGBwAABgcAAAYHAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAcIAAAHCAAABwgAAAgAAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAHCAYABwYAAAYFAAAGBwAACAAAAAgAAAAIAAAACAcAAAYHAAAHBggABwYIAAgHAAAGBwAABwYAAAcIAAAHCAAACAAAAAcIAAAHCAAABwYAAAYHAAAIAAAABgcAAAgAAAAIAAAACAAAAAYHCwAIBwAABwYAAAgHAAAHBggABgsFAAcGAAAHCAYACAAAAAgAAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAIBwAACAcAAAgHAAAMDQAADA0AAAwAAAAMDQAADAsAAAwLAAAMCwAADAsAAAsGDAALDBAACwAAAAsGAAALEAAACxAAAAsGAAALAAAADAsAAAwLAAAMDQAADA0AAAsQAAALEAAACwwQAAsMEAAMCwAADAsAAAwNAAAMDQAACwYFAAsGBQALBgwACwYMAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAAMAAAADAsAAAsAAAALAAAADQAAAAwNCwAMCwAACxAGCgsMBhANDAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0MAAANAAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAAsMAAALAAAACwwAAAsMAAALDAAACwwGAAsMBgALDAYACwwAAAsMAAAMCwAADAsAAAwLAAAMCwAADAsAAAwLAAAMAAAADAsAAAwLAAAMCwAADAsAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAAMCw0ADAsNAAwLDQAMAAAADAsNAAwAAAAMCwAADAsAAAwLAAAMCwAADAAAAAwAAAAMCw0ADAsNAAsMAAALDAAACwwAAAsMAAALDAAADAsAAAwLAAAMCwAADAsAAAwLAAALDAAACwwAAAsMAAALDAAACwwAAAwNAAAMDQAADA0AAAwNAAAMDQAADQwAAAwNAAAMDQAADA0AAAwNAAANDAAADQwAAA0MAAANDAAADA0AAA0MAAANDAAADA0AAA0MAAANDAAADQAAAA0AAAANAAAADQwAAA0AAAANAAAADQAAAA0MAAANDAAADQwAAAwNAAAMCwAACwYFCgsMBgANAAAADQAAAA0AAAANDAAACwwGAAwLAAAMCw0ADQwAAAsMAAAMCwAADA0AAA0MAAANAAAADQwAAAwNAAAMCwAACwwAAA0AAAALDAAADQAAAA0AAAANAAAACwwQAA0MAAAMCwAADQwAAAwLDQALEAoADAsAAAwNCwANAAAADQAAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAAA0MAAANDAAADQwAABESAAAREgAAEQAAABESAAAQEQAAEBEAABEQAAAREAAAEAsRABAVEQAQAAAAEAsAABAVAAAQFQAAEAsAABALAAAREAAAERAAABESEAAREhAAEBUAABAVAAAQERUAEBEVABEQAAAREAAAERIAABESAAAQCwAAEAsAABALEQAQCxEAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABEAAAAQEQAAEAsAABAAAAASAAAAERIQABARAAAQCxUPEBELFRIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIRAAASEQAAEgAAABIAAAASAAAAEgAAABIRAAASEQAAEBEAABAAAAAQEQAAEBEAABARAAAQEQsAEBELABARCwAQAAAAEBELABEQAAAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABEQEgAREBIAERASABEQAAAREAAAERAAABEQAAAREAAAERAAABEQAAAREAAAEQAAABEQEgAREBIAEBEAABARAAAQEQAAEBEAABARAAAREAAAERAAABEQAAAREAAAERAAABARAAAQEQAAEBEAABARAAAQEQAAERIAABIRAAASEQAAEhEAABESAAAREgAAEhEAABESAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAERIQABARAAAQCw8KEAsRABIAAAASAAAAEgAAABIAAAAQEQsAERAAABEQEgASEQAAEBEAABEQAAAREgAAEhEAABIAAAASEQAAEhEAABEQAAAQEQAAEgAAABARFQASAAAAEgAAABIAAAAQERUAEhEAABEQAAASAAAAERASABAVDxQQEQAAERIQABIAAAASAAAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAEhEAABIRAAASEQAAFhcVABYXFQAWFwAAFgAAABUWAAAVFgAAFRYAABUWAAAVEAAAFRYAABUAAAAVEBQPFRQAABUUAAAVEAAAFRAAABUWAAAVFgAAFhcVABYXFQAVFAAAFRYAABUWAAAWFxUAFRAAABUQAAAVEBYAFRAWABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAWAAAAFRYAABUUEAAVAAAAFwAAABYXFQAVFgAAFRAUABUWEAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAVFgAAFRYAABUAAAAVFgAAFRAWABUQFgAVEBYAFQAAABUWAAAVFgAAFhUXABYVAAAWFQAAFhUXABYVAAAWFRcAFhUXABYVFwAWFwAAFxYAABcWAAAWFwAAFxYAABcWAAAXFgAAFhcAABcWAAAWFRcAFhUXABYVFwAWFQAAFhUXABYVAAAWFQAAFhUAABYVAAAWFRcAFhUAABYVAAAWFRcAFRYAABUWAAAVFgAAFRYAABUWAAAWFRcAFhUAABYVAAAWFQAAFRYAABUWAAAVFgAAFRYAABUWAAAWFwAAFhcAABYXAAAWFwAAFhcVABYXAAAWFwAAFhcAABYXAAAWFwAAFhcAABcWAAAWFwAAFxYAABYXAAAWFwAAFhcAABYXAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFxYAABcWAAAWFxUAFRYAABUQFA8VFhAAFwAAABcAAAAXFgAAFRYQABYVFwAWFRcAFxYAABUWAAAWFRcAFhcVABcWAAAXAAAAFxYAABYXFQAWFRcAFRYAABcAAAAVFgAAFwAAABcAAAAVFgAAFxYAABYVFwAXFgAAFhUXABUUFgAVFgAAFhcVABcAAAAXAAAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAAXFgAAFxYAABcWAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAgMAAAMAAAACAwAAAwIAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAgAAAwAAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwAAAAMAAAADAAAAAwIAAAMAAAADAAAAAwIAAAMCAAADAgAAAwIAAAIDAAADAAAAAwAAAAMAAAADAAAAAwIAAAIDAAADAgAAAwIAAAMCAAADAAAAAwIAAAMCAAADAAAAAwAAAAMAAAADAAAAAwIAAAMCAAACAwAAAgMAAAMAAAADAAAAAwAAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAMCAAADAgAAAwIAAAcIBgAHCAAABgcAAAcGAAAGCwAABgUAAAYHAAAGAAAACAAAAAgAAAAIBwAACAcAAAYHAAAGBwAABwYAAAcGAAAIBwAABwgAAAgHAAAHBgAABwYAAAgHAAAHBgAABwYAAAYHAAAGBwAABwgAAAcIAAAHCAAABwgAAAgHAAAIBwAACAAAAAgHAAAIBwAADA0AAAwNAAAMCwAADAsAAAsQAAALBgAACwYMAAsAAAANAAAADQAAAA0AAAANDAAACwwAAAsMAAAMCwAADAsAAA0MAAANDAAADQwAAAwAAAAMCw0ADQwAAAwLAAAMCwAACwwAAAsMAAAMDQAADA0AAA0MAAANDAAADQAAAA0MAAANAAAADQwAAA0MAAAREgAAERIAABEQAAAREAAAEBUPABALAAAQCxEAEAAAABIAAAASAAAAEgAAABIAAAAQEQsAEBEAABEQAAAREAAAEhEAABIRAAASEQAAERAAABEQAAASAAAAERAAABEQAAAQEQAAEBEAABESAAAREgAAEhEAABIRAAASAAAAEgAAABIAAAASEQAAEhEAABYXAAAWFxUAFRYAABUWAAAVFAAAFRAPABUQAAAVAAAAFwAAABcAAAAXAAAAFwAAABUQFgAVFgAAFhUAABYVAAAXFgAAFxYAABcWAAAWFQAAFhUAABcWAAAWFQAAFRYAABUWAAAVFgAAFhcAABYXAAAWFwAAFhcAABcAAAAXFgAAFwAAABcWAAAXFgAABwgGAAcGAAAGBQAABgcAAAgAAAAIAAAABwgGAAcGAAAGCwUABgsHAAgAAAAIBwAABgcAAAcGAAAHBggACAcAAAYHAAAHBgAABwgAAAcIAAAIAAAACAcAAAcIAAAHBgAABgcAAAcIAAAGBwAACAAAAAgAAAAIAAAACAcAAAgHAAAHBggABwYAAAgAAAAIBwAACAcAAAwNAAAMCwAACwYFCgsGDAANAAAADQAAAAwNAAAMCwAACxAAAAsMEAANAAAADQwAAAsMBgAMCwAADAsNAA0MAAALDAAADAsAAAwNAAANDAAADQAAAA0AAAANDAAADAsAAAsMAAAMDQAACwwAAA0AAAANAAAADQAAAA0MAAANDAAADAsNAAwLAAANAAAADQwAAA0MAAAREhAAEBEAABALAAAQCxEAEgAAABIAAAAREhAAERAAABAVDwAQERUAEgAAABIRAAAQEQsAERAAABEQEgASEQAAEBEAABEQAAASEQAAEhEAABIAAAASAAAAEhEAABEQAAAQEQAAEhEAABARFQASAAAAEgAAABIAAAASEQAAEgAAABEQEgAREAAAEgAAABIRAAASEQAAFhcVABUWAAAVEA8UFRAWABcAAAAWFxUAFRYAABUUAAAVFgAAFwAAABcWAAAVFhAAFhUXABYVFwAXFgAAFRYAABYVFwAWFxUAFxYAABcAAAAXAAAAFxYAABYVFwAVFgAAFhcVABUWAAAXAAAAFwAAABcWAAAXFgAAFhUXABYVFwAXAAAAFxYAABcWAAAGBQAABgsFAAYFAAAGBQAABgUAAAYFAAAGBQsABgUAAAYFCwoLBgoACxAKAAsKAAALChAFCwYFCgsQCg8QCw8AEA8VABAPCwAQDxULEAsPChAVDxQVEBQPFRQAABUUAAAVFAAAFRQQDxUUEAAVEBQPFRQQAAYFAAAVFAAABgUAABUUAAAGBQAABgULAAYFAAAGBQsABQYAAAYFAAAFBgsKCwoGAAsKEAALChAGCgULDwUKCwYKDwsQEA8LChAPFQAQDwsVDxAUFQ8QCgsUFQ8QFRQPEBUUDwAVFAAAFRQPABUUAAAVFA8QBgUAABQVAAAUFQ8QBQYAAAYFCwoFBgAABQYAAAUGCgsKCxAFCgULDwUKCwYKDwULDwoQFBQAAAABAgUAAQIAABALDwoGCwUKCg8FAAUGAAAFBgIBFA8VAAUCAQYFCgEGCgUPCwUKDwEKDwUUDxQKFQ8KFAUUDxUADxQVABQVAAAUFQAAFBUAABQPFQABAgAAAQIAAAECBQAQCw8KBQoBABQVAAAKBQ8ABQoGAA8UAAABAgUAAQIAAAECAAABAgAAAQUCAAUBAgoFCgYAFA8VABQAAAAUFQAAFA8AAAECBQAFAgEADxAVFAoPAAAKBQsADwoUAAEFAgABBQIAFA8AABQPAAAPFBUQCwoQDwUKAAAPChAADwoQCw8KEBQPFAoACg8FAAoFDwAPFAoADwoUAAUBCgAUDwAAFAAAABQAAAAUAA8AFAAPABQPAAABAgUACxAKAAoPBQAPChQAFAAAABQAAAAUAAAACgULBgoLDxAPFBAVDwoUAAoFDwAKDwUABQoGCwoLBQ8FBgoADxQKAAUKAAALBgoFEBUPFAYHBQAGAAAABgAAAAYLAAAGCwAABgsAAAYHBQAGBwUABgAAAAYHBQAGBwUABgsFAAYHAAAGCwAABgcFAAYLAAALEAYKCwAAAAsGDAALBgwACxAAAAsQAAALEAAACwYAAAsQAAALBhAFFQAAABUAAAALEAAACwYMABALEQAQFREAEBUAABAVAAAQCxEAEAsRABALEQAQCwAAEAsRABAVEQAQCwAAEBUAABUQAAAVEAAAEAAAABALERUQAAAAEBUAABUWAAAVEBYAFRYQABUQAAAVAAAAFRAAAAsQAAALAAAACwYAAAsGAAAVFgAAFRAWABUQFgAVFgAAFRAWAAoFDwAKBQ8ABQoBAAUKAQABAAUUAQAFFAoPBQAKDwUAAQAUBQEAFAUFCgAABQEAAAEFAAAFAQoADwoUAAoPBQAKDwUACgUPAA8UCgAUDwAACwYKBQYLBQAPEAoLFRAPFBQPFRAUFQ8ADxQKAAIAAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgMAAAIAAAACAwAAAgMAAAIDAAACAwAAAgMAAAIDAAACAwAAAgUAAAIFAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgUBAAIBAAACAQAAAgUBAAIFAQACAAAAAgUBAAIBAAACAQAAAgEAAAIBAAACAQAAAgUBAAIBBQACAQAAAgUBAAIFAQACAQAAAgEFAAIBBQACAQAAAgEAAAIBAAACAQAAAgUBAAIBBQACAQUAAgUBAAIFAQACAQAAAgEFAAIBBQACAQAAAgEAAAIBAAACAQAABQIBAAIBBQACAQUAAgUBBgIFAQYCAQAAAgUBAAEAAAABAAAAAQAAAAEFAAIFAQoPAQAFDwUKAQ8AAQ8FCg8FAQEAFAAAAQ8UDwoUBQABFAAPFAABDxQKAAAUAQAUDwABFA8AABQAAQAUFQ8ADxQKAA8KFAAUAAAAFA8AAAoFDwAKDwUADwoUAAAUAQ8UDwAACg8FAAUBCgAUDwAAAQIFAAUKAAAUAAAAFBUPAAUBAAABAAAAFAABAAAUAQAUAAAAFAAAAAABFAABAAUAAQAUAAEFAAABBQAAFAABDxQAAQ8UAAEPFA8AAAsFCgYQDxUUEA8KCwYFCwALCgUQCgsQDxUUEA8VFAAABgUAAAYFAAAFBgsKFRAPFAUCAQYFAgEGBQIGAQUGAgEFBgIBBQIBBgUBAgAFBgIABQECAAEFAAAUAAEPFAAPARQADwEAFAEP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KgBxAHAAKgBwAAIAGgABAG8AGgBvAHIAVwSWAGMAVwRjAFMEzABiAF0AzABdAM4AxgPOA1UAxgNVAG0AWABuAGoAWABqAGcAUQRZAGgAUQRoAFIEAwBpAHEAAwBxACoAGQAGAH4AGQB+AIIAUARNAHUAUAR1AFQETwBIAH8ATwB/AHcAwQAwAHkAwQB5ALQAEAAHAHwAEAB8AHoAxQNHAH4AxQN+ANEDBwAQAHQABwB0AHYAtwBQAHgAtwB4ALUARQQRAHsARQR7AFUExwPPA30AxwN9AGwAbAB9AFEAbABRAFcAWgBtAFUAWgBVAFIA1APSA4MA1AODAI0A1QPTA4QA1QOEAI4AkQCHAIoAkQCKAJQAjwCOAIQAjwCEAIUAjQCDAIcAjQCHAJEAEgAAAIkAEgCJAIsAwgAvAIgAwgCIALMARAQTAIwARASMAFYEiwCJAJMAiwCTAJUAswCIAJIAswCSALIAVgSMAJYAVgSWAFcEygPUA40AygONAFwAyQPVA44AyQOOAF4AZACRAJQAZACUAF8AYABeAI4AYACOAI8AXACNAJEAXACRAGQAQQCbAJ0AQQCdAEQAuAC2AJcAuACXADwAOQCYAKAAOQCgADQAZgCrAKEAZgChAC8AeACtAKIAeACiADAAgAWBBaQAgAWkADIAPACXALEAPACxAKcAlwA9AKgAlwCoALEAMgCkAKkAMgCpAFAAyABlAKwAyACsAM8AeQCuAKoAeQCqAFYAkgCwAKwAkgCsAGUAVgCqAKsAVgCrAGYAUACpAK0AUACtAHgAMACiAK4AMACuAHkALwChAK8ALwCvAIgAiACvALAAiACwAJIAXgS3ALUAXgS1AFwEhgWCBbsAhgW7AE0ETQS7ALcATQS3AF4EWgSyALwAWgS8AGIEOwAiAC4AOwAuADMASwTBALQASwS0AFsESgTCALMASgSzAF0EWARjBL4AWAS+ALYAZAS/AMIAZATCAEoEXAS1AMEAXATBAEsEZQS9AL8AZQS/AGQEYQRYBLYAYQS2ALgAXQSzALIAXQSyAFoEaARiBLwAaAS8ANAAWwS0AL0AWwS9AGUEIABmBF8EIABfBLkAIgDYA8ADIgDAAy4AwwDYA8EDwwDBAygAZgTEACUAZgQlAF8EwQMnADYAwQM2AMIDxADDACgAxAAoACUAKQDDAMQAKQDEACMAyQPZA8oAyQPKAF8AZADLAMkAZADJAFwAvgDQAMgAvgDIAD0AYADFAMcAYADHAF4ATwRnBM0ATwTNAEAAygPaA84AygPOAF0AXwDKAMsAXwDLAGQAPwDMAM4APwDOAEUAPQDIAM8APQDPAKgAYwRoBNAAYwTQAL4A8gPeA9UA8gPVAE4B8QPdA9cA8QPXACYBIgH8ANYAIgHWACUBiAX9AN0AiAXdAK4FjgXgA9wAjgXcAK8FjQXfA94AjQXeAK0F9QPbA9QA9QPUAFQB9gPcA9IA9gPSAFUBWAH7ANMAWAHTAFsBdwQ4AeMAdwTjAGkESAFQAdYASAHWAPwAeQRFAeEAeQThAGoElAWJBe8AlAXvAGwEHAEYAdoAHAHaAOgAVwFVAdIAVwHSAOwAjAWtBd4AjAXeAOYAJAEmAdcAJAHXAOoAOQE7AdEAOQHRAOQAigWwBdkAigXZAPAAHwEeAfAAHwHwANkA8wNRAdUA8wPVAN4D9ANPAdcA9APXAN0D8AP5A2sB8ANrARQBDwFvAXABDwFwARcBcwR+BGkBcwRpAQoB6wP6A3EB6wNxARYBFAFrAW8BFAFvAQ8BhASGBIkBhASJAYoB4wP6AAUB4wMFAeYDdgF4AXMEdgFzBG0E+QDkA+UD+QDlAwYB+ADzAAwB+AAMAQcB/wDjA+YD/wDmAwQB9QALAQUB9QAFAfoATgHVAPwATgH8ACIBrwXcAP0ArwX9AIgFVAHUAPsAVAH7AFgBkAE3AQABkAEAAZMBUQFIAfwAUQH8ANUAhgFJAQEBhgEBAZIBjwWHBQMBjwUDAYwBhwGPAQ4BhwEOAWgBagERARYBagEWAXEB+QPlAwcB+QMHAWsBfgR0BBABfgQQAWkBawEHAQwBawEMAW8BbQEJAQYBbQEGAW4BbwEMAQQBbwEEAXAB+gPmAwUB+gMFAXEB/APwAxQB/AMUAZsBnAEPARcBnAEXAZoBoQGNATYBoQE2AZkB/gDbABkB/gAZASABbATvAB0BbAQdAXUEUwFPARgBUwEYARwBRwFGAR4BRwEeAR8B4QPgABoB4QMaAecD4gPaABgB4gMYAegD4AD+ACAB4AAgARoBjAEDASEBjAEhAYgBQgEoATwBQgE8AUEBlwETARUBlwEVAZgB7gPpAz4B7gM+AUABjAR4BDMBjAQzAZ0BZwFkAS4BZwEuATQBegRLASkBegQpAXYEhQFKAScBhQEnAY4B3APuA0AB3ANAAdIAOgE9ASgBOgEoAUIB7wPqAz0B7wM9AToBGgEgAUgBGgFIAVEBRAFAAT4BRAE+ASwBjgEnATcBjgE3AZABTAFNAT8BTAE/ASoB/QPrAxYB/QMWAZ8B5wMaAVEB5wNRAfMDmwEUAQ8BmwEPAZwBKAEiASUBKAElATwBgwFjATYBgwE2AY0B2wPvAzoB2wM6AdQA+wBCAUEB+wBBAdMA7ADSAEAB7ABAAUQBfARmATMBfAQzAXgEngE0AS4BngEuAZ8B6QPxAyYB6QMmAT4BKgE/ATsBKgE7ATkBdgQpATgBdgQ4AXcE1AA6AUIB1ABCAfsA6gDXAE8B6gBPAVMBdQQdAUUBdQRFAXkEIAEZAVABIAFQAUgBkgEBAUoBkgFKAYUB4gDYAE0B4gBNAUwB6AMYAU8B6ANPAfQD2ADiAEYB2ABGAUcBiAEhAUkBiAFJAYYBagThAEsBagRLAXoE6gPyA04B6gNOAT0BPQFOASIBPQEiASgBLAE+ASYBLAEmASQB9wP1A1QB9wNUAV4B+AP2A1UB+ANVAV8BYgFYAVsBYgFbAWUBYQFfAVUBYQFVAVcBXgFUAVgBXgFYAWIB5ADRAFoB5ABaAV0BkwEAAVkBkwFZAYQBaQTjAFwBaQRcAXsEXQFaAWQBXQFkAWcBhAFZAWMBhAFjAYMBewRcAWYBewRmAXwE7QP3A14B7QNeAS0B7AP4A18B7ANfAS8BNQFiAWUBNQFlATABMgEvAV8BMgFfAWEBLQFeAWIBLQFiATUBEwFtAW4BEwFuARUBiQGHAWgBiQFoAQ0BCwFqAXEBCwFxAQUBNwF8AXIBNwFyAQABSQF+AXMBSQFzAQEBhwWQBXUBhwV1AQMBDQFoAYIBDQGCAXgBiQENAfEAiQHxAIoBaAEOAXkBaAF5AYIBAwF1AXoBAwF6ASEBmQE2AX0BmQF9AaABSgF/AXsBSgF7AScBYwGBAX0BYwF9ATYBJwF7AXwBJwF8ATcBIQF6AX4BIQF+AUkBAQFzAX8BAQF/AUoBAAFyAYABAAGAAVkBWQGAAYEBWQGBAWMBgwSIAYYBgwSGAYEEkwWPBYwBkwWMAXIEcgSMAYgBcgSIAYMEfwSDAY0BfwSNAYcE8wD/AAQB8wAEAQwBcASSAYUBcASFAYAEbwSTAYQBbwSEAYIEfQSIBI8BfQSPAYcBiQSQAZMBiQSTAW8EgQSGAZIBgQSSAXAEigSOAZABigSQAYkEhgR9BIcBhgSHAYkBggSEAYMBggSDAX8EjQSHBI0BjQSNAaEBgASFAY4BgASOAYoE8gCLBIUE8gCFBIsB8wD7A+MD8wDjA/8AlAH7A+QDlAHkA/kA9QCVAYsE9QCLBG4EiwSVAfcAiwT3AIUE5QPkA/gA5QP4AAcBlQGUAfkAlQH5APcA7AP8A5sB7AObATABNQGcAZoBNQGaAS0BjwGhAZkBjwGZAQ4BMgGXAZgBMgGYAS8BdASMBJ0BdASdARAB7QP9A58B7QOfAS4BMAGbAZwBMAGcATUBEQGeAZ8BEQGfARYBDgGZAaABDgGgAXkBiASNBKEBiAShAY8BFQQBBKYBFQSmAR8CFAQABKgBFASoAfcB8wHNAacB8wGnAfYBowXOAa4BowWuAaUFnwUDBK0BnwWtAZwFoAUCBK8BoAWvAaYFGAT+A6UBGASlASUCGQT/A6MBGQSjASYCKQLMAaQBKQKkASwCnAQJArQBnAS0AY4EGQIhAqcBGQKnAc0BngQWArIBngSyAY8ElQWZBcABlQXAAZEE7QHpAasB7QGrAbkBKAImAqMBKAKjAb0BmAWmBa8BmAWvAbcB9QH3AagB9QGoAbsBCgIMAqIBCgKiAbUBmgWbBaoBmgWqAcEB8AHvAcEB8AHBAaoBFgQiAqYBFgSmAQEEFwQgAqgBFwSoAQAEEwQcBDwCEwQ8AuUB4AFAAkEC4AFBAugBmASjBDoCmAQ6AtsBDgQdBEICDgRCAucB5QE8AkAC5QFAAuABqQSrBFoCqQRaAlsCBgTLAdYBBgTWAQkEygEHBAgEygEIBNcByAHKAdcByAHXAdoByQHEAd0ByQHdAdgBmATbAcUBmATFAZIExgHcAdYBxgHWAcsBHwKmAc0BHwLNAfMBnAWtAc4BnAXOAaMFJQKlAcwBJQLMASkCYQIIAtEBYQLRAWQCIgIZAs0BIgLNAaYBVwIaAtIBVwLSAWMCngWkBdQBngXUAV0CWAJgAt8BWALfATkCOwLiAecBOwLnAUICHAQIBNgBHATYATwCowSZBOEBowThAToCPALYAd0BPALdAUACPgLaAdcBPgLXAT8CQALdAdUBQALVAUECHQQJBNYBHQTWAUICHwQTBOUBHwTlAWwCbQLgAegBbQLoAWsCcgJeAgcCcgIHAmoCzwGsAeoBzwHqAfEBkQTAAe4BkQTuAZoEJAIgAukBJALpAe0BGAIXAu8BGALvAfABBASxAesBBATrAQoEBQSrAekBBQTpAQsEsQHPAfEBsQHxAesBXQLUAfIBXQLyAVkCEwL5AQ0CEwINAhICaALkAeYBaALmAWkCEQQMBA8CEQQPAhECsQSdBAQCsQQEAm4COAI1Av8BOAL/AQUCnwQcAvoBnwT6AZsEVgIbAvgBVgL4AV8C/wMRBBEC/wMRAqMBCwIOAvkBCwL5ARMCEgQNBA4CEgQOAgsC6wHxARkC6wEZAiICFQIRAg8CFQIPAv0BXwL4AQgCXwIIAmECHQIeAhACHQIQAvsBIAQOBOcBIATnAXACCgTrASICCgQiAhYEbALlAeABbALgAW0C+QHzAfYB+QH2AQ0CVAI0AgcCVAIHAl4C/gMSBAsC/gMLAqUBzAETAhICzAESAqQBvQGjARECvQERAhUCoQQ3AgQCoQQEAp0EbwIFAv8BbwL/AXACDAQUBPcBDAT3AQ8C+wEQAgwC+wEMAgoCmwT6AQkCmwQJApwEpQELAhMCpQETAswBuwGoASACuwEgAiQCmgTuARYCmgQWAp4E8QHqASEC8QEhAhkCYwLSARsCYwIbAlYCswGpAR4CswEeAh0CCwTpASACCwQgAhcEqQGzARcCqQEXAhgCWQLyARoCWQIaAlcCjwSyARwCjwQcAp8EDQQVBB8CDQQfAg4CDgIfAvMBDgLzAfkB/QEPAvcB/QH3AfUBGgQYBCUCGgQlAi8CGwQZBCYCGwQmAjACMwIpAiwCMwIsAjYCMgIwAiYCMgImAigCLwIlAikCLwIpAjMCtQGiASsCtQErAi4CZALRASoCZAIqAlUCjgS0AS0CjgQtAqAELgIrAjUCLgI1AjgCVQIqAjQCVQI0AlQCoAQtAjcCoAQ3AqEEEAQaBC8CEAQvAv4BDwQbBDACDwQwAgACBgIzAjYCBgI2AgECAwIAAjACAwIwAjIC/gEvAjMC/gEzAgYC5AE+Aj8C5AE/AuYBWgJYAjkCWgI5At4B3AE7AkIC3AFCAtYBCAJNAkMCCAJDAtEBGgJPAkQCGgJEAtIBpAWdBUYCpAVGAtQB3gE5AlMC3gFTAkkCWgLeAcIBWgLCAVsCOQLfAUoCOQJKAlMC1AFGAksC1AFLAvIBagIHAk4CagJOAnECGwJQAkwCGwJMAvgBNAJSAk4CNAJOAgcC+AFMAk0C+AFNAggC8gFLAk8C8gFPAhoC0gFEAlAC0gFQAhsC0QFDAlEC0QFRAioCKgJRAlICKgJSAjQCqARZAlcCqARXAqYElgWeBV0ClgVdApcElwRdAlkClwRZAqgEpARUAl4CpAReAqwE0AEGBAkE0AEJBNUBlQRjAlYClQRWAqUElARkAlUClARVAqcEogStBGACogRgAlgCrgRhAmQCrgRkApQEpgRXAmMCpgRjApUErwRfAmECrwRhAq4EqwSiBFgCqwRYAloCpwRVAlQCpwRUAqQEsgSsBF4CsgReAnICpQRWAl8CpQRfAq8EwwGwBKoEwwGqBFwCxAEeBAYExAEGBNABZQIeBAcEZQIHBMoBsARmAsgBsATIAaoEBwTJAdgBBwTYAQgEZgJlAsoBZgLKAcgBywFlAmYCywFmAsYBDwQfBGwCDwRsAgECBgJtAmsCBgJrAv4BYAJyAmoCYAJqAt8BAwJoAmkCAwJpAgACmQSxBG4CmQRuAuEBEAQgBHACEARwAv8BAQJsAm0CAQJtAgYC4gFvAnAC4gFwAucB3wFqAnEC3wFxAkoCrQSyBHICrQRyAmACOAQkBHcCOAR3AuICNwQjBHkCNwR5Ar0CugKXAngCugJ4ArwCqgWYAn8CqgV/ApIFrAUmBH4CrAV+AqEFqwUlBIACqwWAApEFOwQhBHYCOwR2AucCPAQiBHQCPAR0AugC6gKWAnUC6gJ1Au0CwATNAoUCwASFArME3ALkAngC3AJ4ApcCwgTZAoMCwgSDArQEqAWyBY0CqAWNArYEtAKxAnwCtAJ8AogC6QLoAnQC6QJ0AooCsQWRBYACsQWAAocCuwK9AnkCuwJ5AokCzgLQAnMCzgJzAoYCswWiBXsCswV7Ao4CtwK2Ao4CtwKOAnsCOQTlAncCOQR3AiQEOgTjAnkCOgR5AiMENgQ/BPwCNgT8Aq0CqQL/AgADqQIAA7ACvATHBPoCvAT6AqQCMQRABAEDMQQBA68CrQL8Av8CrQL/AqkCkQKlAqACkQKgApUCzQTOBBgDzQQYAxkDoQKUAioEoQIqBCsEkgKUAqECkgKhAqMCkwKQAqYCkwKmAqICtwS8BKQCtwSkApECKQSVAqACKQSgAiwE4gJ3ApcC4gKXAroCoQV+ApgCoQWYAqoF5wJ2ApYC5wKWAuoCHgPMApsCHgObAiED5QLcApcC5QKXAncCFQPdApwCFQOcAiADtAWpBZ4CtAWeAhoDFgMdA6gCFgOoAvkC+wKrAq8C+wKvAgEDPwQrBKICPwSiAvwCxwS9BKoCxwSqAvoC/AKiAqYC/AKmAv8C/QKjAqEC/QKhAv4C/wKmAp8C/wKfAgADQAQsBKACQASgAgEDQgQ2BK0CQgStAigDKQOpArACKQOwAicDLgMbA8sCLgPLAiYDmQJ9ArICmQKyArgCtgSNArUCtgS1Ar4E5gLjArEC5gKxArQC2wLaArYC2wK2ArcCJwSCArMCJwSzAi0EKAR8ArECKASxAi4EggKZArgCggK4ArMCGgOeArkCGgO5AhcD1wK/AtEC1wLRAtYCJAOsAq4CJAOuAiUDNAQvBNMCNATTAtUC1ATBBMgC1ATIAioD+AL1AsQC+ALEAskCwwTfAsACwwTAAr8EFAPeAr4CFAO+AhwDIgQ0BNUCIgTVAnQCzwLSAr8CzwK/AtcCNQQwBNICNQTSAs8CswK4AtwCswLcAuUC2ALVAtMC2ALTAsICHAO+AswCHAPMAh4D4ALhAtQC4ALUAsECQwQxBK8CQwSvAiwDLQSzAuUCLQTlAjkEKAOtAqkCKAOpAikDvwK6ArwCvwK8AtECEgP0AssCEgPLAhsDIQQ1BM8CIQTPAnYClgLXAtYClgLWAnUCigJ0AtUCigLVAtgCxQT3AsgCxQTIAsEEKwPJAsQCKwPEAiwDLwQ3BL0CLwS9AtMCwQLUAtACwQLQAs4CvwTAAs0CvwTNAsAEdgLPAtcCdgLXApYCiQJ5AuMCiQLjAuYCvgS1AtkCvgTZAsIEuAKyAuQCuALkAtwCIAOcAt4CIAPeAhQDhAJ6AuEChALhAuACLgSxAuMCLgTjAjoEegKEAtoCegLaAtsCFwO5At0CFwPdAhUDtASDAt8CtATfAsMEMAQ4BOICMATiAtIC0gLiAroC0gK6Ar8CwgLTAr0CwgK9ArsCPQQ7BOcCPQTnAvACPgQ8BOgCPgToAvEC8wLqAu0C8wLtAvYC8gLxAugC8gLoAukC8ALnAuoC8ALqAvMChgJzAuwChgLsAu8CIQObAusCIQPrAhMDswSFAu4CswTuAsQE7wLsAvUC7wL1AvgCEwPrAvQCEwP0AhIDxATuAvcCxAT3AsUEMwQ9BPACMwTwAsMCMgQ+BPECMgTxAsUCygLzAvYCygL2AsYCxwLFAvECxwLxAvICwwLwAvMCwwLzAsoCrAL9Av4CrAL+Aq4CGAMWA/kCGAP5AqcCpQL7AgEDpQIBA6ACzAILAwIDzAICA5sC3QINAwMD3QIDA5wCqQW1BQUDqQUFA54CpwL5AhEDpwIRAwcDGAOnAo8CGAOPAhkD+QKoAggD+QIIAxEDngIFAwkDngIJA7kCJgPLAgwDJgMMAy0D3gIOAwoD3gIKA74C9AIQAwwD9AIMA8sCvgIKAwsDvgILA8wCuQIJAw0DuQINA90CnAIDAw4DnAIOA94CmwICAw8DmwIPA+sC6wIPAxAD6wIQA/QCzAQXAxUDzAQVA8oEpwW0BRoDpwUaA7sEuwQaAxcDuwQXA8wEyAQSAxsDyAQbA88EnwKaAikEnwIpBCwEuQQgAxQDuQQUA8kEuAQhAxMDuAQTA8sExgTQBB0DxgQdAxYD0QQeAyED0QQhA7gEygQVAyADygQgA7kE0gQcAx4D0gQeA9EEzgTGBBYDzgQWAxgDywQTAxIDywQSA8gE1QTPBBsD1QQbAy4DyQQUAxwDyQQcA9IEkQIjA9MEkQLTBLcEkAJBBCkEkAIpBJoCjwLTBM0EjwLNBBkDIgNBBCoEIgMqBJQC0wQjA5IC0wSSAs0EKgSTAqICKgSiAisEIwMiA5QCIwOUApIClQIiAyMDlQIjA5ECMgRCBCgDMgQoA8YCygIpAycDygInA8MCHQMuAyYDHQMmA6gCxwIkAyUDxwIlA8UCvQTUBCoDvQQqA6oCMwRDBCwDMwQsA8QCxgIoAykDxgIpA8oCqwIrAywDqwIsA68CqAImAy0DqAItAwgD0ATVBC4D0AQuAx0DfAMvAzIDfAMyA3YDfQMxAzADfQMwA3cDegNLAzEDegMxA30DmgNuAzQDmgM0A5QDeAN3AzADeAMwAzUDbQNwAy8DbQMvAzMDXwOQA40DXwONA14DWQORA5IDWQOSA2EDmAOeA4wDmAOMA1UDYQOSA5MDYQOTA2ADXgONA5EDXgORA1kDTgM4AzcDTgM3A08DRAM5AzcDRAM3A0oDUgM8AzsDUgM7A1ADlwOVAzoDlwM6A0UDUAM7Az8DUAM/A1EDpAOpAz4DpAM+A0IDVgNAAzgDVgM4A04DUQM/A0ADUQNAA1YDPwNIA0MDPwNDA0ADQANDA0wDQANMAzgDdgMyA0sDdgNLA3oDpwNsA00DpwNNA6gDqQOiA1cDqQNXAz4DOwNJA0gDOwNIAz8DlQOYA1UDlQNVAzoDPANGA0kDPANJAzsDOQNUA08DOQNPAzcDOANMA0oDOANKAzcDoQOmA1gDoQNYA4oDiwNaA2ADiwNgA5MDkANQA1EDkANRA40DngOZA1sDngNbA4wDjQNRA1YDjQNWA5EDjgNSA1ADjgNQA5ADkQNWA04DkQNOA5IDkgNOA08DkgNPA5MDrgNfA14DrgNeA7EDsgNZA2EDsgNhA7ADtwOlA2sDtwNrA68DrANcA18DrANfA64DtgObA2kDtgNpA7QDiAOGA2MDiANjA2gDMQNyA3EDMQNxAzADsANhA2ADsANgA7UDsQNeA1kDsQNZA7IDnwOFA2sDnwNrA6UDLwNwA28DLwNvAzIDSwNzA3IDSwNyAzEDNQMwA3EDNQNxA3QDnQOJA2kDnQNpA5sDswNoA2MDswNjA7UDMgNvA3MDMgNzA0sDhgN8A3YDhgN2A4ADhwN9A3cDhwN3A4EDhAN6A30DhAN9A4cDggOBA3cDggN3A3gDgAN2A3oDgAN6A4QDMwMvA3wDMwN8A34DqANNA3sDqAN7A6ADlAM0A38DlAN/A5wDfgN8A4YDfgOGA4gDoAN7A4UDoAOFA58DnAN/A4kDnAOJA50DYwOGA4ADYwOAA2IDZQOHA4EDZQOBA2QDagOEA4cDagOHA2UDZgNkA4EDZgOBA4IDYgOAA4QDYgOEA2oDXAOOA5ADXAOQA18DogOhA4oDogOKA1cDVAOLA5MDVAOTA08DbAOaA5QDbAOUA00DVwOKA54DVwOeA5gDQgM+A5UDQgOVA5cDPgNXA5gDPgOYA5UDigNYA5kDigOZA54DrwNrA5sDrwObA7YDhQOdA5sDhQObA2sDTQOUA5wDTQOcA3sDewOcA50DewOdA4UDgwOfA6UDgwOlA2cDPQNTA6IDPQOiA6kDNgOoA6ADNgOgA3kDjwNdA6YDjwOmA6EDdQOnA6gDdQOoAzYDUwOPA6EDUwOhA6IDRwM9A6kDRwOpA6QDeQOgA58DeQOfA4MDrQNnA6UDrQOlA7cDQwOqA0oDQwNKA0wDQQOrA0YDQQNGA6MDqgNDA0gDqgNIA0kDqwOqA0kDqwNJA0YDqwNBA5YDqwOWA0QDZAOuA7EDZAOxA2UDagOyA7ADagOwA2IDpgO3A68DpgOvA1gDZgOsA64DZgOuA2QDmQO2A7QDmQO0A1sDYgOwA7UDYgO1A2MDZQOxA7IDZQOyA2oDWgOzA7UDWgO1A2ADWAOvA7YDWAO2A5kDXQOtA7cDXQO3A6YDfAAHALsDfAC7A88DVAAFALoDVAC6A84DdwUOAL0DdwW9A4MFeQUMALwDeQW8A4QFiQAAALgDiQC4A9IDigACALkDigC5A9MDdgDQA7sDdgC7AwcAfwDRA7oDfwC6AwUARACdANYDRADWA80DRgCfANcDRgDXA8gDTgQ6ACQATgQkAEkEJQAoADUAJQA1ADcAnQA1AMIDnQDCA9YDnwAzAMMDnwDDA9cDxwBEAM0DxwDNA9kDCAC+A8QDCADEA04ACgC/A8UDCgDFA0gAcABrAMYDcADGA8sDAgBwAMsDAgDLA7kDagBuAMcDagDHA8wDyQBGAMgDyQDIA9oDTgDEA9ADTgDQA3YAAABqAMwDAADMA7gDawBUAM4DawDOA8YDSADFA9EDSADRA38AbgB8AM8DbgDPA8cDkwCJANIDkwDSA9QDlACKANMDlADTA9UDXQCTANQDXQDUA8oDXwCUANUDXwDVA8kD2APDACkA2AMpAMAD2AMiACcA2AMnAMEDXgDHANkDXgDZA8kDXADJANoDXADaA8oDTQHYAN4DTQHeA/IDJQHWAN0DJQHdA/EDsAXfAOADsAXgA44FrgXdAN8DrgXfA40FWgHRANsDWgHbA/UDWwHTANwDWwHcA/YDRwHzA94DRwHeA9gAUAH0A90DUAHdA9YAFQFuAfkDFQH5A/ADFwFwAfoDFwH6A+sDcwQKAfQAcwT0AG0E9wD5AAYB9wAGAQkBbgEGAeUDbgHlA/kDcAEEAeYDcAHmA/oDmAEVAfADmAHwA/wD2QDhA+cD2QDnAx8B2wDiA+gD2wDoAxkBQQE8AekDQQHpA+4D0wBBAe4D0wDuA9wDOwE/AeoDOwHqA+8DmgEXAesDmgHrA/0DHwHnA/MDHwHzA0cB0QA7Ae8D0QDvA9sDPAElAfEDPAHxA+kDGQHoA/QDGQH0A1ABPwFNAfIDPwHyA+oDZAFaAfUDZAH1A/cDZQFbAfYDZQH2A/gDLgFkAfcDLgH3A+0DMAFlAfgDMAH4A+wD+wOUAfoA+wP6AOMD+wPzAPgA+wP4AOQDLwGYAfwDLwH8A+wDLQGaAf0DLQH9A+0DHgKpAQEEHgIBBBUE9gGnAQAE9gEABBQEmwWwAQMEmwUDBJ8FpQWuAQIEpQUCBKAFKwKiAf4DKwL+AxgELAKkAf8DLAL/AxkEGAIWBAEEGAIBBKkBIQIXBAAEIQIABKcB5gE/AhwE5gEcBBME6AFBAh0E6AEdBA4ExAHQAdUBxAHVAd0BRwJJApgERwKYBJIEPwLXAQgEPwIIBBwEQQLVAQkEQQIJBB0EaQLmARMEaQITBB8EqgEEBAoEqgEKBPABrAEFBAsErAELBOoBEgINAgwEEgIMBBEEpAESAhEEpAERBP8DDAIQAg0EDAINBBIEawLoAQ4EawIOBCAE8AEKBBYE8AEWBBgCogEMAhIEogESBP4DDQL2ARQEDQIUBAwE6gELBBcE6gEXBCECEAIeAhUEEAIVBA0ENQIrAhgENQIYBBoENgIsAhkENgIZBBsE/wE1AhoE/wEaBBAEAQI2AhsEAQIbBA8EHgRlAssBHgTLAQYEHgTEAckBHgTJAQcEAAJpAh8EAAIfBA8E/gFrAiAE/gEgBBAE4QJ6AiQE4QIkBDgEvAJ4AiMEvAIjBDcEogWBAiYEogUmBKwFkgV/AiUEkgUlBKsF7AJzAiEE7AIhBDsE7QJ1AiIE7QIiBDwE2wI5BCQE2wIkBHoC5AI6BCME5AIjBHgCrgL+Aj8ErgI/BDYEsAIAA0AEsAJABDEEkAKaAp8CkAKfAqYCBgMHA7wEBgO8BLcE/gKhAisE/gIrBD8EAAOfAiwEAAMsBEAEJQOuAjYEJQM2BEIEewInBC0EewItBLcCfQIoBC4EfQIuBLIC1gLRAi8E1gIvBDQEdQLWAjQEdQI0BCIE0ALUAjAE0AIwBDUEJwOwAjEEJwMxBEMEtwItBDkEtwI5BNsCcwLQAjUEcwI1BCEE0QK8AjcE0QI3BC8EsgIuBDoEsgI6BOQC1ALhAjgE1AI4BDAE9QLsAjsE9QI7BD0E9gLtAjwE9gI8BD4ExAL1Aj0ExAI9BDMExgL2Aj4ExgI+BDIEQQQiA5UCQQSVAikEQQSQApMCQQSTAioExQIlA0IExQJCBDIEwwInA0MEwwJDBDMEqwBSBEQEqwBEBKEArQBUBEUErQBFBKIAgQWFBUcEgQVHBKQApwCxAFkEpwBZBE4EJgA4AGEEJgBhBGAEsQCoAE8EsQBPBFkEpABHBFAEpABQBKkAzwCsAFMEzwBTBGcErgBVBFEErgBRBKoAsABXBFMEsABTBKwAqgBRBFIEqgBSBKsAqQBQBFQEqQBUBK0AogBFBFUEogBVBK4AoQBEBFYEoQBWBK8ArwBWBFcErwBXBLAASgBeBFwESgBcBIEAewWGBU0EewVNBBYAFgBNBF4EFgBeBEoAkABaBGIEkABiBGEAuAA8ACEAuAAhALoAGABLBFsEGABbBFMAGwBKBF0EGwBdBIYAnABCAGMEnABjBFgEcwBkBEoEcwBKBBsAgQBcBEsEgQBLBBgAWwBlBGQEWwBkBHMAOACcAFgEOABYBGEEhgBdBFoEhgBaBJAAxgBhAGIExgBiBGgEUwBbBGUEUwBlBFsAIwDEAGYEIwBmBEgEZgQgAKUAZgSlAEgEqADPAGcEqABnBE8EQgDGAGgEQgBoBGMEfAF3BGkEfAFpBHIBfgF5BGoEfgFqBHMBkAWUBWwEkAVsBHUBeAGCAX4EeAF+BHME9gAIAYYE9gCGBIQEggF5AXQEggF0BH4EdQFsBHUEdQF1BHoBoAF9AXgEoAF4BIwEfwF6BHYEfwF2BHsBgQF8BHgEgQF4BH0BewF2BHcEewF3BHwBegF1BHkEegF5BH4BcwFqBHoEcwF6BH8BcgFpBHsEcgF7BIABgAF7BHwEgAF8BIEBGwGDBIEEGwGBBFIBiwWTBXIEiwVyBOcA5wByBIME5wCDBBsBYAF/BIcEYAGHBDEB8QANAXgB8QB4AXYB6QBwBIAE6QCABCMB6wBvBIIE6wCCBFYBbAESAYgEbAGIBH0EQwGJBG8EQwFvBOsAUgGBBHAEUgFwBOkAKwGKBIkEKwGJBEMBCAFsAX0ECAF9BIYEVgGCBH8EVgF/BGABlgExAYcElgGHBI0EIwGABIoEIwGKBCsB+gCUAZUB+gCVAfUAiwTyAHcBiwR3AW4EeQGgAYwEeQGMBHQEEgGWAY0EEgGNBIgETQKcBI4ETQKOBEMCTwKeBI8ETwKPBEQCnQWVBZEEnQWRBEYCSQJTAqMESQKjBJgExwHZAasExwGrBKkEUwJKApkEUwKZBKMERgKRBJoERgKaBEsCcQJOAp0EcQKdBLEEUAKfBJsEUAKbBEwCUgKhBJ0EUgKdBE4CTAKbBJwETAKcBE0CSwKaBJ4ESwKeBE8CRAKPBJ8ERAKfBFACQwKOBKAEQwKgBFECUQKgBKEEUQKhBFIC7AGoBKYE7AGmBCMClwWWBZcElwWXBLgBuAGXBKgEuAGoBOwBMQKkBKwEMQKsBAICwgHeAUkCwgFJAkcCugGVBKUEugGlBPQBvAGUBKcEvAGnBCcCPQLjAa0EPQKtBKIEFAKuBJQEFAKUBLwBIwKmBJUEIwKVBLoB/AGvBK4E/AGuBBQC2QE9AqIE2QGiBKsEJwKnBKQEJwKkBDECZwICAqwEZwKsBLIE9AGlBK8E9AGvBPwBxgFmArAExgGwBJMEsATDAUgCsARIApMESgJxArEESgKxBJkE4wFnArIE4wGyBK0ECwPABLMECwOzBAIDDQPCBLQEDQO0BAMDtQWoBbYEtQW2BAUDBwMRA8cEBwPHBLwEkgKjAs4EkgLOBM0EEQMIA70EEQO9BMcEBQO2BL4EBQO+BAkDLQMMA8EELQPBBNQEDgPDBL8EDgO/BAoDEAPFBMEEEAPBBAwDCgO/BMAECgPABAsDCQO+BMIECQPCBA0DAwO0BMMEAwPDBA4DAgOzBMQEAgPEBA8DDwPEBMUEDwPFBBADtALMBMoEtALKBOYCsQWnBbsEsQW7BIgCiAK7BMwEiALMBLQC8gLIBM8E8gLPBMcCpwIHAwYDpwIGA48CiQK5BMkEiQLJBLsCigK4BMsEigLLBOkC/QKsAtAE/QLQBMYE2ALRBLgE2AK4BIoC5gLKBLkE5gK5BIkCwgLSBNEEwgLRBNgCowL9AsYEowLGBM4E6QLLBMgE6QLIBPICJAPHAs8EJAPPBNUEuwLJBNIEuwLSBMICtwTTBI8CtwSPAgYDCAMtA9QECAPUBL0ErAIkA9UErALVBNAEzgHnBOYEzgHmBK4BkQHkBOIEkQHiBAIB7wSYAn4C7wR+AusE9gS6BIcC9gSHAu4EvQPzBNYEvQPWBAsA9QRGBKMA9QSjAN0EmALvBOwEmALsBH8C9AQlBH8C9AR/AuwEHwPyBPAEHwPwBJ0CugT2BPIEugTyBB8DYgLqBOgEYgLoBNMB8wS9Aw4A8wQOANgE4wR0AQIB4wQCAeIE4QT9ANwA4QTcAN8E3QSjADEA3QQxANwE8QQEA50C8QSdAvAERgT1BNoERgTaBB0A6QRFAtMB6QTTAegE/QDhBOAE/QDgBN0A2wQsAAsA2wQLANYE2AQOABwA2AQcANkE7gSHAoAC7gSAAu0EJQT0BO0EJQTtBIACwADeBNwEwADcBDEA5wTOAa0B5wStAeUELADbBNcELADXBAwATgbpBOgETgboBE0GUQYDBQEFUQYBBVAGUgbxBPAEUgbwBFMGDAVFBTEFDAUxBQ4FTAbjBOIETAbiBFAGVwYJBQcFVwYHBU0GVgb9BPsEVgb7BE8GFwX9BAIFFwUCBRoFCQUPBSwGCQUsBhIFAgSuAeYEAgTmBHYFFwUWBfsEFwX7BP0EFwUnBSQFFwUkBRYFAwUbBRkFAwUZBQEFIwUQBfkEIwX5BBMFGgUCBQEFGgUBBRkFNgXlBK0BNgWtAQMELQUrBVEFLQVRBRIFKQUaBRkFKQUZBSgFEgVRBQcFEgUHBQkFGwUqBSgFGwUoBRkFRgUyBS4FRgUuBUMFcQU5BUoFcQVKBWsFMgVGBUQFMgVEBS8FawVKBVQFawVUBVUFTAVWBVUFTAVVBVQFdQYwBmIFdQZiBXIGOwVsBVYFOwVWBUwFMAY4Bl0FMAZdBWIFOQVxBWoFOQVqBUsFMQZuBXQFMQZ0BToGMgZlBVgFMgZYBTYGMwZtBWYFMwZmBS4GOgZ0BTcFOgY3BTcGagV1BSEFagUhBXAF3wPdAOAE3wPgBGQFNgZYBVsFNgZbBS4GLQZzBW0FLQZtBTMGMgYiBW4FMgZuBTEGUgVrBVUFUgVVBSAFcAUhBRQFcAUUBXIFzwXOBS4FzwUuBTIFSwVqBXAFSwVwBToFLgXOBUkFLgVJBWwFLQB/BXkFLQB5BQoAvgODBXgFvgN4BQ8AvwOEBXoFvwN6BQkARgQdAH4FRgR+BYUFFwAJAHoFFwB6BXwFHAAOAHcFHAB3BX0FDwB4BX8FDwB/BS0AwAAxAIAFwACABYIFMQCjAIEFMQCBBYAFTATAAIIFTASCBYYFCAB3BYMFCACDBb4DCgB5BYQFCgCEBb8DowBGBIUFowCFBYEFFABMBIYFFACGBXsFcQSRAY8FcQSPBZMF4QOOBa8F4QOvBeAA4gONBa0F4gOtBdoA6ADaAK0F6ACtBYwFuQGrAaYFuQGmBZgFawTtAIkFawSJBZQFlgRiAp4FlgSeBZYF0wFFAp0F0wGdBaQFkQECAYcFkQGHBY8FsQGcBaMFsQGjBc8BdAFrBJQFdAGUBZAF2wCuBY0F2wCNBeIDBQSgBaYFBQSmBasB2QCwBY4F2QCOBeEDBASfBZwFBAScBbEB5QBxBJMF5QCTBYsFAgF0AZAFAgGQBYcFnQIEA7UFnQK1BakF4ACvBYgF4ACIBf4A7gDfALAF7gCwBYoFRQKQBJUFRQKVBZ0F/gCIBa4F/gCuBdsAtgGWBJYFtgGWBZcFHwOdAqkFHwOpBbQFkAS+AZkFkASZBZUFmQKqBZIFmQKSBX0CtQSLArIFtQSyBagFJwSsBaEFJwShBYICrAGlBaAFrAGgBQUEvwGwAZsFvwGbBZoFzwGjBaUFzwGlBawBqgGbBZ8FqgGfBQQEYgLTAaQFYgKkBZ4FfQKSBasFfQKrBSgEggKhBaoFggKqBZkCBAO1BKgFBAOoBbUFugQfA7QFugS0BacFewKiBawFewKsBScEhwK6BKcFhwKnBbEFjAKBAqIFjAKiBbMFKASrBZEFKASRBXwCiAJ8ApEFiAKRBbEFbAVJBcwFbAXMBVYFcQUYBXUFcQV1BWoFEAUjBXIFEAVyBRQFGAVxBWsFGAVrBVIFBgUEBSAFBgUgBcwFAAX+BHUFAAV1BRgFVgXMBSAFVgUgBVUFDQULBewEDQXsBO8EygXfBNwAygXcAOADvAMMANcEvAPXBMsF4APfAA0A4AMNALwDvAPLBcoFvAPKBeAD7wTrBAoF7wQKBQ0FzgUKBesEzgXrBM0FAwSwAd4AAwTeAN8DzAVJBQUFzAUFBQYF3wNkBTYF3wM2BQMESQXOBc0FSQXNBXYFzwURBQsFzwULBQ0FMgUvBREFMgURBc8FzQXrBH4CzQV+AiYEAgR2Bc0FAgTNBSYEJgSBAq8BJgSvAQIEDQUKBc4FDQXOBc8FHAVRBSsFHAUrBSwFgwaEBo4GgwaOBrkFggaDBrkFgga5BZQGbQPSBdUFbQPVBXAD2QV0A3ED2QVxA9YF2wWaA2wD2wVsA9EFpwPcBdEFpwPRBWwD1wVyA3MD1wVzA9gF1gVxA3ID1gVyA9cF3AWnA3UD3AV1A9oF2AVzA28D2AVvA9QFmgPbBdMFmgPTBW4D1AVvA3AD1AVwA9UF5AXYBdQF5AXUBeAF4AXUBdUF4AXVBeEF2wXnBd8F2wXfBdMF5QXZBdYF5QXWBeIF0gXeBeEF0gXhBdUF5wXbBdEF5wXRBd0F3AXoBd0F3AXdBdEF6AXcBdoF6AXaBeYF4wXXBdgF4wXYBeQF4gXWBdcF4gXXBeMF7wXjBeQF7wXkBfAF7gXiBeMF7gXjBe8F8AXkBeAF8AXgBewF7AXgBeEF7AXhBe0F5wXzBesF5wXrBd8F8QXlBeIF8QXiBe4F3gXqBe0F3gXtBeEF8wXnBd0F8wXdBekF6AX0BekF6AXpBd0F9AXoBeYF9AXmBfIF/wXzBekF/wXpBfUF9AUABvUF9AX1BekFAAb0BfIFAAbyBf4F+wXvBfAF+wXwBfwF+gXuBe8F+gXvBfsF/AXwBewF/AXsBfgF+AXsBe0F+AXtBfkF8wX/BfcF8wX3BesF/QXxBe4F/QXuBfoF6gX2BfkF6gX5Be0F/wULBgMG/wUDBvcFCQb9BfoFCQb6BQYG9gUCBgUG9gUFBvkFCwb/BfUFCwb1BQEGAAYMBgEGAAYBBvUFDAYABv4FDAb+BQoGBwb7BfwFBwb8BQgGBgb6BfsFBgb7BQcGCAb8BfgFCAb4BQQGBAb4BfkFBAb5BQUGFAYIBgQGFAYEBhAGEAYEBgUGEAYFBhEGCwYXBg8GCwYPBgMGFQYJBgYGFQYGBhIGAgYOBhEGAgYRBgUGFwYLBgEGFwYBBg0GDAYYBg0GDAYNBgEGGAYMBgoGGAYKBhYGEwYHBggGEwYIBhQGEgYGBgcGEgYHBhMGHwUeBRAGHwUQBhEGMwUfBREGMwURBg4GQQUdBhwGQQUcBkAFQAUcBhsGQAUbBj8FPgUaBhkGPgUZBj0FHQYfBh4GHQYeBhwGHwYhBiAGHwYgBh4GIQYkBiMGIQYjBiAGTQVhBj0GTQU9BmAGJAYnBiYGJAYmBiMGJwYqBikGJwYpBiYGNQZhBWQGNQZkBikGJQU1BikGJQUpBioGFQANAN8AFQDfAO4A5gDeALAB5gCwAb8BTAQUAO0ATATtAGsEawR0AcAAawTAAEwEdAHjBN4EdAHeBMAAVgbeBOMEVgbjBEwGJAUnBUEFJAVBBV0GGgUpBScFGgUnBRcFNQU0BQ8GNQUPBhcGcQTlAL4BcQS+AZAEkARFApEBkASRAXEEtwGvAYECtwGBAowClgS2AYsClgSLArUEtQQEA2ICtQRiApYEBAPxBOoEBAPqBGICVwbqBPEEVwbxBFIGHAUbBQMFHAUDBQgFLAUqBRsFLAUbBRwFUQUcBQgFUQUIBQcFTgYIBQMFTgYDBVEG5ASRAUUC5ARFAukEDwUOBTEFDwUxBSwGLQZXBV0FLQZdBTgGbAU7BUMFbAVDBS4FFAUhBfgEFAX4BPoEFAX6BPcEFAX3BBAFGAVSBf8EGAX/BAAFLwVFBQwFLwUMBREFRwU1BRcGRwUXBg0GUAVPBTgGUAU4BjAGWQUxBjoGWQU6BlMFcwUtBjgGcwU4Bk8FVwUtBjMGVwUzBloFUwU6BjcGUwU3BlwFIgUyBjYGIgU2Bm8FWgUzBi4GWgUuBlsFZQUyBjEGZQUxBlkFbwU2Bi4GbwUuBmYFMQUwBTwGMQU8BiwGJgYpBmQGJgZkBmYGEgUsBjwGEgU8Bi0FIwYmBmYGIwZmBmkGSAVHBQ0GSAUNBhgGGAYWBlkGGAZZBkgFJgVYBhUGJgUVBhIGYwUmBRIGYwUSBhMGEwYUBjkGEwY5BmMFNwZgBj0GNwY9BlwFLwZfBWgFLwZoBTsGOwYdBWkFOwZpBS8GRAU4BUUFRAVFBS8FPAXCBWEGPAVhBk0FggaBBsYFggbGBccFgQaABsUFgQbFBcYFgAZ/BsQFgAbEBcUFfwZ+BsgFfwbIBcQFfgZ9BtAFfgbQBcgFfQZ8BskFfQbJBdAFfAZ7BksGfAZLBskFWQVTBcAFWQXABccFZQVZBccFZQXHBcYFxgXFBVgFxgVYBWUFxQXEBVsFxQVbBVgFWgVbBcQFWgXEBcgFVwVaBcgFVwXIBdAF0AXJBV0F0AVdBVcFegZ7Bp4GegaeBqMGeQZ6BqMGeQajBkkGYgVdBckFYgXJBUsGBQVJBXYFBQV2BeYECAVOBk0GCAVNBgcF/AT1BE8G/ARPBvsEBgUFBeYEBgXmBOcE5wTlBAQF5wQEBQYF5ARRBlAG5ARQBuIEIAUEBeUEIAXlBDYFDwVSBlMGDwVTBg4F9QTdBNwE9QTcBE8GNgVkBVIFNgVSBSAF/wRSBWQF/wRkBeAEAAX/BOAEAAXgBOEE4QTfBP4E4QT+BAAFAgVMBlAGAgVQBgEF6gRXBk0G6gRNBugE9gTuBA4F9gQOBVMGdQX+BN8EdQXfBMoF3gRWBk8G3gRPBtwEygXLBSEFygUhBXUF+AQhBcsF+ATLBdcE+gT4BNcE+gTXBNsE9gRTBvAE9gTwBPIE2wTWBPcE2wT3BPoEEAX3BNYEEAXWBPME8wTYBPkE8wT5BBAFEwX5BFQGEwVUBnAG/AQVBXEG/ARxBlUG7gTtBAwF7gQMBQ4FEQUMBe0EEQXtBPQE9ATsBAsF9AQLBREF2ATZBFQG2ARUBvkE/QRWBkwG/QRMBgIFCQVXBlIGCQVSBg8F6QROBlEG6QRRBuQEFAYQBh4FFAYeBTkGWgZbBlgGWgZYBiYFTgVaBiYFTgUmBWMFcgVCBToFcgU6BXAFYAY3BjcFYAY3BV4GcgZiBUsGcgZLBnYGTQVOBWMFTQVjBTkGcgZ2BkIGcgZCBl8FXwZCBXIFXwZyBSMFQgVfBl4GQgVeBjcFXgZfBloGXgZaBk4FIwUTBVoGIwVaBl8GOgVCBTcFOgU3BXQFSwU6BXQFSwV0BW4FNQYlBR0FNQYdBTsGOwZoBWEFOwZhBTUGKwZeBUEGKwZBBj8GKAYrBj8GKAY/BkAGJQYoBkAGJQZABkMGIgYlBkMGIgZDBkUGPgYiBkUGPgZFBkQGwgU+BkQGwgVEBkcGYQbCBUcGYQZHBkYGPQZhBkYGPQZGBsEFKwZiBmcFKwZnBV4FGQbCBTwFGQY8BT0FKAY0BmIGKAZiBisGZwViBmMGZwVjBmAFIAYjBmkGIAZpBmwGbAZvBh4GbAYeBiAGZQZjBmIGZQZiBjQGNAZnBmgGNAZoBmUGZwZqBmsGZwZrBmgGagZtBm4GagZuBmsGJQZnBjQGJQY0BigGagZnBiUGagYlBiIGIgY+Bm0GIgZtBmoGHgZvBhsGHgYbBhwGbgZtBhkGbgYZBhoGGQZtBj4GGQY+BsIFRQU4BTAFRQUwBTEFOQVLBW4FOQVuBSIFIgVvBUoFIgVKBTkFbwVmBVQFbwVUBUoFTAVUBWYFTAVmBW0FOwVMBW0FOwVtBXMFQwU7BXMFQwVzBU8FRgVDBU8FRgVPBVAFMAU4BWkFMAVpBR0FHQUlBTwGHQU8BjAFLQU8BiUFLQUlBSoGKgYnBisFKgYrBS0FLAUrBScGLAUnBiQGJAYhBioFJAYqBSwFIQYfBigFIQYoBSoFKQUoBR8GKQUfBh0GHQZBBScFHQYnBSkF/ARVBtoE/ATaBPUEFgUkBXEGFgVxBhUF/AT7BBYF/AQWBRUFEwVwBlsGEwVbBloGLwZ1BnIGLwZyBl8FXAU9BsEFXAXBBcMFUwVcBcMFUwXDBcAFOAVEBXcGOAV3BmkFLwZpBXcGLwZ3BnUGUAV3BkQFUAVEBUYFdQZ3BlAFdQZQBTAGTgVNBWAGTgVgBl4GSAVZBlwGSAVcBl0GXQZBBUcFXQZHBUgFQQVABTUFQQU1BUcFQAU/BTQFQAU0BTUFPgU9BR8FPgUfBTMFPQU8BR4FPQUeBR8FPAVNBTkGPAU5Bh4FjAaLBo8GjAaPBqYGiwaKBpEGiwaRBo8GigaJBroFiga6BZEGiAaJBkQGiAZEBkUGhwaIBkUGhwZFBkMGhgaHBkMGhgZDBkAGhQaGBkAGhQZABj8GhQZ4BkgGhQZIBnMGhAaMBqYGhAamBo4GQgZ2BnoGQgZ6BnkGlAa3BYEGlAaBBoIGoQa+BYgGoQaIBocGxwXABYMGxwWDBoIGRwZEBokGRwaJBooGwAXDBYQGwAWEBoMGnAaeBnsGnAZ7BnwGwwXBBYwGwwWMBoQGmgaYBn4GmgZ+Bn8GlgacBnwGlgZ8Bn0GRgZHBooGRgaKBosGcwafBoYGcwaGBoUGvQWaBn8GvQV/BoAGmAaWBn0GmAZ9Bn4GPwZBBngGPwZ4BoUGvgW6BYkGvgWJBogGtwW9BYAGtwWABoEGdgZLBnsGdgZ7BnoGnwahBocGnwaHBoYGwQVGBosGwQWLBowGcQYkBV0GcQZdBlwGqgOrA0QDqgNEA0oDrQasBrkGrAbhBrkGswayBrkGrga5BqsGsAatBrkGtwanBrkGpwaoBrkGqAa4BrkGuAaqBrkGqgapBrkGuQapBt4GuQa1BrMGrwa5Bq4GsQa5Bq8GtQa5BrEGsga0BrkGtAa2BrkGtgawBrkG1gbABpIG1gaSBrsFxwbFBpkGxwaZBrwFzwa/BrYFzwa2BZMG0AbMBqIG0AaiBqAGvQbPBpMGvQaTBrgFvwbHBrwFvwa8BbYF0gbQBqAG0gagBnQG4Aa9BrgF4Aa4BY0G2AbUBkoG2AZKBqQGygbWBrsFyga7Bb8FyQbbBp0GyQadBpsG1AbSBnQG1AZ0BkoGwAbcBpAGwAaQBpIGzAbKBr8FzAa/BaIG3Aa7BqUG3AalBpAG4wbJBpsG4wabBpUG2wbYBqQG2wakBp0GxQbDBpcGxQaXBpkGpwa3BsIGpwbCBsQGrQawBtkGrQbZBtoG4QasBsgG4QbIBuIG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" + } + ] +} diff --git a/addons/godot-xr-tools/hands/model/hand_r.gltf.import b/addons/godot-xr-tools/hands/model/hand_r.gltf.import new file mode 100644 index 0000000..1f91a8d --- /dev/null +++ b/addons/godot-xr-tools/hands/model/hand_r.gltf.import @@ -0,0 +1,32 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://ds1t8vc0kxoeo" +path="res://.godot/imported/hand_r.gltf-dd429687cadefbc3e7a21ae26addfb30.scn" + +[deps] + +source_file="res://addons/godot-xr-tools/hands/model/hand_r.gltf" +dest_files=["res://.godot/imported/hand_r.gltf-dd429687cadefbc3e7a21ae26addfb30.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/physics_hand.gd b/addons/godot-xr-tools/hands/physics_hand.gd new file mode 100644 index 0000000..5934817 --- /dev/null +++ b/addons/godot-xr-tools/hands/physics_hand.gd @@ -0,0 +1,40 @@ +@tool +class_name XRToolsPhysicsHand +extends XRToolsHand + + +## XR Tools Physics Hand Script +## +## This script extends from the standard [XRToolsHand] and adds settings to +## manage collision and group settings for all [XRToolsHandPhysicsBone] nodes +## attached to the hand. + + +# Default hand bone layer of 18:player-hand +const DEFAULT_LAYER := 0b0000_0000_0000_0010_0000_0000_0000_0000 + + +## Collision layer applied to all [XRToolsHandPhysicsBone] children. +## +## This is used to set physics collision layers for every bone in a hand. +## Additionally [XRToolsHandPhysicsBone] nodes can specify additional +## bone-specific collision layers - for example to give the fore-finger bone +## additional collision capabilities. +@export_flags_3d_physics var collision_layer : int = DEFAULT_LAYER + +## Bone collision margin applied to all [XRToolsHandPhysicsBone] children. +## +## This is used for fine-tuning the collision margins for all +## [XRToolsHandPhysicsBone] children in the hand. +@export var margin : float = 0.004 + +## Group applied to all [XRToolsHandPhysicsBone] children. +## +## This is used to set groups for every bone in the hand. Additionally +## [XRToolsHandPhysicsBone] nodes can specify additional bone-specific groups. +@export var bone_group : String = "" + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsPhysicsHand" or super(name) diff --git a/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd b/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd new file mode 100644 index 0000000..355a2a9 --- /dev/null +++ b/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd @@ -0,0 +1,16 @@ +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsHandPoseSettings +extends Resource + + +## XR Tools Hand Pose Settings Resource +## +## This resource defines the settings for hand poses such as the poses for +## hand-open and hand-closed. + + +## Hand-open pose +@export var open_pose : Animation + +## Hand-closed pose +@export var closed_pose : Animation diff --git a/addons/godot-xr-tools/hands/poses/pose_default_left.tres b/addons/godot-xr-tools/hands/poses/pose_default_left.tres new file mode 100644 index 0000000..26ba106 --- /dev/null +++ b/addons/godot-xr-tools/hands/poses/pose_default_left.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dertgu7k8alls"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1"] +[ext_resource type="Animation" uid="uid://plad1r85f7ws" path="res://addons/godot-xr-tools/hands/animations/left/Grip.res" id="1_oobiv"] +[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="2_tar64"] + +[resource] +script = ExtResource("1") +open_pose = ExtResource("2_tar64") +closed_pose = ExtResource("1_oobiv") diff --git a/addons/godot-xr-tools/hands/poses/pose_default_right.tres b/addons/godot-xr-tools/hands/poses/pose_default_right.tres new file mode 100644 index 0000000..dc2430b --- /dev/null +++ b/addons/godot-xr-tools/hands/poses/pose_default_right.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dmpjtk0l8vh6v"] + +[ext_resource type="Animation" uid="uid://ccds2u22gbxn7" path="res://addons/godot-xr-tools/hands/animations/right/Grip.res" id="1_o7bqr"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_ytvcl"] +[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="2_u3fe0"] + +[resource] +script = ExtResource("1_ytvcl") +open_pose = ExtResource("2_u3fe0") +closed_pose = ExtResource("1_o7bqr") diff --git a/addons/godot-xr-tools/hands/poses/pose_point_left.tres b/addons/godot-xr-tools/hands/poses/pose_point_left.tres new file mode 100644 index 0000000..267151a --- /dev/null +++ b/addons/godot-xr-tools/hands/poses/pose_point_left.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" load_steps=3 format=3 uid="uid://ciw0f7mg4ai0k"] + +[ext_resource type="Animation" uid="uid://cevirj0eagdrq" path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.res" id="1_idx1j"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_oxfi3"] + +[resource] +script = ExtResource("1_oxfi3") +open_pose = ExtResource("1_idx1j") +closed_pose = ExtResource("1_idx1j") diff --git a/addons/godot-xr-tools/hands/poses/pose_point_right.tres b/addons/godot-xr-tools/hands/poses/pose_point_right.tres new file mode 100644 index 0000000..b3bc9f2 --- /dev/null +++ b/addons/godot-xr-tools/hands/poses/pose_point_right.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" load_steps=3 format=3 uid="uid://bhvrpfo4ecbub"] + +[ext_resource type="Animation" uid="uid://bcwx6a6mhsoj2" path="res://addons/godot-xr-tools/hands/animations/right/Sign 1.res" id="1_jc8b4"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_pkv6s"] + +[resource] +script = ExtResource("1_pkv6s") +open_pose = ExtResource("1_jc8b4") +closed_pose = ExtResource("1_jc8b4") diff --git a/addons/godot-xr-tools/hands/scenes/collision/collision_hand_left.tscn b/addons/godot-xr-tools/hands/scenes/collision/collision_hand_left.tscn new file mode 100644 index 0000000..0cb1065 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/collision/collision_hand_left.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=3 uid="uid://bkv43ec6chcf3"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/collision_hand.gd" id="1_t5acd"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_bv7in"] +size = Vector3(0.045, 0.075, 0.1) + +[node name="CollisionHandLeft" type="StaticBody3D"] +process_priority = -90 +process_physics_priority = -90 +collision_layer = 131072 +collision_mask = 327711 +script = ExtResource("1_t5acd") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.11) +shape = SubResource("BoxShape3D_bv7in") diff --git a/addons/godot-xr-tools/hands/scenes/collision/collision_hand_right.tscn b/addons/godot-xr-tools/hands/scenes/collision/collision_hand_right.tscn new file mode 100644 index 0000000..e6a3b60 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/collision/collision_hand_right.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=3 uid="uid://c3uoohvnshach"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/collision_hand.gd" id="1_so3hf"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_fc2ij"] +size = Vector3(0.045, 0.075, 0.1) + +[node name="CollisionHandRight" type="StaticBody3D"] +process_priority = -90 +process_physics_priority = -90 +collision_layer = 131072 +collision_mask = 327711 +script = ExtResource("1_so3hf") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.11) +shape = SubResource("BoxShape3D_fc2ij") diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn new file mode 100644 index 0000000..5af1d46 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://bpdj5njb8nhot"] + +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://dhaqth6q5yw4n" path="res://addons/godot-xr-tools/hands/model/hand_l.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_x4lr3"] +[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ej4yx"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gacaa"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_seoit"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_rtx6p"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_y01rx"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_o4h0a"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_ej4yx") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_gacaa") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_seoit") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_rtx6p") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_y01rx") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_x4lr3") + +[node name="Hand_L" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_L" parent="Hand_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="AnimationPlayer" parent="Hand_L" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_o4h0a") +anim_player = NodePath("../Hand_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_L"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn new file mode 100644 index 0000000..64dfa96 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://nqiyqnx42m61"] + +[ext_resource type="PackedScene" uid="uid://dhaqth6q5yw4n" path="res://addons/godot-xr-tools/hands/model/hand_l.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_0aa1r"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="9"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_2frkw"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_2xka1"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ru86n"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_g5ps2"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_v8isy"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_yv3c8"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_2frkw") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_2xka1") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_ru86n") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_g5ps2") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_v8isy") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("3") +bone_group = "LeftHand" +hand_blend_tree = ExtResource("9") +default_pose = ExtResource("3_0aa1r") + +[node name="Hand_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_L" parent="Hand_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_L" +bone_idx = 0 +script = ExtResource("4") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_L" +bone_idx = 1 +script = ExtResource("4") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_L" +bone_idx = 2 +script = ExtResource("4") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_L" +bone_idx = 3 +script = ExtResource("4") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_L" +bone_idx = 5 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_L" +bone_idx = 6 +script = ExtResource("4") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_L" +bone_idx = 7 +script = ExtResource("4") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_L" +bone_idx = 8 +script = ExtResource("4") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_L" +bone_idx = 10 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_L" +bone_idx = 11 +script = ExtResource("4") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_L" +bone_idx = 12 +script = ExtResource("4") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) +bone_name = "Middle_Distal_L" +bone_idx = 13 +script = ExtResource("4") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_L" +bone_idx = 15 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_L" +bone_idx = 16 +script = ExtResource("4") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_L" +bone_idx = 17 +script = ExtResource("4") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_L" +bone_idx = 18 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_L" +bone_idx = 20 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_L" +bone_idx = 21 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_L" +bone_idx = 22 +script = ExtResource("4") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_L" +bone_idx = 23 +script = ExtResource("4") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_L" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_yv3c8") +anim_player = NodePath("../Hand_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_L"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn new file mode 100644 index 0000000..ef1c2d3 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://njx823gyk04n"] + +[ext_resource type="PackedScene" uid="uid://q1l3fknstir2" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_k56uy"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="5"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x12eo"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_kw2gg"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_o8j0s"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cxcnq"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_yn70n"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_v8owg"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_x12eo") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_kw2gg") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_o8j0s") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_cxcnq") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_yn70n") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("5") +default_pose = ExtResource("3_k56uy") + +[node name="Hand_Nails_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_Nails_L" parent="Hand_Nails_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("6") + +[node name="AnimationPlayer" parent="Hand_Nails_L" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_v8owg") +anim_player = NodePath("../Hand_Nails_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Nails_L"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn new file mode 100644 index 0000000..c94c778 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://cy03d57iyrci"] + +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://q1l3fknstir2" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_fye1l"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="9"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5nt68"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_04hby"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_dvduk"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_40ncn"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_fjpy6"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_xtig3"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_5nt68") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_04hby") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_dvduk") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_40ncn") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_fjpy6") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("3") +bone_group = "LeftHand" +hand_blend_tree = ExtResource("9") +default_pose = ExtResource("3_fye1l") + +[node name="Hand_Nails_L" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_Nails_L" parent="Hand_Nails_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_L" +bone_idx = 0 +script = ExtResource("4") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_L" +bone_idx = 1 +script = ExtResource("4") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_L" +bone_idx = 2 +script = ExtResource("4") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_L" +bone_idx = 3 +script = ExtResource("4") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_L" +bone_idx = 5 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_L" +bone_idx = 6 +script = ExtResource("4") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_L" +bone_idx = 7 +script = ExtResource("4") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_L" +bone_idx = 8 +script = ExtResource("4") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_L" +bone_idx = 10 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_L" +bone_idx = 11 +script = ExtResource("4") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_L" +bone_idx = 12 +script = ExtResource("4") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) +bone_name = "Middle_Distal_L" +bone_idx = 13 +script = ExtResource("4") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_L" +bone_idx = 15 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_L" +bone_idx = 16 +script = ExtResource("4") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_L" +bone_idx = 17 +script = ExtResource("4") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_L" +bone_idx = 18 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_L" +bone_idx = 20 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_L" +bone_idx = 21 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_L" +bone_idx = 22 +script = ExtResource("4") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_L" +bone_idx = 23 +script = ExtResource("4") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_Nails_L" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_xtig3") +anim_player = NodePath("../Hand_Nails_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Nails_L"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn new file mode 100644 index 0000000..43f657f --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://ddsj74hpt1kgb"] + +[ext_resource type="PackedScene" uid="uid://bu07alt6vkbaq" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_rnhp7"] +[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mq2ds"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_yqx3r"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_o3ato"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_2ih7n"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_02eq5"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_yo480"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_mq2ds") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_yqx3r") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_o3ato") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_2ih7n") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_02eq5") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("6") +bone_group = "LeftHand" +hand_blend_tree = ExtResource("3") +default_pose = ExtResource("3_rnhp7") + +[node name="Hand_Glove_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Glove_L" parent="Hand_Glove_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_L" +bone_idx = 0 +script = ExtResource("5") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_L" +bone_idx = 1 +script = ExtResource("5") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_L" +bone_idx = 2 +script = ExtResource("5") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_L" +bone_idx = 3 +script = ExtResource("5") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_L" +bone_idx = 5 +script = ExtResource("5") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_L" +bone_idx = 6 +script = ExtResource("5") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_L" +bone_idx = 7 +script = ExtResource("5") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_L" +bone_idx = 8 +script = ExtResource("5") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_L" +bone_idx = 10 +script = ExtResource("5") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_L" +bone_idx = 11 +script = ExtResource("5") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_L" +bone_idx = 12 +script = ExtResource("5") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) +bone_name = "Middle_Distal_L" +bone_idx = 13 +script = ExtResource("5") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_L" +bone_idx = 15 +script = ExtResource("5") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_L" +bone_idx = 16 +script = ExtResource("5") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_L" +bone_idx = 17 +script = ExtResource("5") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_L" +bone_idx = 18 +script = ExtResource("5") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_L" +bone_idx = 20 +script = ExtResource("5") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_L" +bone_idx = 21 +script = ExtResource("5") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_L" +bone_idx = 22 +script = ExtResource("5") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_L" +bone_idx = 23 +script = ExtResource("5") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_Glove_L" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_yo480") +anim_player = NodePath("../Hand_Glove_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0 +parameters/Trigger/blend_amount = 0 + +[editable path="Hand_Glove_L"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn new file mode 100644 index 0000000..60a45d6 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://hpr0v012ghsb"] + +[ext_resource type="PackedScene" uid="uid://bu07alt6vkbaq" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_s33di"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="4"] +[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qtjek"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_acswy"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_3125k"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_kjpaa"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_kisbg"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_yoy4c"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_qtjek") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_acswy") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_3125k") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_kjpaa") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_kisbg") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("4") +default_pose = ExtResource("3_s33di") + +[node name="Hand_Glove_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Glove_L" parent="Hand_Glove_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="AnimationPlayer" parent="Hand_Glove_L" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_yoy4c") +anim_player = NodePath("../Hand_Glove_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0 +parameters/Trigger/blend_amount = 0 + +[editable path="Hand_Glove_L"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn new file mode 100644 index 0000000..84e076b --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://d1tl07geqm5xq"] + +[ext_resource type="PackedScene" uid="uid://ds1t8vc0kxoeo" path="res://addons/godot-xr-tools/hands/model/hand_r.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_xmpie"] +[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_coci4"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_me2sf"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_oarao"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gm5ny"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_3o6s4"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_jyl6y"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_coci4") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_me2sf") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_oarao") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_gm5ny") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_3o6s4") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_xmpie") + +[node name="Hand_R" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_R" parent="Hand_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="AnimationPlayer" parent="Hand_R" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_jyl6y") +anim_player = NodePath("../Hand_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_R"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn new file mode 100644 index 0000000..c48a0c5 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://cigx2gnf4tg4d"] + +[ext_resource type="PackedScene" uid="uid://ds1t8vc0kxoeo" path="res://addons/godot-xr-tools/hands/model/hand_r.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_23oai"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="7"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sbg56"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cmqjo"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_giuei"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4mwbe"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_x7ees"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_s5hy4"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_sbg56") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_cmqjo") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_giuei") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_4mwbe") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_x7ees") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("3") +bone_group = "RightHand" +hand_blend_tree = ExtResource("7") +default_pose = ExtResource("3_23oai") + +[node name="Hand_R" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_R" parent="Hand_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_R" +bone_idx = 0 +script = ExtResource("4") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_R" +bone_idx = 1 +script = ExtResource("4") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_R" +bone_idx = 2 +script = ExtResource("4") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_R" +bone_idx = 3 +script = ExtResource("4") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_R" +bone_idx = 5 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_R" +bone_idx = 6 +script = ExtResource("4") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_R" +bone_idx = 7 +script = ExtResource("4") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_R" +bone_idx = 8 +script = ExtResource("4") +length = 0.02 +bone_group = "IIndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_R" +bone_idx = 10 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_R" +bone_idx = 11 +script = ExtResource("4") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_R" +bone_idx = 12 +script = ExtResource("4") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) +bone_name = "Middle_Distal_R" +bone_idx = 13 +script = ExtResource("4") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_R" +bone_idx = 15 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_R" +bone_idx = 16 +script = ExtResource("4") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_R" +bone_idx = 17 +script = ExtResource("4") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_R" +bone_idx = 18 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_R" +bone_idx = 20 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_R" +bone_idx = 21 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_R" +bone_idx = 22 +script = ExtResource("4") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_R" +bone_idx = 23 +script = ExtResource("4") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_R" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_s5hy4") +anim_player = NodePath("../Hand_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_R"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn new file mode 100644 index 0000000..3062ad9 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://raeeicvvindd"] + +[ext_resource type="PackedScene" uid="uid://c6s5nvekg0isa" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_lydk3"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vm3m2"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cim8x"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_j022x"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_0hd6d"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_okkj6"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_l2q6m"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_vm3m2") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_cim8x") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_j022x") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_0hd6d") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_okkj6") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_lydk3") + +[node name="Hand_Nails_R" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_Nails_R" parent="Hand_Nails_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="AnimationPlayer" parent="Hand_Nails_R" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_l2q6m") +anim_player = NodePath("../Hand_Nails_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Nails_R"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn new file mode 100644 index 0000000..0ee707a --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://kcqomcjq52np"] + +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://c6s5nvekg0isa" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_gqplw"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="7"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_y3mf2"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8ifub"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_jh66p"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4bb4h"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_b8ks0"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_xm2bm"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_y3mf2") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_8ifub") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_jh66p") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_4bb4h") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_b8ks0") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("3") +bone_group = "RightHand" +hand_blend_tree = ExtResource("7") +default_pose = ExtResource("3_gqplw") + +[node name="Hand_Nails_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_Nails_R" parent="Hand_Nails_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_R" +bone_idx = 0 +script = ExtResource("4") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_R" +bone_idx = 1 +script = ExtResource("4") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_R" +bone_idx = 2 +script = ExtResource("4") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_R" +bone_idx = 3 +script = ExtResource("4") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_R" +bone_idx = 5 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_R" +bone_idx = 6 +script = ExtResource("4") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_R" +bone_idx = 7 +script = ExtResource("4") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_R" +bone_idx = 8 +script = ExtResource("4") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_R" +bone_idx = 10 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_R" +bone_idx = 11 +script = ExtResource("4") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_R" +bone_idx = 12 +script = ExtResource("4") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) +bone_name = "Middle_Distal_R" +bone_idx = 13 +script = ExtResource("4") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_R" +bone_idx = 15 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_R" +bone_idx = 16 +script = ExtResource("4") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_R" +bone_idx = 17 +script = ExtResource("4") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_R" +bone_idx = 18 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_R" +bone_idx = 20 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_R" +bone_idx = 21 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_R" +bone_idx = 22 +script = ExtResource("4") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_R" +bone_idx = 23 +script = ExtResource("4") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_Nails_R" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_xm2bm") +anim_player = NodePath("../Hand_Nails_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Nails_R"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn new file mode 100644 index 0000000..18bf291 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://b6xesntm4qeo5"] + +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://w7th3d2hl7b5" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" id="2"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_h0fv3"] +[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_eynss"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_udhgr"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_s7eng"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dc0m1"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_guoth"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_08oti"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_eynss") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_udhgr") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_s7eng") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_dc0m1") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_guoth") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("6") +bone_group = "RightHand" +hand_blend_tree = ExtResource("3") +default_pose = ExtResource("3_h0fv3") + +[node name="Hand_Glove_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Glove_R" parent="Hand_Glove_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_R" +bone_idx = 0 +script = ExtResource("5") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_R" +bone_idx = 1 +script = ExtResource("5") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_R" +bone_idx = 2 +script = ExtResource("5") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_R" +bone_idx = 3 +script = ExtResource("5") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_R" +bone_idx = 5 +script = ExtResource("5") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_R" +bone_idx = 6 +script = ExtResource("5") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_R" +bone_idx = 7 +script = ExtResource("5") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_R" +bone_idx = 8 +script = ExtResource("5") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_R" +bone_idx = 10 +script = ExtResource("5") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_R" +bone_idx = 11 +script = ExtResource("5") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_R" +bone_idx = 12 +script = ExtResource("5") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) +bone_name = "Middle_Distal_R" +bone_idx = 13 +script = ExtResource("5") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_R" +bone_idx = 15 +script = ExtResource("5") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_R" +bone_idx = 16 +script = ExtResource("5") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_R" +bone_idx = 17 +script = ExtResource("5") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_R" +bone_idx = 18 +script = ExtResource("5") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_R" +bone_idx = 20 +script = ExtResource("5") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_R" +bone_idx = 21 +script = ExtResource("5") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_R" +bone_idx = 22 +script = ExtResource("5") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_R" +bone_idx = 23 +script = ExtResource("5") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_Glove_R" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_08oti") +anim_player = NodePath("../Hand_Glove_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0 +parameters/Trigger/blend_amount = 0 + +[editable path="Hand_Glove_R"] diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn new file mode 100644 index 0000000..3ac11a0 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://dup2vp8v5rpi5"] + +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://w7th3d2hl7b5" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_3ih8a"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="4"] +[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_r46i5"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_v5idg"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_cqi1y"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4vdom"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_hef27"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_g6ftu"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_r46i5") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_v5idg") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_cqi1y") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_4vdom") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_hef27") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("4") +default_pose = ExtResource("3_3ih8a") + +[node name="Hand_Glove_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Glove_R" parent="Hand_Glove_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="AnimationPlayer" parent="Hand_Glove_R" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_g6ftu") +anim_player = NodePath("../Hand_Glove_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0 +parameters/Trigger/blend_amount = 0 + +[editable path="Hand_Glove_R"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn new file mode 100644 index 0000000..1899c63 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://bq86r4yll8po"] + +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://16colgxrw27d" path="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_wyae6"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="5"] +[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qtto3"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4i0yd"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_fahbc"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_470u2"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_fhgyt"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_d6sxb"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_qtto3") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_4i0yd") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_fahbc") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_470u2") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_fhgyt") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("5") +default_pose = ExtResource("3_wyae6") + +[node name="Hand_low_L" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_low_L" parent="Hand_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("6") + +[node name="AnimationPlayer" parent="Hand_low_L" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_d6sxb") +anim_player = NodePath("../Hand_low_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_low_L"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn new file mode 100644 index 0000000..7455a9d --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://b4kad2kuba1yn"] + +[ext_resource type="PackedScene" uid="uid://c4nba0qpi0uls" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_ry7qg"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ar6i3"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_r1b52"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_d643f"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c3h37"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ihxeh"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_4tr00"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_ar6i3") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_r1b52") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_d643f") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_c3h37") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_ihxeh") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_ry7qg") + +[node name="Hand_Nails_low_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_Nails_low_L" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="AnimationPlayer" parent="Hand_Nails_low_L" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_4tr00") +anim_player = NodePath("../Hand_Nails_low_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Nails_low_L"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn new file mode 100644 index 0000000..94f4a5b --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://b8hc2ex21u8xj"] + +[ext_resource type="PackedScene" uid="uid://16colgxrw27d" path="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_4017m"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="7"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_28vdf"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_j2cie"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_tspja"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fvmpw"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_a1c3t"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ga1br"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_28vdf") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_j2cie") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_tspja") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_fvmpw") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_a1c3t") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("3") +bone_group = "LeftHand" +hand_blend_tree = ExtResource("7") +default_pose = ExtResource("3_4017m") + +[node name="Hand_low_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_low_L" parent="Hand_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_L" +bone_idx = 0 +script = ExtResource("4") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_L" +bone_idx = 1 +script = ExtResource("4") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_L" +bone_idx = 2 +script = ExtResource("4") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_L" +bone_idx = 3 +script = ExtResource("4") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_L" +bone_idx = 5 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_L" +bone_idx = 6 +script = ExtResource("4") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_L" +bone_idx = 7 +script = ExtResource("4") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_L" +bone_idx = 8 +script = ExtResource("4") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_L" +bone_idx = 10 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_L" +bone_idx = 11 +script = ExtResource("4") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_L" +bone_idx = 12 +script = ExtResource("4") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) +bone_name = "Middle_Distal_L" +bone_idx = 13 +script = ExtResource("4") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_L" +bone_idx = 15 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_L" +bone_idx = 16 +script = ExtResource("4") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_L" +bone_idx = 17 +script = ExtResource("4") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_L" +bone_idx = 18 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_L" +bone_idx = 20 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_L" +bone_idx = 21 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_L" +bone_idx = 22 +script = ExtResource("4") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_L" +bone_idx = 23 +script = ExtResource("4") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_low_L" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_ga1br") +anim_player = NodePath("../Hand_low_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_low_L"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn new file mode 100644 index 0000000..7c0ccfb --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://bdwmserhqai5h"] + +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://c4nba0qpi0uls" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_t17lq"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="7"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c4qn1"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_skgu7"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_7pgcb"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3l13i"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ms3kw"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_jcrf4"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_c4qn1") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_skgu7") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_7pgcb") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_3l13i") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_ms3kw") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("3") +bone_group = "LeftHand" +hand_blend_tree = ExtResource("7") +default_pose = ExtResource("3_t17lq") + +[node name="Hand_Nails_low_L" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_Nails_low_L" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_L" +bone_idx = 0 +script = ExtResource("4") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_L" +bone_idx = 1 +script = ExtResource("4") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_L" +bone_idx = 2 +script = ExtResource("4") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_L" +bone_idx = 3 +script = ExtResource("4") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_L" +bone_idx = 5 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_L" +bone_idx = 6 +script = ExtResource("4") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_L" +bone_idx = 7 +script = ExtResource("4") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_L" +bone_idx = 8 +script = ExtResource("4") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_L" +bone_idx = 10 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_L" +bone_idx = 11 +script = ExtResource("4") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_L" +bone_idx = 12 +script = ExtResource("4") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) +bone_name = "Middle_Distal_L" +bone_idx = 13 +script = ExtResource("4") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_L" +bone_idx = 15 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_L" +bone_idx = 16 +script = ExtResource("4") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_L" +bone_idx = 17 +script = ExtResource("4") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_L" +bone_idx = 18 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_L" +bone_idx = 20 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_L" +bone_idx = 21 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_L" +bone_idx = 22 +script = ExtResource("4") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_L" +bone_idx = 23 +script = ExtResource("4") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_Nails_low_L" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_jcrf4") +anim_player = NodePath("../Hand_Nails_low_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Nails_low_L"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn new file mode 100644 index 0000000..57263a9 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://bj1aas6kty3qx"] + +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://bnx4hithcij6y" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" id="2"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_oehre"] +[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_80h26"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_0pshr"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_rgabh"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vkt4w"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_1yhw8"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_kvyku"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_80h26") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_0pshr") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_rgabh") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_vkt4w") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_1yhw8") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("6") +bone_group = "LeftHand" +hand_blend_tree = ExtResource("3") +default_pose = ExtResource("3_oehre") + +[node name="Hand_Glove_low_L" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Glove_low_L" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_L" +bone_idx = 0 +script = ExtResource("5") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_L" +bone_idx = 1 +script = ExtResource("5") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_L" +bone_idx = 2 +script = ExtResource("5") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_L" +bone_idx = 3 +script = ExtResource("5") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_L" +bone_idx = 5 +script = ExtResource("5") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_L" +bone_idx = 6 +script = ExtResource("5") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_L" +bone_idx = 7 +script = ExtResource("5") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_L" +bone_idx = 8 +script = ExtResource("5") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_L" +bone_idx = 10 +script = ExtResource("5") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_L" +bone_idx = 11 +script = ExtResource("5") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_L" +bone_idx = 12 +script = ExtResource("5") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) +bone_name = "Middle_Distal_L" +bone_idx = 13 +script = ExtResource("5") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_L" +bone_idx = 15 +script = ExtResource("5") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_L" +bone_idx = 16 +script = ExtResource("5") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_L" +bone_idx = 17 +script = ExtResource("5") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_L" +bone_idx = 18 +script = ExtResource("5") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_L" +bone_idx = 20 +script = ExtResource("5") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_L" +bone_idx = 21 +script = ExtResource("5") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_L" +bone_idx = 22 +script = ExtResource("5") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_L" +bone_idx = 23 +script = ExtResource("5") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_Glove_low_L" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_kvyku") +anim_player = NodePath("../Hand_Glove_low_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Glove_low_L"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn new file mode 100644 index 0000000..26176eb --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://bx1xdisoqo1f6"] + +[ext_resource type="PackedScene" uid="uid://bnx4hithcij6y" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_iq5xt"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="4"] +[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a8arv"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_n3ud5"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ncqlk"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_csu2l"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_akg52"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_2oq6b"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_a8arv") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_n3ud5") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_ncqlk") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_csu2l") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_akg52") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("4") +default_pose = ExtResource("3_iq5xt") + +[node name="Hand_Glove_low_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Glove_low_L" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="AnimationPlayer" parent="Hand_Glove_low_L" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_2oq6b") +anim_player = NodePath("../Hand_Glove_low_L/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Glove_low_L"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn new file mode 100644 index 0000000..530078b --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://xqimcf20s2jp"] + +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://cjrac51wst3tu" path="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" id="2"] +[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_r4xyu"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sjc0m"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bf0db"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_kdora"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_l50hj"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_vrc3g"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ayvqt"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_sjc0m") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_bf0db") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_kdora") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_l50hj") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_vrc3g") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightHand" type="Node3D"] +script = ExtResource("4") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_r4xyu") + +[node name="Hand_low_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_low_R" parent="Hand_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("3") + +[node name="AnimationPlayer" parent="Hand_low_R" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_ayvqt") +anim_player = NodePath("../Hand_low_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_low_R"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn new file mode 100644 index 0000000..e985370 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://l2n30mpbkdyw"] + +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://dunu03tc5vdbh" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_f67ka"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mbwcx"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dyc5q"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_dknar"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_covtt"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_h5uio"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_7kqgu"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_mbwcx") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_dyc5q") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_dknar") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_covtt") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_h5uio") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_f67ka") + +[node name="Hand_Nails_low_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_Nails_low_R" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="AnimationPlayer" parent="Hand_Nails_low_R" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_7kqgu") +anim_player = NodePath("../Hand_Nails_low_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Nails_low_R"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn new file mode 100644 index 0000000..be22323 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://bkdeegb8w3oah"] + +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://cjrac51wst3tu" path="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" id="2"] +[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_e8slj"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="8"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_koc4o"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_e3fsb"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_7psdm"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_1fjc2"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ai2qv"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_6ule7"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_koc4o") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_e3fsb") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_7psdm") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_1fjc2") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_ai2qv") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("4") +bone_group = "RightHand" +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_e8slj") + +[node name="Hand_low_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_low_R" parent="Hand_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("3") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_R" +bone_idx = 0 +script = ExtResource("8") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_R" +bone_idx = 1 +script = ExtResource("8") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_R" +bone_idx = 2 +script = ExtResource("8") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_R" +bone_idx = 3 +script = ExtResource("8") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_R" +bone_idx = 5 +script = ExtResource("8") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_R" +bone_idx = 6 +script = ExtResource("8") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_R" +bone_idx = 7 +script = ExtResource("8") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_R" +bone_idx = 8 +script = ExtResource("8") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_R" +bone_idx = 10 +script = ExtResource("8") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_R" +bone_idx = 11 +script = ExtResource("8") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_R" +bone_idx = 12 +script = ExtResource("8") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) +bone_name = "Middle_Distal_R" +bone_idx = 13 +script = ExtResource("8") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_R" +bone_idx = 15 +script = ExtResource("8") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_R" +bone_idx = 16 +script = ExtResource("8") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_R" +bone_idx = 17 +script = ExtResource("8") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_R" +bone_idx = 18 +script = ExtResource("8") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_R" +bone_idx = 20 +script = ExtResource("8") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_R" +bone_idx = 21 +script = ExtResource("8") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_R" +bone_idx = 22 +script = ExtResource("8") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_R" +bone_idx = 23 +script = ExtResource("8") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_low_R" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_6ule7") +anim_player = NodePath("../Hand_low_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_low_R"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn new file mode 100644 index 0000000..7b35e6f --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://btf05hjpw6k05"] + +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://dunu03tc5vdbh" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_b86a5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="7"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d2moa"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o028d"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_rwysm"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_l0mk4"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_it0su"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_km4vp"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_d2moa") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_o028d") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_rwysm") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_l0mk4") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_it0su") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("3") +bone_group = "RightHand" +hand_blend_tree = ExtResource("7") +default_pose = ExtResource("3_b86a5") + +[node name="Hand_Nails_low_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_Nails_low_R" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_R" +bone_idx = 0 +script = ExtResource("4") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_R" +bone_idx = 1 +script = ExtResource("4") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_R" +bone_idx = 2 +script = ExtResource("4") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_R" +bone_idx = 3 +script = ExtResource("4") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_R" +bone_idx = 5 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_R" +bone_idx = 6 +script = ExtResource("4") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_R" +bone_idx = 7 +script = ExtResource("4") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_R" +bone_idx = 8 +script = ExtResource("4") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_R" +bone_idx = 10 +script = ExtResource("4") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_R" +bone_idx = 11 +script = ExtResource("4") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_R" +bone_idx = 12 +script = ExtResource("4") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) +bone_name = "Middle_Distal_R" +bone_idx = 13 +script = ExtResource("4") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_R" +bone_idx = 15 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_R" +bone_idx = 16 +script = ExtResource("4") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_R" +bone_idx = 17 +script = ExtResource("4") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_R" +bone_idx = 18 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_R" +bone_idx = 20 +script = ExtResource("4") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_R" +bone_idx = 21 +script = ExtResource("4") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_R" +bone_idx = 22 +script = ExtResource("4") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_R" +bone_idx = 23 +script = ExtResource("4") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_Nails_low_R" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_km4vp") +anim_player = NodePath("../Hand_Nails_low_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0.0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Nails_low_R"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn new file mode 100644 index 0000000..13804db --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn @@ -0,0 +1,227 @@ +[gd_scene load_steps=14 format=3 uid="uid://c2uvwvdlsfuep"] + +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://csgsp0wuw8ucy" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" id="2"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_xodao"] +[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d3g7m"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_hr14p"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_av2ad"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8kdoe"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_5qnsq"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_64w6y"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_d3g7m") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_hr14p") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_av2ad") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_8kdoe") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_5qnsq") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("6") +bone_group = "RightHand" +hand_blend_tree = ExtResource("3") +default_pose = ExtResource("3_xodao") + +[node name="Hand_Glove_low_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Glove_low_R" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) +bone_name = "Wrist_R" +bone_idx = 0 +script = ExtResource("5") +width_ratio = 0.8 + +[node name="BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) +bone_name = "Thumb_Metacarpal_R" +bone_idx = 1 +script = ExtResource("5") +length = 0.05 + +[node name="BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) +bone_name = "Thumb_Proximal_R" +bone_idx = 2 +script = ExtResource("5") + +[node name="BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) +bone_name = "Thumb_Distal_R" +bone_idx = 3 +script = ExtResource("5") +length = 0.02 + +[node name="BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) +bone_name = "Index_Metacarpal_R" +bone_idx = 5 +script = ExtResource("5") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) +bone_name = "Index_Proximal_R" +bone_idx = 6 +script = ExtResource("5") + +[node name="BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) +bone_name = "Index_Intermediate_R" +bone_idx = 7 +script = ExtResource("5") +length = 0.025 +bone_group = "IndexFinger" + +[node name="BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) +bone_name = "Index_Distal_R" +bone_idx = 8 +script = ExtResource("5") +length = 0.02 +bone_group = "IndexFinger" + +[node name="BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) +bone_name = "Middle_Metacarpal_R" +bone_idx = 10 +script = ExtResource("5") +length = 0.08 +width_ratio = 0.2 + +[node name="BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) +bone_name = "Middle_Proximal_R" +bone_idx = 11 +script = ExtResource("5") + +[node name="BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) +bone_name = "Middle_Intermediate_R" +bone_idx = 12 +script = ExtResource("5") +length = 0.025 + +[node name="BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) +bone_name = "Middle_Distal_R" +bone_idx = 13 +script = ExtResource("5") +length = 0.02 + +[node name="BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) +bone_name = "Ring_Metacarpal_R" +bone_idx = 15 +script = ExtResource("5") +length = 0.07 +width_ratio = 0.2 + +[node name="BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) +bone_name = "Ring_Proximal_R" +bone_idx = 16 +script = ExtResource("5") +length = 0.028 + +[node name="BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) +bone_name = "Ring_Intermediate_R" +bone_idx = 17 +script = ExtResource("5") +length = 0.025 + +[node name="BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) +bone_name = "Ring_Distal_R" +bone_idx = 18 +script = ExtResource("5") +length = 0.02 + +[node name="BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) +bone_name = "Little_Metacarpal_R" +bone_idx = 20 +script = ExtResource("5") +length = 0.07 +width_ratio = 0.18 + +[node name="BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) +bone_name = "Little_Proximal_R" +bone_idx = 21 +script = ExtResource("5") +length = 0.02 + +[node name="BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) +bone_name = "Little_Intermediate_R" +bone_idx = 22 +script = ExtResource("5") +length = 0.015 + +[node name="BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) +bone_name = "Little_Distal_R" +bone_idx = 23 +script = ExtResource("5") +length = 0.015 + +[node name="AnimationPlayer" parent="Hand_Glove_low_R" instance=ExtResource("1")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_64w6y") +anim_player = NodePath("../Hand_Glove_low_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Glove_low_R"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn new file mode 100644 index 0000000..a258c44 --- /dev/null +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=13 format=3 uid="uid://chumpejwiub7f"] + +[ext_resource type="PackedScene" uid="uid://csgsp0wuw8ucy" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_2wryo"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="4"] +[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_jjiin"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_501h4"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_1dqi4"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4o3a2"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_5v4fm"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ra758"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_jjiin") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_501h4") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_1dqi4") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_4o3a2") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_5v4fm") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("4") +default_pose = ExtResource("3_2wryo") + +[node name="Hand_Glove_low_R" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Glove_low_R" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="AnimationPlayer" parent="Hand_Glove_low_R" instance=ExtResource("2")] + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource("AnimationNodeBlendTree_ra758") +anim_player = NodePath("../Hand_Glove_low_R/AnimationPlayer") +active = true +parameters/Grip/blend_amount = 0 +parameters/Trigger/blend_amount = 0.0 + +[editable path="Hand_Glove_low_R"] diff --git a/addons/godot-xr-tools/hands/textures/african_baseColor.png b/addons/godot-xr-tools/hands/textures/african_baseColor.png new file mode 100644 index 0000000..32689c0 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/african_baseColor.png differ diff --git a/addons/godot-xr-tools/hands/textures/african_baseColor.png.import b/addons/godot-xr-tools/hands/textures/african_baseColor.png.import new file mode 100644 index 0000000..a72974a --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/african_baseColor.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cs7m7m0k2506g" +path.s3tc="res://.godot/imported/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.s3tc.ctex" +path.etc2="res://.godot/imported/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/african_baseColor.png" +dest_files=["res://.godot/imported/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.s3tc.ctex", "res://.godot/imported/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png b/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png new file mode 100644 index 0000000..0fc458e Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png differ diff --git a/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import b/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import new file mode 100644 index 0000000..0848066 --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dk8o82rjww802" +path.s3tc="res://.godot/imported/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.s3tc.ctex" +path.etc2="res://.godot/imported/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png" +dest_files=["res://.godot/imported/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.s3tc.ctex", "res://.godot/imported/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png b/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png new file mode 100644 index 0000000..6474f7c Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png differ diff --git a/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import b/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import new file mode 100644 index 0000000..6ef2fde --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c506svon268ms" +path.s3tc="res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.s3tc.ctex" +path.etc2="res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/caucasian_baseColor.png" +dest_files=["res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.s3tc.ctex", "res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png b/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png new file mode 100644 index 0000000..606b615 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png differ diff --git a/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import b/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import new file mode 100644 index 0000000..1004c4b --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://n1xq4cm67o07" +path.s3tc="res://.godot/imported/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.s3tc.ctex" +path.etc2="res://.godot/imported/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png" +dest_files=["res://.godot/imported/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.s3tc.ctex", "res://.godot/imported/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png b/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png new file mode 100644 index 0000000..adefad2 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png differ diff --git a/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import b/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import new file mode 100644 index 0000000..6a06dbb --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dv711ytktesj2" +path.s3tc="res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.s3tc.ctex" +path.etc2="res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png" +dest_files=["res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.s3tc.ctex", "res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png b/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png new file mode 100644 index 0000000..7330c36 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png differ diff --git a/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import new file mode 100644 index 0000000..4dde059 --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cocorrka3dtq3" +path.s3tc="res://.godot/imported/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.s3tc.ctex" +path.etc2="res://.godot/imported/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png" +dest_files=["res://.godot/imported/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.s3tc.ctex", "res://.godot/imported/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png b/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png new file mode 100644 index 0000000..1312b30 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png differ diff --git a/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import new file mode 100644 index 0000000..a75b6fe --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bidphehpipwhg" +path.s3tc="res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.s3tc.ctex" +path.etc2="res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/glove_african_green_camo.png" +dest_files=["res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.s3tc.ctex", "res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png b/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png new file mode 100644 index 0000000..edb1e09 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png differ diff --git a/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import new file mode 100644 index 0000000..747c121 --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7jutkax2fd1k" +path.s3tc="res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.s3tc.ctex" +path.etc2="res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png" +dest_files=["res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.s3tc.ctex", "res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png b/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png new file mode 100644 index 0000000..8964907 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png differ diff --git a/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import new file mode 100644 index 0000000..d7a9d9e --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgkfppran5j1f" +path.s3tc="res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.s3tc.ctex" +path.etc2="res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png" +dest_files=["res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.s3tc.ctex", "res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png b/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png new file mode 100644 index 0000000..3505c73 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png differ diff --git a/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import b/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import new file mode 100644 index 0000000..075d303 --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bw8rmigwt5pr4" +path.s3tc="res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.s3tc.ctex" +path.etc2="res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png" +dest_files=["res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.s3tc.ctex", "res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png" +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=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png b/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png new file mode 100644 index 0000000..eaa8851 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png differ diff --git a/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import b/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import new file mode 100644 index 0000000..8b11c53 --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2iocwfr47kqp" +path.s3tc="res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.s3tc.ctex" +path.etc2="res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png" +dest_files=["res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.s3tc.ctex", "res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_normal.png b/addons/godot-xr-tools/hands/textures/glove_normal.png new file mode 100644 index 0000000..3b5bbd0 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/glove_normal.png differ diff --git a/addons/godot-xr-tools/hands/textures/glove_normal.png.import b/addons/godot-xr-tools/hands/textures/glove_normal.png.import new file mode 100644 index 0000000..23724ec --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/glove_normal.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dt6k4nuvpo38o" +path.s3tc="res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.s3tc.ctex" +path.etc2="res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/glove_normal.png" +dest_files=["res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.s3tc.ctex", "res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://addons/godot-xr-tools/hands/textures/glove_normal.png" +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=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png b/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png new file mode 100644 index 0000000..78dd0d6 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png differ diff --git a/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import b/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import new file mode 100644 index 0000000..2bfd161 --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yslwgnpbpeen" +path.s3tc="res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.s3tc.ctex" +path.etc2="res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png" +dest_files=["res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.s3tc.ctex", "res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/hands_normal.png b/addons/godot-xr-tools/hands/textures/hands_normal.png new file mode 100644 index 0000000..9bb3dfb Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/hands_normal.png differ diff --git a/addons/godot-xr-tools/hands/textures/hands_normal.png.import b/addons/godot-xr-tools/hands/textures/hands_normal.png.import new file mode 100644 index 0000000..1b5d9c8 --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/hands_normal.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6tgv6ucbgv3r" +path.s3tc="res://.godot/imported/hands_normal.png-291c7217751274bfe1199e3de899450f.s3tc.ctex" +path.etc2="res://.godot/imported/hands_normal.png-291c7217751274bfe1199e3de899450f.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/hands_normal.png" +dest_files=["res://.godot/imported/hands_normal.png-291c7217751274bfe1199e3de899450f.s3tc.ctex", "res://.godot/imported/hands_normal.png-291c7217751274bfe1199e3de899450f.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://addons/godot-xr-tools/hands/textures/hands_normal.png" +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=0 diff --git a/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png b/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png new file mode 100644 index 0000000..a1b75dc Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png differ diff --git a/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import b/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import new file mode 100644 index 0000000..30c1736 --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://h3sjbnu6uplb" +path.s3tc="res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.s3tc.ctex" +path.etc2="res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png" +dest_files=["res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.s3tc.ctex", "res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/hands/textures/labglove_baseColor.png b/addons/godot-xr-tools/hands/textures/labglove_baseColor.png new file mode 100644 index 0000000..69a5cd3 Binary files /dev/null and b/addons/godot-xr-tools/hands/textures/labglove_baseColor.png differ diff --git a/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import b/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import new file mode 100644 index 0000000..4320130 --- /dev/null +++ b/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4gbpgjwjuovb" +path.s3tc="res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.s3tc.ctex" +path.etc2="res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/hands/textures/labglove_baseColor.png" +dest_files=["res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.s3tc.ctex", "res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/images/icon.png b/addons/godot-xr-tools/images/icon.png new file mode 100644 index 0000000..9aec441 Binary files /dev/null and b/addons/godot-xr-tools/images/icon.png differ diff --git a/addons/godot-xr-tools/images/icon.png.import b/addons/godot-xr-tools/images/icon.png.import new file mode 100644 index 0000000..7f90741 --- /dev/null +++ b/addons/godot-xr-tools/images/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcll0cv3rie0i" +path="res://.godot/imported/icon.png-1d8efcc4c33e64800e22ea3150ef148d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot-xr-tools/images/icon.png" +dest_files=["res://.godot/imported/icon.png-1d8efcc4c33e64800e22ea3150ef148d.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 diff --git a/addons/godot-xr-tools/images/ring.png b/addons/godot-xr-tools/images/ring.png new file mode 100644 index 0000000..7df5f6d Binary files /dev/null and b/addons/godot-xr-tools/images/ring.png differ diff --git a/addons/godot-xr-tools/images/ring.png.import b/addons/godot-xr-tools/images/ring.png.import new file mode 100644 index 0000000..dfa1e53 --- /dev/null +++ b/addons/godot-xr-tools/images/ring.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8s03ra8tp0hr" +path.s3tc="res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.s3tc.ctex" +path.etc2="res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/images/ring.png" +dest_files=["res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.s3tc.ctex", "res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/images/teleport_arrow.png b/addons/godot-xr-tools/images/teleport_arrow.png new file mode 100644 index 0000000..cc72730 Binary files /dev/null and b/addons/godot-xr-tools/images/teleport_arrow.png differ diff --git a/addons/godot-xr-tools/images/teleport_arrow.png.import b/addons/godot-xr-tools/images/teleport_arrow.png.import new file mode 100644 index 0000000..bc4f101 --- /dev/null +++ b/addons/godot-xr-tools/images/teleport_arrow.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ddoj6c345cb0c" +path.s3tc="res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.s3tc.ctex" +path.etc2="res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/images/teleport_arrow.png" +dest_files=["res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.s3tc.ctex", "res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/images/teleport_target.png b/addons/godot-xr-tools/images/teleport_target.png new file mode 100644 index 0000000..68518ee Binary files /dev/null and b/addons/godot-xr-tools/images/teleport_target.png differ diff --git a/addons/godot-xr-tools/images/teleport_target.png.import b/addons/godot-xr-tools/images/teleport_target.png.import new file mode 100644 index 0000000..1e39e03 --- /dev/null +++ b/addons/godot-xr-tools/images/teleport_target.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cu4j1s8qr1rjq" +path.s3tc="res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.s3tc.ctex" +path.etc2="res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/godot-xr-tools/images/teleport_target.png" +dest_files=["res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.s3tc.ctex", "res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/godot-xr-tools/interactables/interactable_area_button.gd b/addons/godot-xr-tools/interactables/interactable_area_button.gd new file mode 100644 index 0000000..d3ceebd --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_area_button.gd @@ -0,0 +1,126 @@ +@tool +class_name XRToolsInteractableAreaButton +extends Area3D + + +## XR Tools Interactable Area Button script +## +## The interactable area button detects objects and areas intering its +## area, and moves an associated button object using a tween to animate +## the movement. + + +## Button pressed event +signal button_pressed(button) + +## Button released event +signal button_released(button) + + +## Button object +@export var button := NodePath() + +## Displacement when pressed +@export var displacement : Vector3 = Vector3(0.0, -0.02, 0.0) + +## Displacement duration +@export var duration : float = 0.1 + + +## If true, the button is pressed +var pressed : bool = false + +## Dictionary of trigger items pressing the button +var _trigger_items := {} + +## Tween for animating button +var _tween: Tween + + +# Node references +@onready var _button: Node3D = get_node(button) + +# Button positions +@onready var _button_up := _button.transform.origin +@onready var _button_down := _button_up + displacement + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableAreaButton" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Connect area signals + if area_entered.connect(_on_button_entered): + push_error("Unable to connect button area signal") + if area_exited.connect(_on_button_exited): + push_error("Unable to connect button area signal") + if body_entered.connect(_on_button_entered): + push_error("Unable to connect button area signal") + if body_exited.connect(_on_button_exited): + push_error("Unable to connect button area signal") + + +# Called when an area or body enters the button area +func _on_button_entered(item: Node3D) -> void: + # Add to the dictionary of trigger items + _trigger_items[item] = item + + # Detect transition to pressed + if !pressed: + # Update state to pressed + pressed = true + + # Kill the current tween + if _tween: + _tween.kill() + + # Construct the button animation tween + _tween = get_tree().create_tween() + _tween.set_trans(Tween.TRANS_LINEAR) + _tween.set_ease(Tween.EASE_IN_OUT) + _tween.tween_property(_button, "position", _button_down, duration) + + # Emit the pressed signal + button_pressed.emit(self) + + +# Called when an area or body exits the button area +func _on_button_exited(item: Node3D) -> void: + # Remove from the dictionary of triggered items + _trigger_items.erase(item) + + # Detect transition to released + if pressed and _trigger_items.is_empty(): + # Update state to released + pressed = false + + # Kill the current tween + if _tween: + _tween.kill() + + # Construct the button animation tween + _tween = get_tree().create_tween() + _tween.set_trans(Tween.TRANS_LINEAR) + _tween.set_ease(Tween.EASE_IN_OUT) + _tween.tween_property(_button, "position", _button_up, duration) + + # Emit the released signal + button_released.emit(self) + + +# Check button configuration +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Ensure a button has been specified + if not get_node_or_null(button): + warnings.append("Button node to animate must be specified") + + # Ensure a valid duration + if duration <= 0.0: + warnings.append("Duration must be a positive number") + + return warnings diff --git a/addons/godot-xr-tools/interactables/interactable_area_button.tscn b/addons/godot-xr-tools/interactables/interactable_area_button.tscn new file mode 100644 index 0000000..0163708 --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_area_button.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://cme66uldrjl2i"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_area_button.gd" id="1"] + +[node name="InteractableAreaButton" type="Area3D"] +collision_layer = 0 +collision_mask = 131072 +script = ExtResource("1") diff --git a/addons/godot-xr-tools/interactables/interactable_handle.gd b/addons/godot-xr-tools/interactables/interactable_handle.gd new file mode 100644 index 0000000..672018e --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_handle.gd @@ -0,0 +1,88 @@ +@tool +class_name XRToolsInteractableHandle +extends XRToolsPickable + + +## XR Tools Interactable Handle script +## +## The interactable handle is a (usually invisible) object extending from +## [XRToolsPickable] that can be grabbed by the player and is used to +## manipulate interactable objects. +## +## The interactible handle has an origin position of its parent. In order +## to position interactible handles on the interactible object, the handle +## should be placed under a parent handle-origin node, and the origin nodes +## position set as desired. +## +## When the handle is released, it snaps back to its parent origin. If the +## handle is pulled further than its snap distance, then the handle is +## automatically released. + + +## Distance from the handle origin to auto-snap the grab +@export var snap_distance : float = 0.3 + + +# Handle origin spatial node +@onready var handle_origin: Node3D = get_parent() + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableHandle" or super(name) + + +# Called when this handle is added to the scene +func _ready() -> void: + # In Godot 4 we must now manually call our super class ready function + super() + + # Ensure we start at our origin + transform = Transform3D.IDENTITY + + # Turn off processing - it will be turned on only when held + set_process(false) + + +# Called on every frame when the handle is held to check for snapping +func _process(_delta: float) -> void: + # Skip if not picked up + if !picked_up_by: + return + + # If too far from the origin then drop the handle + var origin_pos = handle_origin.global_transform.origin + var handle_pos = global_transform.origin + if handle_pos.distance_to(origin_pos) > snap_distance: + picked_up_by.drop_object() + + +# Called when the handle is picked up +func pick_up(by, with_controller) -> void: + # Call the base-class to perform the pickup + super(by, with_controller) + + # Enable the process function while held + set_process(true) + + +# Called when the handle is dropped +func let_go(_p_linear_velocity: Vector3, _p_angular_velocity: Vector3) -> void: + # Call the base-class to perform the drop, but with no velocity + super(Vector3.ZERO, Vector3.ZERO) + + # Disable the process function as no-longer held + set_process(false) + + # Snap the handle back to the origin + transform = Transform3D.IDENTITY + + +# Check handle configurationv +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + if !transform.is_equal_approx(Transform3D.IDENTITY): + warnings.append("Interactable handle must have no transform from its parent handle origin") + + return warnings diff --git a/addons/godot-xr-tools/interactables/interactable_handle.tscn b/addons/godot-xr-tools/interactables/interactable_handle.tscn new file mode 100644 index 0000000..35ad8e1 --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_handle.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=2 format=3 uid="uid://bddj5m7ull6g0"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="1"] + +[node name="InteractableHandle" type="RigidBody3D"] +collision_layer = 262144 +collision_mask = 0 +gravity_scale = 0.0 +script = ExtResource("1") +picked_up_layer = 0 diff --git a/addons/godot-xr-tools/interactables/interactable_handle_driven.gd b/addons/godot-xr-tools/interactables/interactable_handle_driven.gd new file mode 100644 index 0000000..f9f5358 --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_handle_driven.gd @@ -0,0 +1,81 @@ +@tool +class_name XRToolsInteractableHandleDriven +extends Node3D + + +## XR Tools Interactable Handle Driven script +## +## This is the base class for interactables driven by handles. It subscribes +## to all child handle picked_up and dropped signals, and maintains a list +## of all grabbed handles. +## +## When one or more handles are grabbed, the _process function is enabled +## to process the handle-driven movement. + + +## Signal called when this interactable is grabbed +signal grabbed(interactable) + +## Signal called when this interactable is released +signal released(interactable) + + +# Array of handles currently grabbed +var grabbed_handles := Array() + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableHandleDriven" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Hook picked_up and dropped signals from all child handles + _hook_child_handles(self) + + # Turn off processing until a handle is grabbed + set_process(false) + + +# Called when a handle is picked up +func _on_handle_picked_up(handle: XRToolsInteractableHandle) -> void: + # Append to the list of grabbed handles + grabbed_handles.append(handle) + + # Enable processing + if grabbed_handles.size() == 1: + # Report grabbed + emit_signal("grabbed", self) + + # Enable physics processing + set_process(true) + + +# Called when a handle is dropped +func _on_handle_dropped(handle: XRToolsInteractableHandle) -> void: + # Remove from the list of grabbed handles + grabbed_handles.erase(handle) + + # Disable processing when we drop the last handle + if grabbed_handles.is_empty(): + # Disable physics processing + set_process(false) + + # Report released + emit_signal("released", self) + + +# Recursive function to hook picked_up and dropped signals in all child handles +func _hook_child_handles(node: Node) -> void: + # If this node is a handle then hook its handle signals + var handle := node as XRToolsInteractableHandle + if handle: + if handle.picked_up.connect(_on_handle_picked_up): + push_error("Unable to connect handle signal") + if handle.dropped.connect(_on_handle_dropped): + push_error("Unable to connect handle signal") + + # Recurse into all children + for child in node.get_children(): + _hook_child_handles(child) diff --git a/addons/godot-xr-tools/interactables/interactable_hinge.gd b/addons/godot-xr-tools/interactables/interactable_hinge.gd new file mode 100644 index 0000000..ce774a5 --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_hinge.gd @@ -0,0 +1,156 @@ +@tool +class_name XRToolsInteractableHinge +extends XRToolsInteractableHandleDriven + + +## XR Tools Interactable Hinge script +## +## The interactable hinge is a hinge transform node controlled by the +## player through one or more [XRToolsInteractableHandle] instances. +## +## The hinge rotates itelf around its local X axis, and so should be +## placed as a child of a node to translate and rotate as appropriate. +## +## The interactable hinge is not a [RigidBody3D], and as such will not react +## to any collisions. + + +## Signal for hinge moved +signal hinge_moved(angle) + + +## Hinge minimum limit +@export var hinge_limit_min : float = -45.0: set = _set_hinge_limit_min + +## Hinge maximum limit +@export var hinge_limit_max : float = 45.0: set = _set_hinge_limit_max + +## Hinge step size (zero for no steps) +@export var hinge_steps : float = 0.0: set = _set_hinge_steps + +## Hinge position +@export var hinge_position : float = 0.0: set = _set_hinge_position + +## Default position +@export var default_position : float = 0.0: set = _set_default_position + +## If true, the hinge moves to the default position when releases +@export var default_on_release : bool = false + + +# Hinge values in radians +@onready var _hinge_limit_min_rad : float = deg_to_rad(hinge_limit_min) +@onready var _hinge_limit_max_rad : float = deg_to_rad(hinge_limit_max) +@onready var _hinge_steps_rad : float = deg_to_rad(hinge_steps) +@onready var _hinge_position_rad : float = deg_to_rad(hinge_position) +@onready var _default_position_rad : float = deg_to_rad(default_position) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableHinge" or super(name) + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + + # Set the initial position to match the initial hinge position value + transform = Transform3D( + Basis.from_euler(Vector3(_hinge_position_rad, 0, 0)), + Vector3.ZERO + ) + + # Connect signals + if released.connect(_on_hinge_released): + push_error("Cannot connect hinge released signal") + + +# Called every frame when one or more handles are held by the player +func _process(_delta: float) -> void: + # Get the total handle angular offsets + var offset_sum := 0.0 + for item in grabbed_handles: + var handle := item as XRToolsInteractableHandle + var to_handle: Vector3 = handle.global_transform.origin * global_transform + var to_handle_origin: Vector3 = handle.handle_origin.global_transform.origin * global_transform + to_handle.x = 0.0 + to_handle_origin.x = 0.0 + offset_sum += to_handle_origin.signed_angle_to(to_handle, Vector3.RIGHT) + + # Average the angular offsets + var offset := offset_sum / grabbed_handles.size() + + # Move the hinge by the requested offset + move_hinge(_hinge_position_rad + offset) + + +# Move the hinge to the specified position +func move_hinge(position: float) -> void: + # Do the hinge move + position = _do_move_hinge(position) + if position == _hinge_position_rad: + return + + # Update the current positon + _hinge_position_rad = position + hinge_position = rad_to_deg(position) + + # Emit the moved signal + emit_signal("hinge_moved", hinge_position) + + +# Handle release of hinge +func _on_hinge_released(_interactable: XRToolsInteractableHinge): + if default_on_release: + move_hinge(_default_position_rad) + + +# Called when hinge_limit_min is set externally +func _set_hinge_limit_min(value: float) -> void: + hinge_limit_min = value + _hinge_limit_min_rad = deg_to_rad(value) + + +# Called when hinge_limit_max is set externally +func _set_hinge_limit_max(value: float) -> void: + hinge_limit_max = value + _hinge_limit_max_rad = deg_to_rad(value) + + +# Called when hinge_steps is set externally +func _set_hinge_steps(value: float) -> void: + hinge_steps = value + _hinge_steps_rad = deg_to_rad(value) + + +# Called when hinge_position is set externally +func _set_hinge_position(value: float) -> void: + var position := deg_to_rad(value) + position = _do_move_hinge(position) + hinge_position = rad_to_deg(position) + _hinge_position_rad = position + + +# Called when default_position is set externally +func _set_default_position(value: float) -> void: + default_position = value + _default_position_rad = deg_to_rad(value) + + +# Do the hinge move +func _do_move_hinge(position: float) -> float: + # Apply hinge step-quantization + if _hinge_steps_rad: + position = round(position / _hinge_steps_rad) * _hinge_steps_rad + + # Apply hinge limits + position = clamp(position, _hinge_limit_min_rad, _hinge_limit_max_rad) + + # Move if necessary + if position != _hinge_position_rad: + transform.basis = Basis.from_euler(Vector3(position, 0.0, 0.0)) + + # Return the updated position + return position diff --git a/addons/godot-xr-tools/interactables/interactable_hinge.tscn b/addons/godot-xr-tools/interactables/interactable_hinge.tscn new file mode 100644 index 0000000..11e5ed8 --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_hinge.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" type="Script" id=1] + +[node name="InteractableHinge" type="Spatial"] +script = ExtResource( 1 ) diff --git a/addons/godot-xr-tools/interactables/interactable_joystick.gd b/addons/godot-xr-tools/interactables/interactable_joystick.gd new file mode 100644 index 0000000..c33047f --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_joystick.gd @@ -0,0 +1,236 @@ +@tool +class_name XRToolsInteractableJoystick +extends XRToolsInteractableHandleDriven + + +## XR Tools Interactable Joystick script +## +## The interactable joystick is a joystick transform node controlled by the +## player through [XRToolsInteractableHandle] instances. +## +## The joystick rotates itelf around its local X/Y axes, and so should be +## placed as a child of a node to translate and rotate as appropriate. +## +## The interactable joystick is not a [RigidBody3D], and as such will not react +## to any collisions. + + +## Signal for hinge moved +signal joystick_moved(x_angle, y_angle) + + +## Constant for flattening a vector horizontally (X/Z only) +const VECTOR_XZ := Vector3(1.0, 0.0, 1.0) + +## Constant for flattening a vector vertically (Y/Z only) +const VECTOR_YZ := Vector3(0.0, 1.0, 1.0) + + +## Joystick X minimum limit +@export var joystick_x_limit_min : float = -45.0: set = _set_joystick_x_limit_min + +## Joystick X maximum limit +@export var joystick_x_limit_max : float = 45.0: set = _set_joystick_x_limit_max + +## Joystick Y minimum limit +@export var joystick_y_limit_min : float = -45.0: set = _set_joystick_y_limit_min + +## Joystick Y maximum limit +@export var joystick_y_limit_max : float = 45.0: set = _set_joystick_y_limit_max + +## Joystick X step size (zero for no steps) +@export var joystick_x_steps : float = 0.0: set = _set_joystick_x_steps + +## Joystick Y step size (zero for no steps) +@export var joystick_y_steps : float = 0.0: set = _set_joystick_y_steps + +## Joystick X position +@export var joystick_x_position : float = 0.0: set = _set_joystick_x_position + +## Joystick Y position +@export var joystick_y_position : float = 0.0: set = _set_joystick_y_position + +## Default X position +@export var default_x_position : float = 0.0: set = _set_default_x_position + +## Default Y position +@export var default_y_position : float = 0.0: set = _set_default_y_position + +## If true, the joystick moves to the default position when released +@export var default_on_release : bool = false + + +# Joystick values in radians +@onready var _joystick_x_limit_min_rad : float = deg_to_rad(joystick_x_limit_min) +@onready var _joystick_x_limit_max_rad : float = deg_to_rad(joystick_x_limit_max) +@onready var _joystick_y_limit_min_rad : float = deg_to_rad(joystick_y_limit_min) +@onready var _joystick_y_limit_max_rad : float = deg_to_rad(joystick_y_limit_max) +@onready var _joystick_x_steps_rad : float = deg_to_rad(joystick_x_steps) +@onready var _joystick_y_steps_rad : float = deg_to_rad(joystick_y_steps) +@onready var _joystick_x_position_rad : float = deg_to_rad(joystick_x_position) +@onready var _joystick_y_position_rad : float = deg_to_rad(joystick_y_position) +@onready var _default_x_position_rad : float = deg_to_rad(default_x_position) +@onready var _default_y_position_rad : float = deg_to_rad(default_y_position) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableJoystick" or super(name) + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + + # Set the initial position to match the initial joystick position value + transform = Transform3D( + Basis.from_euler(Vector3(_joystick_y_position_rad, _joystick_x_position_rad, 0)), + Vector3.ZERO) + + # Connect signals + if released.connect(_on_joystick_released): + push_error("Cannot connect joystick released signal") + + +# Called every frame when one or more handles are held by the player +func _process(_delta: float) -> void: + # Do not process in the editor + if Engine.is_editor_hint(): + return + + # Skip if no handles grabbed + if grabbed_handles.is_empty(): + return + + # Get the total handle angular offsets + var offset_x_sum := 0.0 + var offset_y_sum := 0.0 + for item in grabbed_handles: + var handle := item as XRToolsInteractableHandle + var to_handle: Vector3 = handle.global_transform.origin * global_transform + var to_handle_origin: Vector3 = handle.handle_origin.global_transform.origin * global_transform + + var to_handle_x := to_handle * VECTOR_XZ + var to_handle_origin_x := to_handle_origin * VECTOR_XZ + offset_x_sum += to_handle_origin_x.signed_angle_to(to_handle_x, Vector3.UP) + + var to_handle_y := to_handle * VECTOR_YZ + var to_handle_origin_y := to_handle_origin * VECTOR_YZ + offset_y_sum += to_handle_origin_y.signed_angle_to(to_handle_y, Vector3.RIGHT) + + # Average the angular offsets + var offset_x := offset_x_sum / grabbed_handles.size() + var offset_y := offset_y_sum / grabbed_handles.size() + + # Move the joystick by the requested offset + move_joystick( + _joystick_x_position_rad + offset_x, + _joystick_y_position_rad + offset_y) + + +# Move the joystick to the specified position +func move_joystick(position_x: float, position_y: float) -> void: + # Do the move + var position := _do_move_joystick(Vector2(position_x, position_y)) + if position.x == _joystick_x_position_rad and position.y == _joystick_y_position_rad: + return + + # Update the current positon + _joystick_x_position_rad = position.x + _joystick_y_position_rad = position.y + joystick_x_position = rad_to_deg(position.x) + joystick_y_position = rad_to_deg(position.y) + + # Emit the joystick signal + emit_signal("joystick_moved", joystick_x_position, joystick_y_position) + + +# Handle release of joystick +func _on_joystick_released(_interactable: XRToolsInteractableJoystick): + if default_on_release: + move_joystick(_default_x_position_rad, _default_y_position_rad) + + +# Called when joystick_x_limit_min is set externally +func _set_joystick_x_limit_min(value: float) -> void: + joystick_x_limit_min = value + _joystick_x_limit_min_rad = deg_to_rad(value) + + +# Called when joystick_y_limit_min is set externally +func _set_joystick_y_limit_min(value: float) -> void: + joystick_y_limit_min = value + _joystick_y_limit_min_rad = deg_to_rad(value) + + +# Called when joystick_x_limit_max is set externally +func _set_joystick_x_limit_max(value: float) -> void: + joystick_x_limit_max = value + _joystick_x_limit_max_rad = deg_to_rad(value) + + +# Called when joystick_y_limit_max is set externally +func _set_joystick_y_limit_max(value: float) -> void: + joystick_y_limit_max = value + _joystick_y_limit_max_rad = deg_to_rad(value) + + +# Called when joystick_x_steps is set externally +func _set_joystick_x_steps(value: float) -> void: + joystick_x_steps = value + _joystick_x_steps_rad = deg_to_rad(value) + + +# Called when joystick_y_steps is set externally +func _set_joystick_y_steps(value: float) -> void: + joystick_y_steps = value + _joystick_y_steps_rad = deg_to_rad(value) + + +# Called when joystick_x_position is set externally +func _set_joystick_x_position(value: float) -> void: + var position := Vector2(deg_to_rad(value), _joystick_y_position_rad) + position = _do_move_joystick(position) + joystick_x_position = rad_to_deg(position.x) + _joystick_x_position_rad = position.x + + +# Called when joystick_y_position is set externally +func _set_joystick_y_position(value: float) -> void: + var position := Vector2(_joystick_x_position_rad, deg_to_rad(value)) + position = _do_move_joystick(position) + joystick_y_position = rad_to_deg(position.y) + _joystick_y_position_rad = position.y + + +# Called when default_x_position is set externally +func _set_default_x_position(value: float) -> void: + default_x_position = value + _default_x_position_rad = deg_to_rad(value) + + +# Called when default_y_position is set externally +func _set_default_y_position(value: float) -> void: + default_y_position = value + _default_y_position_rad = deg_to_rad(value) + + +# Do the joystick move +func _do_move_joystick(position: Vector2) -> Vector2: + # Apply joystick step-quantization + if _joystick_x_steps_rad: + position.x = round(position.x / _joystick_x_steps_rad) * _joystick_x_steps_rad + if _joystick_y_steps_rad: + position.y = round(position.y / _joystick_y_steps_rad) * _joystick_y_steps_rad + + # Apply joystick limits + position.x = clamp(position.x, _joystick_x_limit_min_rad, _joystick_x_limit_max_rad) + position.y = clamp(position.y, _joystick_y_limit_min_rad, _joystick_y_limit_max_rad) + + # Move if necessary + if position.x != _joystick_x_position_rad or position.y != _joystick_y_position_rad: + transform.basis = Basis.from_euler(Vector3(position.y, position.x, 0.0)) + + # Return the updated position + return position diff --git a/addons/godot-xr-tools/interactables/interactable_joystick.tscn b/addons/godot-xr-tools/interactables/interactable_joystick.tscn new file mode 100644 index 0000000..1dcd9a4 --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_joystick.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" type="Script" id=1] + +[node name="InteractableJoystick" type="Spatial"] +script = ExtResource( 1 ) diff --git a/addons/godot-xr-tools/interactables/interactable_slider.gd b/addons/godot-xr-tools/interactables/interactable_slider.gd new file mode 100644 index 0000000..5faf517 --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_slider.gd @@ -0,0 +1,120 @@ +@tool +class_name XRToolsInteractableSlider +extends XRToolsInteractableHandleDriven + + +## XR Tools Interactable Slider script +## +## The interactable slider is a slider transform node controlled by the +## player through [XRToolsInteractableHandle] instances. +## +## The slider translates itelf along its local X axis, and so should be +## placed as a child of a node to translate and rotate as appropriate. +## +## The interactable slider is not a [RigidBody3D], and as such will not react +## to any collisions. + + +## Signal for slider moved +signal slider_moved(position) + + +## Slider minimum limit +@export var slider_limit_min : float = 0.0 + +## Slider maximum limit +@export var slider_limit_max : float = 1.0 + +## Slider step size (zero for no steps) +@export var slider_steps : float = 0.0 + +## Slider position +@export var slider_position : float = 0.0: set = _set_slider_position + +## Default position +@export var default_position : float = 0.0 + +## If true, the slider moves to the default position when released +@export var default_on_release : bool = false + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableSlider" or super(name) + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + # In Godot 4 we must now manually call our super class ready function + super() + + # Set the initial position to match the initial slider position value + transform = Transform3D( + Basis.IDENTITY, + Vector3(slider_position, 0.0, 0.0) + ) + + # Connect signals + if released.connect(_on_slider_released): + push_error("Cannot connect slider released signal") + + +# Called every frame when one or more handles are held by the player +func _process(_delta: float) -> void: + # Get the total handle offsets + var offset_sum := Vector3.ZERO + for item in grabbed_handles: + var handle := item as XRToolsInteractableHandle + offset_sum += handle.global_transform.origin - handle.handle_origin.global_transform.origin + + # Rotate the offset sum vector from global into local coordinate space + offset_sum = offset_sum * global_transform.basis + + # Get the average displacement in the X axis + var offset := offset_sum.x / grabbed_handles.size() + + # Move the slider by the requested offset + move_slider(slider_position + offset) + + +# Move the slider to the specified position +func move_slider(position: float) -> void: + # Do the slider move + position = _do_move_slider(position) + if position == slider_position: + return + + # Update the current position + slider_position = position + + # Emit the moved signal + emit_signal("slider_moved", position) + + +# Handle release of slider +func _on_slider_released(_interactable: XRToolsInteractableSlider): + if default_on_release: + move_slider(default_position) + + +# Called when the slider position is set externally +func _set_slider_position(position: float) -> void: + position = _do_move_slider(position) + slider_position = position + + +# Do the slider move +func _do_move_slider(position: float) -> float: + # Apply slider step-quantization + if slider_steps: + position = round(position / slider_steps) * slider_steps + + # Apply slider limits + position = clamp(position, slider_limit_min, slider_limit_max) + + # Move if necessary + if position != slider_position: + transform.origin.x = position + + # Return the updated position + return position diff --git a/addons/godot-xr-tools/interactables/interactable_slider.tscn b/addons/godot-xr-tools/interactables/interactable_slider.tscn new file mode 100644 index 0000000..f864adc --- /dev/null +++ b/addons/godot-xr-tools/interactables/interactable_slider.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://b0r6edl74ddo7"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="1"] + +[node name="InteractableSlider" type="Node3D"] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/materials/capsule.tres b/addons/godot-xr-tools/materials/capsule.tres new file mode 100644 index 0000000..a4e004f --- /dev/null +++ b/addons/godot-xr-tools/materials/capsule.tres @@ -0,0 +1,7 @@ +[gd_resource type="StandardMaterial3D" format=2] + +[resource] +flags_transparent = true +albedo_color = Color( 0.0337219, 0.241112, 0.863281, 0.497255 ) +roughness = 0.0 + diff --git a/addons/godot-xr-tools/materials/highlight.tres b/addons/godot-xr-tools/materials/highlight.tres new file mode 100644 index 0000000..d736712 --- /dev/null +++ b/addons/godot-xr-tools/materials/highlight.tres @@ -0,0 +1,69 @@ +[gd_resource type="ShaderMaterial" load_steps=7 format=3 uid="uid://dyuaw57o8y3i"] + +[sub_resource type="VisualShaderNodeColorParameter" id="VisualShaderNodeColorParameter_nl6jr"] +parameter_name = "Color" + +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_8dcmn"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0.5, 0.5, 0.5)] +operator = 2 + +[sub_resource type="VisualShaderNodeFloatConstant" id="VisualShaderNodeFloatConstant_2331j"] +constant = 0.1 + +[sub_resource type="VisualShaderNodeFresnel" id="VisualShaderNodeFresnel_tghd5"] + +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_wy3ip"] +operator = 2 + +[sub_resource type="VisualShader" id="VisualShader_wb0u4"] +code = "shader_type spatial; +uniform vec4 Color : source_color; + + + +void fragment() { +// ColorParameter:2 + vec4 n_out2p0 = Color; + + +// FloatConstant:4 + float n_out4p0 = 0.100000; + + +// VectorOp:3 + vec3 n_out3p0 = vec3(n_out2p0.xyz) * vec3(n_out4p0); + + +// Fresnel:5 + float n_in5p3 = 1.00000; + float n_out5p0 = pow(1.0 - clamp(dot(NORMAL, VIEW), 0.0, 1.0), n_in5p3); + + +// VectorOp:6 + vec3 n_out6p0 = vec3(n_out2p0.xyz) * vec3(n_out5p0); + + +// Output:0 + ALBEDO = n_out3p0; + EMISSION = n_out6p0; + + +} +" +nodes/fragment/0/position = Vector2(660, 60) +nodes/fragment/2/node = SubResource("VisualShaderNodeColorParameter_nl6jr") +nodes/fragment/2/position = Vector2(40, 40) +nodes/fragment/3/node = SubResource("VisualShaderNodeVectorOp_8dcmn") +nodes/fragment/3/position = Vector2(360, 60) +nodes/fragment/4/node = SubResource("VisualShaderNodeFloatConstant_2331j") +nodes/fragment/4/position = Vector2(20, 180) +nodes/fragment/5/node = SubResource("VisualShaderNodeFresnel_tghd5") +nodes/fragment/5/position = Vector2(40, 340) +nodes/fragment/6/node = SubResource("VisualShaderNodeVectorOp_wy3ip") +nodes/fragment/6/position = Vector2(360, 220) +nodes/fragment/connections = PackedInt32Array(2, 0, 3, 0, 3, 0, 0, 0, 4, 0, 3, 1, 2, 0, 6, 0, 5, 0, 6, 1, 6, 0, 0, 5) + +[resource] +render_priority = 0 +shader = SubResource("VisualShader_wb0u4") +shader_parameter/Color = Color(0.301961, 0.392157, 0.988235, 1) diff --git a/addons/godot-xr-tools/materials/pointer.tres b/addons/godot-xr-tools/materials/pointer.tres new file mode 100644 index 0000000..ffa1437 --- /dev/null +++ b/addons/godot-xr-tools/materials/pointer.tres @@ -0,0 +1,6 @@ +[gd_resource type="StandardMaterial3D" format=2] + +[resource] +flags_unshaded = true +params_diffuse_mode = 1 +albedo_color = Color( 1, 0.15625, 0.15625, 0.740314 ) diff --git a/addons/godot-xr-tools/materials/target.tres b/addons/godot-xr-tools/materials/target.tres new file mode 100644 index 0000000..48904d4 --- /dev/null +++ b/addons/godot-xr-tools/materials/target.tres @@ -0,0 +1,11 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=2] + +[ext_resource path="res://addons/godot-xr-tools/images/teleport_target.png" type="Texture" id=1] + +[resource] +flags_transparent = true +flags_unshaded = true +params_diffuse_mode = 1 +params_cull_mode = 2 +albedo_color = Color( 0.176471, 0.313726, 0.862745, 1 ) +albedo_texture = ExtResource( 1 ) diff --git a/addons/godot-xr-tools/materials/teleport.gdshader b/addons/godot-xr-tools/materials/teleport.gdshader new file mode 100644 index 0000000..a51550b --- /dev/null +++ b/addons/godot-xr-tools/materials/teleport.gdshader @@ -0,0 +1,37 @@ +shader_type spatial; +render_mode unshaded, cull_disabled, skip_vertex_transform; + +uniform float scale_t = 0.2; +uniform float length = 20.0; +uniform vec3 down = vec3(0.0, -1.0, 0.0); +uniform vec4 mix_color : source_color; +uniform sampler2D arrow_texture : source_color; + +void vertex() { + // offset our Z so we're projecting from our origin point + VERTEX.z -= 0.5; + VERTEX.z *= length; + + // now use that to create our arch + float t = VERTEX.z * scale_t; + float t2 = t * t; + + // translate to our world vector + VERTEX = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz; + + // and now create our arch + VERTEX += down * t2; + + // and apply our view matrix + VERTEX = (VIEW_MATRIX * vec4(VERTEX, 1.0)).xyz; +} + +void fragment() { + // and do our color + float offset = (TIME * 2.0); + vec4 col = texture(arrow_texture, vec2(UV.x, (UV.y * length * 4.0) + offset )).rgba; + ALBEDO = col.rgb * mix_color.rgb; + + // need to fix up our image and add an alpha channel + ALPHA = col.a; +} diff --git a/addons/godot-xr-tools/materials/teleport.tres b/addons/godot-xr-tools/materials/teleport.tres new file mode 100644 index 0000000..8ce9821 --- /dev/null +++ b/addons/godot-xr-tools/materials/teleport.tres @@ -0,0 +1,13 @@ +[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://bk72wfw25ff0v"] + +[ext_resource type="Shader" path="res://addons/godot-xr-tools/materials/teleport.gdshader" id="1"] +[ext_resource type="Texture2D" uid="uid://ddoj6c345cb0c" path="res://addons/godot-xr-tools/images/teleport_arrow.png" id="2"] + +[resource] +render_priority = 0 +shader = ExtResource("1") +shader_parameter/scale_t = 0.2 +shader_parameter/length = 30.0 +shader_parameter/down = Vector3(0, -1, 0) +shader_parameter/mix_color = Color(0.176471, 0.313726, 0.862745, 1) +shader_parameter/arrow_texture = ExtResource("2") diff --git a/addons/godot-xr-tools/misc/hold_button.gd b/addons/godot-xr-tools/misc/hold_button.gd new file mode 100644 index 0000000..80ad9ba --- /dev/null +++ b/addons/godot-xr-tools/misc/hold_button.gd @@ -0,0 +1,109 @@ +@tool +class_name XRToolsHoldButton +extends Node3D + + +signal pressed + + +# Enable our button +@export var enabled : bool = false: set = set_enabled + +@export var activate_action : String = "trigger_click" + +# Countdown +@export var hold_time : float = 2.0 + +# Color our our visualisation +@export var color : Color = Color(1.0, 1.0, 1.0, 1.0): set = set_color + +# Size +@export var size : Vector2 = Vector2(1.0, 1.0): set = set_size + + +var time_held = 0.0 + +var material : ShaderMaterial + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHoldButton" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + material = $Visualise.get_surface_override_material(0) + + if !Engine.is_editor_hint(): + _set_time_held(0.0) + + _update_size() + _update_color() + _update_enabled() + + +func _process(delta): + if Engine.is_editor_hint(): + return + + var button_pressed = false + + # we check all trackers + var controllers = XRServer.get_trackers(XRServer.TRACKER_CONTROLLER) + for name in controllers: + var tracker : XRPositionalTracker = controllers[name] + if tracker.get_input(activate_action): + button_pressed = true + + if button_pressed: + _set_time_held(time_held + delta) + if time_held > hold_time: + # done, disable this + set_enabled(false) + emit_signal("pressed") + else: + _set_time_held(max(0.0, time_held - delta)) + + +func set_enabled(p_enabled: bool): + enabled = p_enabled + _update_enabled() + + +func _update_enabled(): + if is_inside_tree() and !Engine.is_editor_hint(): + _set_time_held(0.0) + set_process(enabled) + + +func _set_time_held(p_time_held): + time_held = p_time_held + if material: + $Visualise.visible = time_held > 0.0 + material.set_shader_parameter("value", time_held/hold_time) + + +func set_size(p_size: Vector2): + size = p_size + _update_size() + + +func _update_size(): + if material: # Note, material won't be set until after we setup our scene + var mesh : QuadMesh = $Visualise.mesh + if mesh.size != size: + mesh.size = size + + # updating the size will unset our material, so reset it + $Visualise.set_surface_override_material(0, material) + + +func set_color(p_color: Color): + color = p_color + _update_color() + + +func _update_color(): + if material: + material.set_shader_parameter("albedo", color) diff --git a/addons/godot-xr-tools/misc/hold_button.tscn b/addons/godot-xr-tools/misc/hold_button.tscn new file mode 100644 index 0000000..2e69092 --- /dev/null +++ b/addons/godot-xr-tools/misc/hold_button.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=5 format=3 uid="uid://cymteydkxagpp"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/misc/hold_button.gd" id="1"] +[ext_resource type="Shader" uid="uid://c6okm2ay0fkjf" path="res://addons/godot-xr-tools/misc/hold_button_visualshader.tres" id="2"] + +[sub_resource type="QuadMesh" id="1"] +resource_local_to_scene = true + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_tkbhq"] +render_priority = 0 +shader = ExtResource("2") +shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/fade = 0.05 +shader_parameter/radius = 0.8 +shader_parameter/value = 0.2 +shader_parameter/width = 0.2 + +[node name="HoldButton" type="Node3D"] +script = ExtResource("1") + +[node name="Visualise" type="MeshInstance3D" parent="."] +mesh = SubResource("1") +surface_material_override/0 = SubResource("ShaderMaterial_tkbhq") diff --git a/addons/godot-xr-tools/misc/hold_button_visualshader.tres b/addons/godot-xr-tools/misc/hold_button_visualshader.tres new file mode 100644 index 0000000..bddcbec --- /dev/null +++ b/addons/godot-xr-tools/misc/hold_button_visualshader.tres @@ -0,0 +1,313 @@ +[gd_resource type="VisualShader" load_steps=28 format=3 uid="uid://c6okm2ay0fkjf"] + +[sub_resource type="VisualShaderNodeFloatOp" id="1"] +output_port_for_preview = 0 +default_input_values = [0, 0.0, 1, 0.1] +operator = 3 + +[sub_resource type="VisualShaderNodeFloatParameter" id="2"] +parameter_name = "width" + +[sub_resource type="VisualShaderNodeFloatOp" id="11"] +output_port_for_preview = 0 +default_input_values = [0, 1.0, 1, 0.0] +operator = 1 + +[sub_resource type="VisualShaderNodeFloatOp" id="12"] +output_port_for_preview = 0 +operator = 1 + +[sub_resource type="VisualShaderNodeFloatParameter" id="13"] +parameter_name = "fade" + +[sub_resource type="VisualShaderNodeFloatOp" id="14"] +default_input_values = [0, 0.0, 1, 2.0] +operator = 3 + +[sub_resource type="VisualShaderNodeVectorFunc" id="15"] +output_port_for_preview = 0 + +[sub_resource type="VisualShaderNodeDotProduct" id="16"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0, -1, 0)] + +[sub_resource type="VisualShaderNodeVectorOp" id="17"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0, -1, 0)] +operator = 8 + +[sub_resource type="VisualShaderNodeColorParameter" id="3"] +parameter_name = "albedo" + +[sub_resource type="VisualShaderNodeVectorDecompose" id="18"] + +[sub_resource type="VisualShaderNodeIf" id="19"] + +[sub_resource type="VisualShaderNodeFloatOp" id="20"] +default_input_values = [0, 6.28319, 1, 0.0] +operator = 1 + +[sub_resource type="VisualShaderNodeFloatFunc" id="21"] +output_port_for_preview = 0 +function = 4 + +[sub_resource type="VisualShaderNodeFloatOp" id="22"] +output_port_for_preview = 0 +default_input_values = [0, 0.0, 1, 6.28319] +operator = 3 + +[sub_resource type="VisualShaderNodeFloatParameter" id="23"] +parameter_name = "value" + +[sub_resource type="VisualShaderNodeFloatOp" id="24"] +output_port_for_preview = 0 +operator = 1 + +[sub_resource type="VisualShaderNodeFloatOp" id="25"] +output_port_for_preview = 0 +operator = 3 + +[sub_resource type="VisualShaderNodeFloatOp" id="26"] +output_port_for_preview = 0 +operator = 6 + +[sub_resource type="VisualShaderNodeInput" id="4"] +output_port_for_preview = 0 +input_name = "uv" + +[sub_resource type="VisualShaderNodeFloatOp" id="27"] +default_input_values = [0, 0.0, 1, 6.28319] +operator = 3 + +[sub_resource type="VisualShaderNodeVectorOp" id="5"] +output_port_for_preview = 0 +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(2, 2, 0)] +operator = 2 + +[sub_resource type="VisualShaderNodeVectorOp" id="6"] +output_port_for_preview = 0 +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(-1, -1, 0)] + +[sub_resource type="VisualShaderNodeVectorLen" id="7"] +output_port_for_preview = 0 + +[sub_resource type="VisualShaderNodeFloatOp" id="8"] +output_port_for_preview = 0 +operator = 1 + +[sub_resource type="VisualShaderNodeFloatParameter" id="9"] +parameter_name = "radius" + +[sub_resource type="VisualShaderNodeFloatFunc" id="10"] +output_port_for_preview = 0 +function = 12 + +[resource] +code = "shader_type spatial; +render_mode unshaded; + +uniform vec4 albedo : source_color; +uniform float value; +uniform float fade; +uniform float radius; +uniform float width; + + + +void fragment() { +// ColorParameter:2 + vec4 n_out2p0 = albedo; + + +// Input:3 + vec2 n_out3p0 = UV; + + +// VectorOp:4 + vec3 n_in4p1 = vec3(2.00000, 2.00000, 0.00000); + vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1; + + +// VectorOp:5 + vec3 n_in5p1 = vec3(-1.00000, -1.00000, 0.00000); + vec3 n_out5p0 = n_out4p0 + n_in5p1; + + +// VectorFunc:17 + vec3 n_out17p0 = normalize(n_out5p0); + + +// VectorOp:19 + vec3 n_in19p1 = vec3(0.00000, -1.00000, 0.00000); + vec3 n_out19p0 = cross(n_out17p0, n_in19p1); + + +// VectorDecompose:20 + float n_out20p0 = n_out19p0.x; + float n_out20p1 = n_out19p0.y; + float n_out20p2 = n_out19p0.z; + + +// DotProduct:18 + vec3 n_in18p1 = vec3(0.00000, -1.00000, 0.00000); + float n_out18p0 = dot(n_out17p0, n_in18p1); + + +// FloatFunc:24 + float n_out24p0 = acos(n_out18p0); + + +// FloatOp:23 + float n_in23p0 = 6.28319; + float n_out23p0 = n_in23p0 - n_out24p0; + + + vec3 n_out22p0; +// If:22 + float n_in22p1 = 0.00000; + float n_in22p2 = 0.00001; + if(abs(n_out20p2 - n_in22p1) < n_in22p2) + { + n_out22p0 = vec3(n_out24p0); + } + else if(n_out20p2 < n_in22p1) + { + n_out22p0 = vec3(n_out24p0); + } + else + { + n_out22p0 = vec3(n_out23p0); + } + + +// FloatOp:25 + float n_in25p1 = 6.28319; + float n_out25p0 = n_out22p0.x / n_in25p1; + + +// FloatParameter:26 + float n_out26p0 = value; + + +// FloatOp:27 + float n_out27p0 = n_out25p0 - n_out26p0; + + +// FloatParameter:14 + float n_out14p0 = fade; + + +// FloatOp:30 + float n_in30p1 = 6.28319; + float n_out30p0 = n_out14p0 / n_in30p1; + + +// FloatOp:28 + float n_out28p0 = n_out27p0 / n_out30p0; + + +// VectorLen:6 + float n_out6p0 = length(n_out5p0); + + +// FloatParameter:8 + float n_out8p0 = radius; + + +// FloatOp:7 + float n_out7p0 = n_out6p0 - n_out8p0; + + +// FloatFunc:9 + float n_out9p0 = abs(n_out7p0); + + +// FloatParameter:11 + float n_out11p0 = width; + + +// FloatOp:15 + float n_in15p1 = 2.00000; + float n_out15p0 = n_out11p0 / n_in15p1; + + +// FloatOp:13 + float n_out13p0 = n_out9p0 - n_out15p0; + + +// FloatOp:10 + float n_out10p0 = n_out13p0 / n_out14p0; + + +// FloatOp:29 + float n_out29p0 = max(n_out28p0, n_out10p0); + + +// FloatOp:12 + float n_in12p0 = 1.00000; + float n_out12p0 = n_in12p0 - n_out29p0; + + +// Output:0 + ALBEDO = vec3(n_out2p0.xyz); + ALPHA = n_out12p0; + + +} +" +graph_offset = Vector2(652.664, 119.317) +flags/unshaded = true +nodes/fragment/0/position = Vector2(1800, -40) +nodes/fragment/2/node = SubResource("3") +nodes/fragment/2/position = Vector2(1480, -200) +nodes/fragment/3/node = SubResource("4") +nodes/fragment/3/position = Vector2(-220, 200) +nodes/fragment/4/node = SubResource("5") +nodes/fragment/4/position = Vector2(-20, 200) +nodes/fragment/5/node = SubResource("6") +nodes/fragment/5/position = Vector2(180, 200) +nodes/fragment/6/node = SubResource("7") +nodes/fragment/6/position = Vector2(380, 200) +nodes/fragment/7/node = SubResource("8") +nodes/fragment/7/position = Vector2(580, 200) +nodes/fragment/8/node = SubResource("9") +nodes/fragment/8/position = Vector2(260, 440) +nodes/fragment/9/node = SubResource("10") +nodes/fragment/9/position = Vector2(780, 200) +nodes/fragment/10/node = SubResource("1") +nodes/fragment/10/position = Vector2(1200, 200) +nodes/fragment/11/node = SubResource("2") +nodes/fragment/11/position = Vector2(260, 600) +nodes/fragment/12/node = SubResource("11") +nodes/fragment/12/position = Vector2(1600, 60) +nodes/fragment/13/node = SubResource("12") +nodes/fragment/13/position = Vector2(1000, 200) +nodes/fragment/14/node = SubResource("13") +nodes/fragment/14/position = Vector2(260, 780) +nodes/fragment/15/node = SubResource("14") +nodes/fragment/15/position = Vector2(560, 600) +nodes/fragment/17/node = SubResource("15") +nodes/fragment/17/position = Vector2(-380, -100) +nodes/fragment/18/node = SubResource("16") +nodes/fragment/18/position = Vector2(-120, -40) +nodes/fragment/19/node = SubResource("17") +nodes/fragment/19/position = Vector2(-120, -180) +nodes/fragment/20/node = SubResource("18") +nodes/fragment/20/position = Vector2(60, -180) +nodes/fragment/22/node = SubResource("19") +nodes/fragment/22/position = Vector2(620, -100) +nodes/fragment/23/node = SubResource("20") +nodes/fragment/23/position = Vector2(360, 40) +nodes/fragment/24/node = SubResource("21") +nodes/fragment/24/position = Vector2(60, -40) +nodes/fragment/25/node = SubResource("22") +nodes/fragment/25/position = Vector2(800, -100) +nodes/fragment/26/node = SubResource("23") +nodes/fragment/26/position = Vector2(660, -360) +nodes/fragment/27/node = SubResource("24") +nodes/fragment/27/position = Vector2(1000, -100) +nodes/fragment/28/node = SubResource("25") +nodes/fragment/28/position = Vector2(1200, -100) +nodes/fragment/29/node = SubResource("26") +nodes/fragment/29/position = Vector2(1400, 60) +nodes/fragment/30/node = SubResource("27") +nodes/fragment/30/position = Vector2(1000, -240) +nodes/fragment/connections = PackedInt32Array(2, 0, 0, 0, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 7, 0, 8, 0, 7, 1, 7, 0, 9, 0, 12, 0, 0, 1, 9, 0, 13, 0, 13, 0, 10, 0, 14, 0, 10, 1, 11, 0, 15, 0, 15, 0, 13, 1, 5, 0, 17, 0, 17, 0, 18, 0, 17, 0, 19, 0, 19, 0, 20, 0, 18, 0, 24, 0, 24, 0, 23, 1, 22, 0, 25, 0, 20, 2, 22, 0, 24, 0, 22, 3, 23, 0, 22, 4, 24, 0, 22, 5, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 28, 0, 28, 0, 29, 0, 10, 0, 29, 1, 29, 0, 12, 1, 14, 0, 30, 0, 30, 0, 28, 1) diff --git a/addons/godot-xr-tools/misc/move_to.gd b/addons/godot-xr-tools/misc/move_to.gd new file mode 100644 index 0000000..2b90702 --- /dev/null +++ b/addons/godot-xr-tools/misc/move_to.gd @@ -0,0 +1,92 @@ +class_name XRToolsMoveTo +extends Node + + +## XR Tools Move To Node +## +## This node moves a control node to the specified target node at a +## requested speed. + + +## Signal invoked when the move finishes +signal move_complete + + +# Spatial to control +var _control: Node3D + +# Spatial representing the target +var _target: Node3D + +# Starting transform +var _start: Transform3D + +# Target offset +var _offset: Transform3D + +# Move duration +var _duration: float + +# Move time +var _time: float = 0.0 + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMoveTo" + + +## Initialize the XRToolsMoveTo +func _init(): + # Disable processing until needed + set_process(false) + + +## Process the movement +func _process(delta: float) -> void: + # Calculate the destination + var destination := _target.global_transform * _offset + + # Update the move time + _time += delta + + # Detect end of move + if _time > _duration: + # Disable processing + set_process(false) + + # Move to the target + _control.global_transform = destination + + # Report the move as complete + emit_signal("move_complete") + return + + # Interpolate to the target + _control.global_transform = _start.interpolate_with( + destination, + _time / _duration) + + +## Start the move +func start(control: Node3D, target: Node3D, offset: Transform3D, speed: float) -> void: + # Save the control and target + _control = control + _target = target + _offset = offset + + # Save the starting transform + _start = control.global_transform + + # Calculate the duration + var destination := _target.global_transform * _offset + var distance := (destination.origin - _start.origin).length() + _duration = distance / speed + + # Start processing + set_process(true) + + +## Stop the move +func stop() -> void: + set_process(false) diff --git a/addons/godot-xr-tools/misc/velocity_averager.gd b/addons/godot-xr-tools/misc/velocity_averager.gd new file mode 100644 index 0000000..624bde3 --- /dev/null +++ b/addons/godot-xr-tools/misc/velocity_averager.gd @@ -0,0 +1,130 @@ +class_name XRToolsVelocityAverager + + +## XR Tools Velocity Averager class +## +## This class assists in calculating the velocity (both linear and angular) +## of an object. It accepts the following types of input: +## - Periodic distances +## - Periodic transforms (for the origin position) +## +## It provides the average velocity calculated from the total distance +## divided by the total time. + + +# Count of averages to perform +var _count: int + +# Array of time deltas (in float seconds) +var _time_deltas := Array() + +# Array of linear distances (Vector3 Castesian Distances) +var _linear_distances := Array() + +# Array of angular distances (Vector3 Euler Distances) +var _angular_distances := Array() + +# Last transform +var _last_transform := Transform3D() + +# Has last transform flag +var _has_last_transform := false + + +## Initialize the XRToolsVelocityAverager with an averaging count +func _init(count: int): + _count = count + +## Clear the averages +func clear(): + _time_deltas.clear() + _linear_distances.clear() + _angular_distances.clear() + _has_last_transform = false + +## Add linear and angular distances to the averager +func add_distance(delta: float, linear_distance: Vector3, angular_distance: Vector3): + # Sanity check + assert(delta > 0, "Velocity averager requires positive time-deltas") + + # Add data averaging arrays + _time_deltas.push_back(delta) + _linear_distances.push_back(linear_distance) + _angular_distances.push_back(angular_distance) + + # Keep the number of samples down to the requested count + if _time_deltas.size() > _count: + _time_deltas.pop_front() + _linear_distances.pop_front() + _angular_distances.pop_front() + +## Add a transform to the averager +func add_transform(delta: float, transform: Transform3D): + # Handle saving the first transform + if !_has_last_transform: + _last_transform = transform + _has_last_transform = true + return + + # Calculate the linear cartesian distance + var linear_distance := transform.origin - _last_transform.origin + + # Calculate the euler angular distance + var angular_distance := (transform.basis * _last_transform.basis.inverse()).get_euler() + + # Update the last transform + _last_transform = transform + + # Add distances + add_distance(delta, linear_distance, angular_distance) + +## Calculate the average linear velocity +func linear_velocity() -> Vector3: + # Skip if no averages + if _time_deltas.size() == 0: + return Vector3.ZERO + + # Calculate the total time in the average window + var total_time := 0.0 + for dt in _time_deltas: + total_time += dt + + # Sum the cartesian distances in the average window + var total_linear := Vector3.ZERO + for dd in _linear_distances: + total_linear += dd + + # Return the average cartesian-velocity + return total_linear / total_time + +## Calculate the average angular velocity as a Vector3 euler-velocity +func angular_velocity() -> Vector3: + # Skip if no averages + if _time_deltas.size() == 0: + return Vector3.ZERO + + # Calculate the total time in the average window + var total_time := 0.0 + for dt in _time_deltas: + total_time += dt + + # At first glance the following operations may look incorrect as they appear + # to involve scaling of euler angles which isn't a valid operation. + # + # They are actually correct due to the value being a euler-velocity rather + # than a euler-angle. The difference is that physics engines process euler + # velocities by converting them to axis-angle form by: + # - Angle-velocity: euler-velocity vector magnitude + # - Axis: euler-velocity normalized and axis evaluated on 1-radian rotation + # + # The result of this interpretation is that scaling the euler-velocity + # by arbitrary amounts only results in the angle-velocity changing without + # impacting the axis of rotation. + + # Sum the euler-velocities in the average window + var total_angular := Vector3.ZERO + for dd in _angular_distances: + total_angular += dd + + # Calculate the average euler-velocity + return total_angular / total_time diff --git a/addons/godot-xr-tools/misc/velocity_averager_linear.gd b/addons/godot-xr-tools/misc/velocity_averager_linear.gd new file mode 100644 index 0000000..f69bf7f --- /dev/null +++ b/addons/godot-xr-tools/misc/velocity_averager_linear.gd @@ -0,0 +1,91 @@ +class_name XRToolsVelocityAveragerLinear + + +## XR Tools Linear Velocity Averager class +## +## This class assists in calculating the average linear velocity of an +## object. It accepts the following types of input: +## - Periodic distances +## - Periodic velocities +## - Periodic transforms (for the origin position) +## +## It provides the average velocity calculated from the total distance +## divided by the total time. + + +# Count of averages to perform +var _count: int + +# Array of time deltas (in float seconds) +var _time_deltas := Array() + +# Array of linear distances (in Vector3) +var _linear_distances := Array() + +# Last transform +var _last_transform := Transform3D() + +# Has last transform flag +var _has_last_transform := false + + +## Initialize the VelocityAverager with an averaging count +func _init(count: int): + _count = count + +## Clear the averages +func clear(): + _time_deltas.clear() + _linear_distances.clear() + _has_last_transform = false + +## Add a linear distance to the averager +func add_distance(delta: float, linear_distance: Vector3): + # Add data averaging arrays + _time_deltas.push_back(delta) + _linear_distances.push_back(linear_distance) + + # Keep the number of samples down to the requested count + if _time_deltas.size() > _count: + _time_deltas.pop_front() + _linear_distances.pop_front() + +## Add a linear velocity to the averager +func add_velocity(delta: float, linear_velocity: Vector3): + add_distance(delta, linear_velocity * delta) + +## Add a transform to the averager +func add_transform(delta: float, transform: Transform3D): + # Handle saving the first transform + if !_has_last_transform: + _last_transform = transform + _has_last_transform = true + return + + # Calculate the linear distances + var linear_distance := transform.origin - _last_transform.origin + + # Update the last transform + _last_transform = transform + + # Add distance + add_distance(delta, linear_distance) + +## Calculate the average linear velocity +func velocity() -> Vector3: + # Calculate the total time + var total_time := 0.0 + for dt in _time_deltas: + total_time += dt + + # Safety check to prevent division by zero + if total_time <= 0.0: + return Vector3.ZERO + + # Calculate the total distance + var total_linear := Vector3.ZERO + for dd in _linear_distances: + total_linear += dd + + # Return the average + return total_linear / total_time diff --git a/addons/godot-xr-tools/misc/vr_common_shader_cache.gd b/addons/godot-xr-tools/misc/vr_common_shader_cache.gd new file mode 100644 index 0000000..d7c9609 --- /dev/null +++ b/addons/godot-xr-tools/misc/vr_common_shader_cache.gd @@ -0,0 +1,14 @@ +extends Node3D + +signal cooldown_finished + +var countdown = 2 + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta): + countdown = countdown - 1 + if countdown == 0: + visible = false + set_process(false) + emit_signal("cooldown_finished") diff --git a/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn b/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn new file mode 100644 index 0000000..8c9ab26 --- /dev/null +++ b/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn @@ -0,0 +1,39 @@ +[gd_scene load_steps=8 format=3] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/misc/vr_common_shader_cache.gd" id="1"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/teleport.tres" id="2_6822k"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/target.tres" id="3_agvdv"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/capsule.tres" id="4_gxjsg"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/pointer.tres" id="5_12251"] +[ext_resource type="Material" uid="uid://dyuaw57o8y3i" path="res://addons/godot-xr-tools/materials/highlight.tres" id="6_ld6la"] + +[sub_resource type="PlaneMesh" id="1"] +size = Vector2(0.001, 0.001) + +[node name="VRCommonShaderCache" type="Node3D"] +script = ExtResource("1") + +[node name="teleport" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2_6822k") + +[node name="target" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("3_agvdv") + +[node name="capsule" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("4_gxjsg") + +[node name="pointer" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("5_12251") + +[node name="highlight" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("6_ld6la") diff --git a/addons/godot-xr-tools/misc/xr_helpers.gd b/addons/godot-xr-tools/misc/xr_helpers.gd new file mode 100644 index 0000000..603f7c3 --- /dev/null +++ b/addons/godot-xr-tools/misc/xr_helpers.gd @@ -0,0 +1,137 @@ +@tool +class_name XRHelpers + + +## XR Tools Helper Rountines +## +## This script contains static functions to help find XR player nodes. +## +## As these functions are static, the caller must pass in a node located +## somewhere under the players [XROrigin3D]. + + +## Find the [XROrigin3D] node. +## +## This function searches for the [XROrigin3D] from the provided node. +## The caller may provide an optional path (relative to the node) to the +## [XROrigin3D] to support out-of-tree searches. +## +## The search is performed assuming the node is under the [XROrigin3D]. +static func get_xr_origin(node: Node, path: NodePath = NodePath()) -> XROrigin3D: + var origin: XROrigin3D + + # Try using the node path first + if path: + origin = node.get_node(path) as XROrigin3D + if origin: + return origin + + # Walk up the tree from the provided node looking for the origin + origin = XRTools.find_xr_ancestor(node, "*", "XROrigin3D") + if origin: + return origin + + # We check our children but only one level + origin = XRTools.find_xr_child(node, "*", "XROrigin3D", false) + if origin: + return origin + + # Could not find origin + return null + +## Find the [XRCamera3D] node. +## +## This function searches for the [XRCamera3D] from the provided node. +## The caller may provide an optional path (relative to the node) to the +## [XRCamera3D] to support out-of-tree searches. +## +## The search is performed assuming the node is under the [XROrigin3D]. +static func get_xr_camera(node: Node, path: NodePath = NodePath()) -> XRCamera3D: + var camera: XRCamera3D + + # Try using the node path first + if path: + camera = node.get_node(path) as XRCamera3D + if camera: + return camera + + # Get the origin + var origin := get_xr_origin(node) + if !origin: + return null + + # Attempt to get by the default name + camera = origin.get_node_or_null("Camera") as XRCamera3D + if camera: + return camera + + # Search all children of the origin for the camera + camera = XRTools.find_xr_child(origin, "*", "XRCamera3D", false) + if camera: + return camera + + # Could not find camera + return null + +## Find the [XRController3D] node. +## +## This function searches for the [XRController3D] from the provided node. +## The caller may provide an optional path (relative to the node) to the +## [XRController3D] to support out-of-tree searches. +## +## The search is performed assuming the node is under the [XRController3D]. +static func get_xr_controller(node: Node, path: NodePath = NodePath()) -> XRController3D: + var controller: XRController3D + + # Try using the node path first + if path: + controller = node.get_node(path) as XRController3D + if controller: + return controller + + # Search up from the node for the controller + return XRTools.find_xr_ancestor(node, "*", "XRController3D") as XRController3D + +## Find the Left Hand [XRController3D] from a player node and an optional path +static func get_left_controller(node: Node, path: NodePath = NodePath()) -> XRController3D: + return _get_controller(node, "LeftHandController", "left_hand", path) + + +## Find the Right Hand [XRController3D] from a player node and an optional path +static func get_right_controller(node: Node, path: NodePath = NodePath()) -> XRController3D: + return _get_controller(node, "RightHandController", "right_hand", path) + + +## Find an [XRController3D] given some search parameters +static func _get_controller( + node: Node, + default_name: String, + tracker: String, + path: NodePath) -> XRController3D: + var controller: XRController3D + + # Try using the node path first + if path: + controller = node.get_node(path) as XRController3D + if controller: + return controller + + # Get the origin + var origin := get_xr_origin(node) + if !origin: + return null + + # Attempt to get by the default name + controller = origin.get_node_or_null(default_name) as XRController3D + if controller: + return controller + + # Search all children of the origin for the controller + for child in origin.get_children(): + controller = child as XRController3D + if controller and controller.tracker == tracker: + return controller + + # Could not find the controller + return null + diff --git a/addons/godot-xr-tools/objects/climbable.gd b/addons/godot-xr-tools/objects/climbable.gd new file mode 100644 index 0000000..7864e18 --- /dev/null +++ b/addons/godot-xr-tools/objects/climbable.gd @@ -0,0 +1,64 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsClimbable +extends Node3D + + +## XR Tools Climbable Object +## +## This script adds climbing support to any [StaticBody3D]. +## +## For climbing to work, the player must have an [XRToolsMovementClimb] node +## configured appropriately. + + +## If true, the grip control must be held to keep holding the climbable +var press_to_hold : bool = true + +## Dictionary of temporary grab-handles indexed by the pickup node. +var grab_locations := {} + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsClimbable" + + +# Called by XRToolsFunctionPickup +func is_picked_up() -> bool: + return false + +func can_pick_up(_by: Node3D) -> bool: + return true + +# Called by XRToolsFunctionPickup when user presses the action button while holding this object +func action(): + pass + +# Ignore highlighting requests from XRToolsFunctionPickup +func request_highlight(_from, _on) -> void: + pass + +# Called by XRToolsFunctionPickup when this is picked up by a controller +func pick_up(by: Node3D, _with_controller: XRController3D) -> void: + # Get the ID to save the grab handle under + var id = by.get_instance_id() + + # Get or construct the grab handle + var handle = grab_locations.get(id) + if not handle: + handle = Node3D.new() + add_child(handle) + grab_locations[id] = handle + + # Set the handles global transform. As it's a child of this + # climbable it will move as the climbable moves + handle.global_transform = by.global_transform + +# Called by XRToolsFunctionPickup when this is let go by a controller +func let_go(_p_linear_velocity: Vector3, _p_angular_velocity: Vector3) -> void: + pass + +# Get the grab handle +func get_grab_handle(p: Node3D) -> Node3D: + return grab_locations.get(p.get_instance_id()) diff --git a/addons/godot-xr-tools/objects/climbable.tscn b/addons/godot-xr-tools/objects/climbable.tscn new file mode 100644 index 0000000..6cb2599 --- /dev/null +++ b/addons/godot-xr-tools/objects/climbable.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=2 format=3 uid="uid://cjyilbm4ucc7s"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/climbable.gd" id="1"] + +[node name="Climbable" type="StaticBody3D"] +collision_layer = 262145 +collision_mask = 0 +script = ExtResource("1") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] diff --git a/addons/godot-xr-tools/objects/force_body/force_body.gd b/addons/godot-xr-tools/objects/force_body/force_body.gd new file mode 100644 index 0000000..cf258dd --- /dev/null +++ b/addons/godot-xr-tools/objects/force_body/force_body.gd @@ -0,0 +1,96 @@ +@tool +class_name XRToolsForceBody +extends StaticBody3D + + +## XRTools Force Body script +## +## This script enhances StaticBody3D with move_and_slide and the ability +## to push bodies by emparting forces on them. + + +## Force Body Collision +class ForceBodyCollision: + ## Collider object + var collider : Node3D + + ## Collision point + var position : Vector3 + + ## Collision normal + var normal : Vector3 + + +## Enables or disables pushing bodies +@export var push_bodies : bool = true + +## Control the stiffness of the body +@export var stiffness : float = 10.0 + +## Control the maximum push force +@export var maximum_force : float = 1.0 + +## Maximum slides +@export var max_slides : int = 4 + + +## Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsForceBody" + + +## This function moves and slides along the [param move] vector. It returns +## information about the last collision, or null if no collision +func move_and_slide(move : Vector3) -> ForceBodyCollision: + # Loop performing the movement steps + var step_move := move + var ret : ForceBodyCollision = null + for step in max_slides: + # Take the next step + var collision := move_and_collide(step_move) + + # If we didn't collide with anything then we have finished the entire + # move_and_slide operation + if not collision: + break + + # Save relevant collision information + var collider := collision.get_collider() + var postion := collision.get_position() + var normal := collision.get_normal() + + # Save the collision information + if not ret: + ret = ForceBodyCollision.new() + + ret.collider = collider + ret.position = postion + ret.normal = normal + + # Calculate the next move + var next_move := collision.get_remainder().slide(normal) + + # Handle pushing bodies + if push_bodies: + var body := collider as RigidBody3D + if body: + # Calculate the momentum lost by the collision + var lost_momentum := step_move - next_move + + # TODO: We should consider the velocity of the body such that + # we never push it away faster than our own velocity. + + # Apply the lost momentum as an impulse to the body we hit + body.apply_impulse( + (lost_momentum * stiffness).limit_length(maximum_force), + position - body.global_position) + + # Update the remaining movement + step_move = next_move + + # Prevent bouncing back along movement path + if next_move.dot(move) <= 0: + break + + # Return the last collision data + return ret diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point.gd b/addons/godot-xr-tools/objects/grab_points/grab_point.gd new file mode 100644 index 0000000..51a5d03 --- /dev/null +++ b/addons/godot-xr-tools/objects/grab_points/grab_point.gd @@ -0,0 +1,18 @@ +class_name XRToolsGrabPoint +extends Marker3D + + +## XR Tools Grab Point Base Script +## +## This script is the base for all grab points. Pickable object extending from +## [XRToolsPickable] can have numerous grab points to control where the object +## is grabbed from. + + +## If true, the grab point is enabled for grabbing +@export var enabled : bool = true + + +## Test if a grabber can grab by this grab-point +func can_grab(_grabber : Node) -> bool: + return enabled diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd b/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd new file mode 100644 index 0000000..65f435d --- /dev/null +++ b/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd @@ -0,0 +1,138 @@ +@tool +class_name XRToolsGrabPointHand +extends XRToolsGrabPoint + + +## XR Tools Grab Point Hand Script +## +## This script allows specifying a grab point for a specific hand. Additionally +## the grab point can be used to control the pose of the hand, and to allow the +## grab point position to be fine-tuned in the editor. + + +## Hand for this grab point +enum Hand { + LEFT, ## Left hand + RIGHT, ## Right hand +} + +## Hand preview option +enum PreviewMode { + CLOSED, ## Preview hand closed + OPEN, ## Preview hand open +} + + +## Left hand scene path (for editor preview) +const LEFT_HAND_PATH := "res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" + +## Right hand scene path (for editor preview) +const RIGHT_HAND_PATH := "res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" + + +## Which hand this grab point is for +@export var hand : Hand: set = _set_hand + +## Hand pose +@export var hand_pose : XRToolsHandPoseSettings: set = _set_hand_pose + +## If true, the hand is shown in the editor +@export var editor_preview_mode : PreviewMode = PreviewMode.CLOSED: set = _set_editor_preview_mode + + +## Hand to use for editor preview +var _editor_preview_hand : XRToolsHand + + +## Called when the node enters the scene tree for the first time. +func _ready(): + # If in the editor then update the preview + if Engine.is_editor_hint(): + _update_editor_preview() + + +## Test if a grabber can grab by this grab-point +func can_grab(_grabber : Node) -> bool: + # Skip if not enabled + if not enabled: + return false + + # Get the grabber controller + var controller := _get_grabber_controller(_grabber) + if not controller: + return false + + # Only allow left controller to grab left-hand grab points + if hand == Hand.LEFT and controller.tracker != "left_hand": + return false + + # Only allow right controller to grab right-hand grab points + if hand == Hand.RIGHT and controller.tracker != "right_hand": + return false + + # Allow grab + return true + + +func _set_hand(new_value : Hand) -> void: + hand = new_value + if Engine.is_editor_hint(): + _update_editor_preview() + + +func _set_hand_pose(new_value : XRToolsHandPoseSettings) -> void: + hand_pose = new_value + if Engine.is_editor_hint(): + _update_editor_preview() + + +func _set_editor_preview_mode(new_value : PreviewMode) -> void: + editor_preview_mode = new_value + if Engine.is_editor_hint(): + _update_editor_preview() + + +func _update_editor_preview() -> void: + # Discard any existing hand model + if _editor_preview_hand: + remove_child(_editor_preview_hand) + _editor_preview_hand.queue_free() + _editor_preview_hand = null + + # Pick the hand scene + var hand_path := LEFT_HAND_PATH if hand == Hand.LEFT else RIGHT_HAND_PATH + var hand_scene : PackedScene = load(hand_path) + if !hand_scene: + return + + # Construct the model + _editor_preview_hand = hand_scene.instantiate() + + # Set the pose + if hand_pose: + _editor_preview_hand.add_pose_override(self, 0.0, hand_pose) + + # Set the grip override + if editor_preview_mode == PreviewMode.CLOSED: + _editor_preview_hand.force_grip_trigger(1.0, 1.0) + else: + _editor_preview_hand.force_grip_trigger(0.0, 0.0) + + # Add the editor-preview hand as a child + add_child(_editor_preview_hand) + + +# Get the controller associated with a grabber +static func _get_grabber_controller(_grabber : Node) -> XRController3D: + # Ensure the grabber is valid + if not is_instance_valid(_grabber): + return null + + # Ensure the pickup is a function pickup for a controller + var pickup := _grabber as XRToolsFunctionPickup + if not pickup: + return null + + # Get the controller associated with the pickup + return pickup.get_controller() + diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn new file mode 100644 index 0000000..875f686 --- /dev/null +++ b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn @@ -0,0 +1,7 @@ +[gd_scene load_steps=2 format=3 uid="uid://c25yxb0vt53vc"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" id="1"] + +[node name="GrabPointHandLeft" type="Marker3D"] +visible = false +script = ExtResource("1") diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn new file mode 100644 index 0000000..08957a5 --- /dev/null +++ b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://ctw7nbntd5pcj"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" id="1"] + +[node name="GrabPointHandRight" type="Marker3D"] +visible = false +script = ExtResource("1") +hand = 1 diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd new file mode 100644 index 0000000..46a6925 --- /dev/null +++ b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd @@ -0,0 +1,49 @@ +@tool +class_name XRToolsGrabPointSnap +extends XRToolsGrabPoint + + +## XR Tools Grab Point Snap Script +## +## This script allows specifying a grab point for snap zones. It supports +## group-filters if different points are required for different snap zones. + + +## Require grab-by to be in the specified group +@export var require_group : String = "" + +## Deny grab-by if in the specified group +@export var exclude_group : String = "" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Add a Position3D child to help editor visibility + if Engine.is_editor_hint(): + add_child(Marker3D.new()) + + +## Test if a grabber can grab by this grab-point +func can_grab(_grabber : Node) -> bool: + # Skip if not enabled + if not enabled: + return false + + # Ensure the pickup is valid + if not is_instance_valid(_grabber): + return false + + # Ensure the grabber is a snap-zone + if not _grabber is XRToolsSnapZone: + return false + + # Refuse if the grabber is not in the required group + if not require_group.is_empty() and not _grabber.is_in_group(require_group): + return false + + # Refuse if the grabber is in the excluded group + if not exclude_group.is_empty() and _grabber.is_in_group(exclude_group): + return false + + # Allow the grab + return true diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn new file mode 100644 index 0000000..0ce9979 --- /dev/null +++ b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn @@ -0,0 +1,7 @@ +[gd_scene load_steps=2 format=3 uid="uid://dh8grd7s3n8kg"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd" id="1"] + +[node name="GrabPointSnap" type="Marker3D"] +visible = false +script = ExtResource("1") diff --git a/addons/godot-xr-tools/objects/hand_pose_area.gd b/addons/godot-xr-tools/objects/hand_pose_area.gd new file mode 100644 index 0000000..9d39e72 --- /dev/null +++ b/addons/godot-xr-tools/objects/hand_pose_area.gd @@ -0,0 +1,25 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsHandPoseArea +extends Area3D + + +## XR Tools Hand Pose Area +## +## This area works with the XRToolsFunctionPoseArea to control the pose +## of the VR hands. + + +## Priority level for this hand pose area +@export var pose_priority : int + +## Left hand pose settings (XRToolsHandPoseSettings) +@export var left_pose : XRToolsHandPoseSettings + +## Right hand pose settings (XRToolsHandPoseSettings) +@export var right_pose : XRToolsHandPoseSettings + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHandPoseArea" diff --git a/addons/godot-xr-tools/objects/hand_pose_area.tscn b/addons/godot-xr-tools/objects/hand_pose_area.tscn new file mode 100644 index 0000000..e72ed0d --- /dev/null +++ b/addons/godot-xr-tools/objects/hand_pose_area.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=3 uid="uid://dc5t2qgmhb2nf"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/hand_pose_area.gd" id="1"] + +[node name="HandPoseArea" type="Area3D"] +collision_layer = 2097152 +collision_mask = 0 +monitoring = false +script = ExtResource("1") diff --git a/addons/godot-xr-tools/objects/highlight/highlight_material.gd b/addons/godot-xr-tools/objects/highlight/highlight_material.gd new file mode 100644 index 0000000..d5b8eb2 --- /dev/null +++ b/addons/godot-xr-tools/objects/highlight/highlight_material.gd @@ -0,0 +1,57 @@ +@tool +class_name XRToolsHighlightMaterial +extends Node + + +## Mesh to highlight +@export var highlight_mesh_instance : NodePath + +## Material to set +@export var highlight_material : Resource + + +var _original_materials = Array() +var _highlight_mesh_instance: MeshInstance3D + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHighlightMaterial" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Get the mesh to highlight + _highlight_mesh_instance = get_node(highlight_mesh_instance) + + # Save the materials + if _highlight_mesh_instance: + # if we can find a node remember which materials are currently set on each surface + for i in range(0, _highlight_mesh_instance.get_surface_override_material_count()): + _original_materials.push_back(_highlight_mesh_instance.get_surface_override_material(i)) + + # Hook the highlight update + get_parent().connect("highlight_updated", _on_highlight_updated) + + +# Called when the pickable highlight changes +func _on_highlight_updated(_pickable, enable: bool) -> void: + # Set the materials + if _highlight_mesh_instance: + for i in range(0, _highlight_mesh_instance.get_surface_override_material_count()): + if enable: + _highlight_mesh_instance.set_surface_override_material(i, highlight_material) + else: + _highlight_mesh_instance.set_surface_override_material(i, _original_materials[i]) + + +# This method verifies the node +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify parent supports highlighting + var parent := get_parent() + if not parent or not parent.has_signal("highlight_updated"): + warnings.append("Parent does not support highlighting") + + return warnings diff --git a/addons/godot-xr-tools/objects/highlight/highlight_ring.gd b/addons/godot-xr-tools/objects/highlight/highlight_ring.gd new file mode 100644 index 0000000..cabd79c --- /dev/null +++ b/addons/godot-xr-tools/objects/highlight/highlight_ring.gd @@ -0,0 +1,35 @@ +@tool +class_name XRToolsHighlightRing +extends MeshInstance3D + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHighlightRing" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Turn off until requested + if not Engine.is_editor_hint(): + visible = false + + # Hook the highlight update + get_parent().connect("highlight_updated", _on_highlight_updated) + + +# Called when the pickable highlight changes +func _on_highlight_updated(_pickable, enable: bool) -> void: + visible = enable + + +# This method verifies the node +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify parent supports highlighting + var parent := get_parent() + if not parent or not parent.has_signal("highlight_updated"): + warnings.append("Parent does not support highlighting") + + return warnings diff --git a/addons/godot-xr-tools/objects/highlight/highlight_ring.tres b/addons/godot-xr-tools/objects/highlight/highlight_ring.tres new file mode 100644 index 0000000..ce16b22 --- /dev/null +++ b/addons/godot-xr-tools/objects/highlight/highlight_ring.tres @@ -0,0 +1,10 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=2] + +[ext_resource path="res://addons/godot-xr-tools/images/ring.png" type="Texture2D" id=1] + +[resource] +flags_transparent = true +flags_unshaded = true +flags_no_depth_test = true +params_billboard_mode = 1 +albedo_texture = ExtResource( 1 ) diff --git a/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn b/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn new file mode 100644 index 0000000..5f5b9e3 --- /dev/null +++ b/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 format=3 uid="uid://da2qgxxwwitl6"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.gd" id="1"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tres" id="2"] + +[sub_resource type="QuadMesh" id="1"] +size = Vector2(0.05, 0.05) + +[node name="HighlightRing" type="MeshInstance3D"] +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2") +script = ExtResource("1") diff --git a/addons/godot-xr-tools/objects/highlight/highlight_visible.gd b/addons/godot-xr-tools/objects/highlight/highlight_visible.gd new file mode 100644 index 0000000..b3f2755 --- /dev/null +++ b/addons/godot-xr-tools/objects/highlight/highlight_visible.gd @@ -0,0 +1,35 @@ +@tool +class_name XRToolsHighlightVisible +extends Node3D + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHighlightVisible" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Turn off until requested + if not Engine.is_editor_hint(): + visible = false + + # Hook the highlight update + get_parent().connect("highlight_updated", _on_highlight_updated) + + +# Called when the pickable highlight changes +func _on_highlight_updated(_pickable, enable: bool) -> void: + visible = enable + + +# This method verifies the node +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify parent supports highlighting + var parent := get_parent() + if not parent or not parent.has_signal("highlight_updated"): + warnings.append("Parent does not support highlighting") + + return warnings diff --git a/addons/godot-xr-tools/objects/interactable_area.gd b/addons/godot-xr-tools/objects/interactable_area.gd new file mode 100644 index 0000000..167cf22 --- /dev/null +++ b/addons/godot-xr-tools/objects/interactable_area.gd @@ -0,0 +1,12 @@ +@tool +class_name XRToolsInteractableArea +extends Area3D + + +## Signal when pointer event occurs on area +signal pointer_event(event) + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableArea" diff --git a/addons/godot-xr-tools/objects/interactable_body.gd b/addons/godot-xr-tools/objects/interactable_body.gd new file mode 100644 index 0000000..1202bf7 --- /dev/null +++ b/addons/godot-xr-tools/objects/interactable_body.gd @@ -0,0 +1,7 @@ +class_name XRToolsInteractableBody +extends Node3D +# This should extend from PhysicsBody3D but https://github.com/godotengine/godot/issues/46073 + + +## Signal when pointer event occurs on body +signal pointer_event(event) diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_key.gd b/addons/godot-xr-tools/objects/keyboard/virtual_key.gd new file mode 100644 index 0000000..70c5bd8 --- /dev/null +++ b/addons/godot-xr-tools/objects/keyboard/virtual_key.gd @@ -0,0 +1,150 @@ +@tool +class_name XRToolsVirtualKey +extends Node2D + + +## Key pressed event +signal pressed + +## Key released event +signal released + + +## Key location +@export var key_size := Vector2(32, 32) : set = _set_key_size + +## Key text +@export var key_text := "" : set = _set_key_text + +## Key normal color +@export var key_normal := Color(0.1, 0.1, 0.1) : set = _set_key_normal + +## Key highlight color +@export var key_highlight := Color(0.2, 0.2, 0.2) : set = _set_key_highlight + +## Text normal color +@export var text_normal := Color(1.0, 1.0, 1.0) : set = _set_text_normal + +## Text highlight color +@export var text_highlight := Color(0.0, 0.0, 0.0) : set = _set_text_highlight + +## Key highlighted +@export var highlighted := false : set = _set_highlighted + + +# TouchScreenButton node +var _button : TouchScreenButton + +# ColorRect node +var _color : ColorRect + +# Label node +var _label : Label + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Construct the ColorRect node + _color = ColorRect.new() + + # Construct the Label node + _label = Label.new() + _label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + _label.vertical_alignment = VERTICAL_ALIGNMENT_CENTER + + # Construct the TouchScreenButton node + _button = TouchScreenButton.new() + _button.shape = RectangleShape2D.new() + + # Attach the nodes + _color.add_child(_label) + _button.add_child(_color) + add_child(_button) + + # Handle button presses + _button.pressed.connect(_on_button_pressed) + _button.released.connect(_on_button_released) + + # Apply initial updates + _update_key_size() + _update_key_text() + _update_highlighted() + + +func _on_button_pressed() -> void: + pressed.emit() + + +func _on_button_released() -> void: + released.emit() + + +func _set_key_size(p_key_size : Vector2) -> void: + key_size = p_key_size + if is_inside_tree(): + _update_key_size() + + +func _set_key_text(p_key_text : String) -> void: + key_text = p_key_text + if is_inside_tree(): + _update_key_text() + + +func _set_key_normal(p_key_normal : Color) -> void: + key_normal = p_key_normal + if is_inside_tree(): + _update_highlighted() + + +func _set_key_highlight(p_key_highlight : Color) -> void: + key_highlight = p_key_highlight + if is_inside_tree(): + _update_highlighted() + + +func _set_text_normal(p_text_normal : Color) -> void: + text_normal = p_text_normal + if is_inside_tree(): + _update_highlighted() + + +func _set_text_highlight(p_text_highlight : Color) -> void: + text_highlight = p_text_highlight + if is_inside_tree(): + _update_highlighted() + + +func _set_highlighted(p_highlighted : bool) -> void: + highlighted = p_highlighted + if is_inside_tree(): + _update_highlighted() + + +func _update_key_size() -> void: + var half_size := key_size / 2 + + # Set the TouchScreenButton position and shape size + _button.position = half_size + _button.shape.size = key_size + + # Size and position the ColorRect + _color.size = key_size + _color.position = -half_size + + # Size the label + _label.size = key_size + + +func _update_key_text() -> void: + _label.text = key_text + + +func _update_highlighted() -> void: + # Pick colors + var key := key_highlight if highlighted else key_normal + var text := text_highlight if highlighted else text_normal + + # Set colors + _color.color = key + _label.add_theme_color_override("font_color", text) diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_key_char.gd b/addons/godot-xr-tools/objects/keyboard/virtual_key_char.gd new file mode 100644 index 0000000..38ec255 --- /dev/null +++ b/addons/godot-xr-tools/objects/keyboard/virtual_key_char.gd @@ -0,0 +1,45 @@ +@tool +class_name XRToolsVirtualKeyChar +extends XRToolsVirtualKey + + +## Godot scan-code text +@export var scan_code_text := "" + +## Unicode character +@export var unicode := 0 + +## Shift modifier +@export var shift_modifier := false + + +# Keyboard associated with this button +var _keyboard : XRToolsVirtualKeyboard2D + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Call the base + super() + + # Find the keyboard + _keyboard = XRTools.find_xr_ancestor( + self, + "*", + "XRToolsVirtualKeyboard2D") + + # Handle button presses + pressed.connect(_on_pressed) + released.connect(_on_released) + + +# Handler for button pressed +func _on_pressed() -> void: + highlighted = true + if _keyboard: + _keyboard.on_key_pressed(scan_code_text, unicode, shift_modifier) + + +# Handler for button released +func _on_released() -> void: + highlighted = false diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd new file mode 100644 index 0000000..a1d22fd --- /dev/null +++ b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd @@ -0,0 +1,102 @@ +@tool +class_name XRToolsVirtualKeyboard2D +extends CanvasLayer + + +## Enumeration of keyboard view modes +enum KeyboardMode { + LOWER_CASE, ## Lower-case keys mode + UPPER_CASE, ## Upper-case keys mode + ALTERNATE ## Alternate keys mode +} + + +# Shift button down +var _shift_down := false + +# Caps button down +var _caps_down := false + +# Alt button down +var _alt_down := false + +# Current keyboard mode +var _mode: int = KeyboardMode.LOWER_CASE + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsVirtualKeyboard2D" + + +# Handle key pressed from VirtualKey +func on_key_pressed(scan_code_text: String, unicode: int, shift: bool): + # Find the scan code + var scan_code := OS.find_keycode_from_string(scan_code_text) + + # Create the InputEventKey + var input := InputEventKey.new() + input.physical_keycode = scan_code + input.unicode = unicode if unicode else scan_code + input.pressed = true + input.keycode = scan_code + input.shift_pressed = shift + + # Dispatch the input event + Input.parse_input_event(input) + + # Pop any temporary shift key + if _shift_down: + _shift_down = false + _update_visible() + + +func _on_toggle_shift_pressed() -> void: + # Update toggle keys + _shift_down = not _shift_down + _caps_down = false + _alt_down = false + _update_visible() + + +func _on_toggle_caps_pressed() -> void: + # Update toggle keys + _caps_down = not _caps_down + _shift_down = false + _alt_down = false + _update_visible() + + +func _on_toggle_alt_pressed() -> void: + # Update toggle keys + _alt_down = not _alt_down + _shift_down = false + _caps_down = false + _update_visible() + + +# Update switching the visible case keys +func _update_visible() -> void: + # Ensure the control buttons are set correctly + $Background/Standard/ToggleShift.highlighted = _shift_down + $Background/Standard/ToggleCaps.highlighted = _caps_down + $Background/Standard/ToggleAlt.highlighted = _alt_down + + # Evaluate the new mode + var new_mode: int + if _alt_down: + new_mode = KeyboardMode.ALTERNATE + elif _shift_down or _caps_down: + new_mode = KeyboardMode.UPPER_CASE + else: + new_mode = KeyboardMode.LOWER_CASE + + # Skip if no change + if new_mode == _mode: + return + + # Update the visible mode + _mode = new_mode + $Background/LowerCase.visible = _mode == KeyboardMode.LOWER_CASE + $Background/UpperCase.visible = _mode == KeyboardMode.UPPER_CASE + $Background/Alternate.visible = _mode == KeyboardMode.ALTERNATE diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn new file mode 100644 index 0000000..5e478ba --- /dev/null +++ b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn @@ -0,0 +1,724 @@ +[gd_scene load_steps=4 format=3 uid="uid://lauwp8okd1vh"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/keyboard/virtual_key_char.gd" id="2_n0nlg"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/keyboard/virtual_key.gd" id="3_h05ve"] + +[node name="VirtualKeyboard2D" type="CanvasLayer"] +script = ExtResource("1") + +[node name="Background" type="ColorRect" parent="."] +offset_right = 400.0 +offset_bottom = 200.0 +color = Color(0.12549, 0.12549, 0.12549, 0.752941) + +[node name="Standard" type="Control" parent="Background"] +layout_mode = 1 +anchors_preset = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 394.0 +offset_bottom = 149.0 + +[node name="VirtualKey1" type="Node2D" parent="Background/Standard"] +script = ExtResource("2_n0nlg") +scan_code_text = "1" +unicode = 49 +key_text = "1" + +[node name="VirtualKey2" type="Node2D" parent="Background/Standard"] +position = Vector2(40, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "2" +unicode = 50 +key_text = "2" + +[node name="VirtualKey3" type="Node2D" parent="Background/Standard"] +position = Vector2(80, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "3" +unicode = 51 +key_text = "3" + +[node name="VirtualKey4" type="Node2D" parent="Background/Standard"] +position = Vector2(120, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "4" +unicode = 52 +key_text = "4" + +[node name="VirtualKey5" type="Node2D" parent="Background/Standard"] +position = Vector2(160, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "5" +unicode = 53 +key_text = "5" + +[node name="VirtualKey6" type="Node2D" parent="Background/Standard"] +position = Vector2(200, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "6" +unicode = 54 +key_text = "6" + +[node name="VirtualKey7" type="Node2D" parent="Background/Standard"] +position = Vector2(240, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "7" +unicode = 55 +key_text = "7" + +[node name="VirtualKey8" type="Node2D" parent="Background/Standard"] +position = Vector2(280, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "8" +unicode = 56 +key_text = "8" + +[node name="VirtualKey9" type="Node2D" parent="Background/Standard"] +position = Vector2(320, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "9" +unicode = 57 +key_text = "9" + +[node name="VirtualKey0" type="Node2D" parent="Background/Standard"] +position = Vector2(360, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "0" +unicode = 48 +key_text = "0" + +[node name="ToggleShift" type="Node2D" parent="Background/Standard"] +position = Vector2(0, 120) +script = ExtResource("3_h05ve") +key_size = Vector2(50, 32) +key_text = "SHIFT" +key_highlight = Color(1, 1, 1, 1) + +[node name="ToggleCaps" type="Node2D" parent="Background/Standard"] +position = Vector2(0, 160) +script = ExtResource("3_h05ve") +key_size = Vector2(45, 32) +key_text = "CAPS" +key_highlight = Color(1, 1, 1, 1) + +[node name="ToggleAlt" type="Node2D" parent="Background/Standard"] +position = Vector2(55, 160) +script = ExtResource("3_h05ve") +key_size = Vector2(35, 32) +key_text = "ALT" +key_highlight = Color(1, 1, 1, 1) + +[node name="VirtualKeyBackspace" type="Node2D" parent="Background/Standard"] +position = Vector2(340, 120) +script = ExtResource("2_n0nlg") +scan_code_text = "BackSpace" +key_size = Vector2(52, 32) +key_text = "BKSP" + +[node name="VirtualKeySpace" type="Node2D" parent="Background/Standard"] +position = Vector2(100, 160) +script = ExtResource("2_n0nlg") +scan_code_text = "Space" +unicode = 32 +key_size = Vector2(190, 32) +key_text = "Space" + +[node name="VirtualKeyPeriod" type="Node2D" parent="Background/Standard"] +position = Vector2(300, 160) +script = ExtResource("2_n0nlg") +scan_code_text = "Period" +unicode = 46 +key_text = "." + +[node name="VirtualKeyEnter" type="Node2D" parent="Background/Standard"] +position = Vector2(340, 160) +script = ExtResource("2_n0nlg") +scan_code_text = "Enter" +key_size = Vector2(52, 32) +key_text = "Enter" + +[node name="LowerCase" type="Node2D" parent="Background"] +position = Vector2(4, 44) + +[node name="VirtualKeyLowerQ" type="Node2D" parent="Background/LowerCase"] +script = ExtResource("2_n0nlg") +scan_code_text = "Q" +unicode = 113 +key_text = "q" + +[node name="VirtualKeyLowerW" type="Node2D" parent="Background/LowerCase"] +position = Vector2(40, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "W" +unicode = 119 +key_text = "w" + +[node name="VirtualKeyLowerE" type="Node2D" parent="Background/LowerCase"] +position = Vector2(80, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "E" +unicode = 101 +key_text = "e" + +[node name="VirtualKeyLowerR" type="Node2D" parent="Background/LowerCase"] +position = Vector2(120, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "R" +unicode = 114 +key_text = "r" + +[node name="VirtualKeyLowerT" type="Node2D" parent="Background/LowerCase"] +position = Vector2(160, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "T" +unicode = 116 +key_text = "t" + +[node name="VirtualKeyLowerY" type="Node2D" parent="Background/LowerCase"] +position = Vector2(200, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "Y" +unicode = 121 +key_text = "y" + +[node name="VirtualKeyLowerU" type="Node2D" parent="Background/LowerCase"] +position = Vector2(240, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "U" +unicode = 117 +key_text = "u" + +[node name="VirtualKeyLowerI" type="Node2D" parent="Background/LowerCase"] +position = Vector2(280, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "I" +unicode = 105 +key_text = "i" + +[node name="VirtualKeyLowerO" type="Node2D" parent="Background/LowerCase"] +position = Vector2(320, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "O" +unicode = 111 +key_text = "o" + +[node name="VirtualKeyLowerP" type="Node2D" parent="Background/LowerCase"] +position = Vector2(360, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "P" +unicode = 112 +key_text = "p" + +[node name="VirtualKeyLowerA" type="Node2D" parent="Background/LowerCase"] +position = Vector2(20, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "A" +unicode = 97 +key_text = "a" + +[node name="VirtualKeyLowerS" type="Node2D" parent="Background/LowerCase"] +position = Vector2(60, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "S" +unicode = 115 +key_text = "s" + +[node name="VirtualKeyLowerD" type="Node2D" parent="Background/LowerCase"] +position = Vector2(100, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "D" +unicode = 100 +key_text = "d" + +[node name="VirtualKeyLowerF" type="Node2D" parent="Background/LowerCase"] +position = Vector2(140, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "F" +unicode = 102 +key_text = "f" + +[node name="VirtualKeyLowerG" type="Node2D" parent="Background/LowerCase"] +position = Vector2(180, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "G" +unicode = 103 +key_text = "g" + +[node name="VirtualKeyLowerH" type="Node2D" parent="Background/LowerCase"] +position = Vector2(220, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "H" +unicode = 104 +key_text = "h" + +[node name="VirtualKeyLowerJ" type="Node2D" parent="Background/LowerCase"] +position = Vector2(260, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "J" +unicode = 106 +key_text = "j" + +[node name="VirtualKeyLowerK" type="Node2D" parent="Background/LowerCase"] +position = Vector2(300, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "K" +unicode = 107 +key_text = "k" + +[node name="VirtualKeyLowerL" type="Node2D" parent="Background/LowerCase"] +position = Vector2(340, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "L" +unicode = 108 +key_text = "l" + +[node name="VirtualKeyLowerZ" type="Node2D" parent="Background/LowerCase"] +position = Vector2(60, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "Z" +unicode = 122 +key_text = "z" + +[node name="VirtualKeyLowerX" type="Node2D" parent="Background/LowerCase"] +position = Vector2(100, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "X" +unicode = 120 +key_text = "x" + +[node name="VirtualKeyLowerC" type="Node2D" parent="Background/LowerCase"] +position = Vector2(140, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "C" +unicode = 99 +key_text = "c" + +[node name="VirtualKeyLowerV" type="Node2D" parent="Background/LowerCase"] +position = Vector2(180, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "V" +unicode = 118 +key_text = "v" + +[node name="VirtualKeyLowerB" type="Node2D" parent="Background/LowerCase"] +position = Vector2(220, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "B" +unicode = 98 +key_text = "b" + +[node name="VirtualKeyLowerN" type="Node2D" parent="Background/LowerCase"] +position = Vector2(260, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "N" +unicode = 110 +key_text = "n" + +[node name="VirtualKeyLowerM" type="Node2D" parent="Background/LowerCase"] +position = Vector2(300, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "M" +unicode = 109 +key_text = "m" + +[node name="UpperCase" type="Node2D" parent="Background"] +visible = false +position = Vector2(4, 44) + +[node name="VirtualKeyUpperQ" type="Node2D" parent="Background/UpperCase"] +script = ExtResource("2_n0nlg") +scan_code_text = "Q" +unicode = 81 +shift_modifier = true +key_text = "Q" + +[node name="VirtualKeyUpperW" type="Node2D" parent="Background/UpperCase"] +position = Vector2(40, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "W" +unicode = 87 +shift_modifier = true +key_text = "W" + +[node name="VirtualKeyUpperE" type="Node2D" parent="Background/UpperCase"] +position = Vector2(80, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "E" +unicode = 69 +shift_modifier = true +key_text = "E" + +[node name="VirtualKeyUpperR" type="Node2D" parent="Background/UpperCase"] +position = Vector2(120, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "R" +unicode = 82 +shift_modifier = true +key_text = "R" + +[node name="VirtualKeyUpperT" type="Node2D" parent="Background/UpperCase"] +position = Vector2(160, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "T" +unicode = 84 +shift_modifier = true +key_text = "T" + +[node name="VirtualKeyUpperY" type="Node2D" parent="Background/UpperCase"] +position = Vector2(200, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "Y" +unicode = 89 +shift_modifier = true +key_text = "Y" + +[node name="VirtualKeyUpperU" type="Node2D" parent="Background/UpperCase"] +position = Vector2(240, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "U" +unicode = 85 +shift_modifier = true +key_text = "U" + +[node name="VirtualKeyUpperI" type="Node2D" parent="Background/UpperCase"] +position = Vector2(280, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "I" +unicode = 73 +shift_modifier = true +key_text = "I" + +[node name="VirtualKeyUpperO" type="Node2D" parent="Background/UpperCase"] +position = Vector2(320, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "O" +unicode = 79 +shift_modifier = true +key_text = "O" + +[node name="VirtualKeyUpperP" type="Node2D" parent="Background/UpperCase"] +position = Vector2(360, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "P" +unicode = 80 +shift_modifier = true +key_text = "P" + +[node name="VirtualKeyUpperA" type="Node2D" parent="Background/UpperCase"] +position = Vector2(20, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "A" +unicode = 65 +shift_modifier = true +key_text = "A" + +[node name="VirtualKeyUpperS" type="Node2D" parent="Background/UpperCase"] +position = Vector2(60, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "S" +unicode = 83 +shift_modifier = true +key_text = "S" + +[node name="VirtualKeyUpperD" type="Node2D" parent="Background/UpperCase"] +position = Vector2(100, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "D" +unicode = 68 +shift_modifier = true +key_text = "D" + +[node name="VirtualKeyUpperF" type="Node2D" parent="Background/UpperCase"] +position = Vector2(140, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "F" +unicode = 70 +shift_modifier = true +key_text = "F" + +[node name="VirtualKeyUpperG" type="Node2D" parent="Background/UpperCase"] +position = Vector2(180, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "G" +unicode = 71 +shift_modifier = true +key_text = "G" + +[node name="VirtualKeyUpperH" type="Node2D" parent="Background/UpperCase"] +position = Vector2(220, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "H" +unicode = 72 +shift_modifier = true +key_text = "H" + +[node name="VirtualKeyUpperJ" type="Node2D" parent="Background/UpperCase"] +position = Vector2(260, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "J" +unicode = 74 +shift_modifier = true +key_text = "J" + +[node name="VirtualKeyUpperK" type="Node2D" parent="Background/UpperCase"] +position = Vector2(300, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "K" +unicode = 75 +shift_modifier = true +key_text = "K" + +[node name="VirtualKeyUpperL" type="Node2D" parent="Background/UpperCase"] +position = Vector2(340, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "L" +unicode = 76 +shift_modifier = true +key_text = "L" + +[node name="VirtualKeyUpperZ" type="Node2D" parent="Background/UpperCase"] +position = Vector2(60, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "Z" +unicode = 90 +shift_modifier = true +key_text = "Z" + +[node name="VirtualKeyUpperX" type="Node2D" parent="Background/UpperCase"] +position = Vector2(100, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "X" +unicode = 88 +shift_modifier = true +key_text = "X" + +[node name="VirtualKeyUpperC" type="Node2D" parent="Background/UpperCase"] +position = Vector2(140, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "C" +unicode = 67 +shift_modifier = true +key_text = "C" + +[node name="VirtualKeyUpperV" type="Node2D" parent="Background/UpperCase"] +position = Vector2(180, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "V" +unicode = 86 +shift_modifier = true +key_text = "V" + +[node name="VirtualKeyUpperB" type="Node2D" parent="Background/UpperCase"] +position = Vector2(220, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "B" +unicode = 66 +shift_modifier = true +key_text = "B" + +[node name="VirtualKeyUpperN" type="Node2D" parent="Background/UpperCase"] +position = Vector2(260, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "N" +unicode = 78 +shift_modifier = true +key_text = "N" + +[node name="VirtualKeyUpperM" type="Node2D" parent="Background/UpperCase"] +position = Vector2(300, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "M" +unicode = 77 +shift_modifier = true +key_text = "M" + +[node name="Alternate" type="Node2D" parent="Background"] +visible = false +position = Vector2(4, 44) + +[node name="VirtualKeyPlus" type="Node2D" parent="Background/Alternate"] +script = ExtResource("2_n0nlg") +scan_code_text = "Plus" +unicode = 43 +key_text = "+" + +[node name="VirtualKeyAsterisk" type="Node2D" parent="Background/Alternate"] +position = Vector2(40, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "Asterisk" +unicode = 42 +key_text = "*" + +[node name="VirtualKeyDivision" type="Node2D" parent="Background/Alternate"] +position = Vector2(80, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "Division" +unicode = 247 +key_text = "÷" + +[node name="VirtualKeyEqual" type="Node2D" parent="Background/Alternate"] +position = Vector2(120, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "Equal" +unicode = 61 +key_text = "=" + +[node name="VirtualKeySlash" type="Node2D" parent="Background/Alternate"] +position = Vector2(160, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "Slash" +unicode = 47 +key_text = "/" + +[node name="VirtualKeyUnderScore" type="Node2D" parent="Background/Alternate"] +position = Vector2(200, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "UnderScore" +unicode = 95 +key_text = "_" + +[node name="VirtualKeyLess" type="Node2D" parent="Background/Alternate"] +position = Vector2(240, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "Less" +unicode = 60 +key_text = "<" + +[node name="VirtualKeyGreater" type="Node2D" parent="Background/Alternate"] +position = Vector2(280, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "Greater" +unicode = 62 +key_text = ">" + +[node name="VirtualKeyBracketLeft" type="Node2D" parent="Background/Alternate"] +position = Vector2(320, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "BracketLeft" +unicode = 91 +key_text = "[" + +[node name="VirtualKeyBracketRight" type="Node2D" parent="Background/Alternate"] +position = Vector2(360, 0) +script = ExtResource("2_n0nlg") +scan_code_text = "BracketRight" +unicode = 93 +key_text = "]" + +[node name="VirtualKeyExclam" type="Node2D" parent="Background/Alternate"] +position = Vector2(20, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "Exclam" +unicode = 33 +key_text = "!" + +[node name="VirtualKeyAt" type="Node2D" parent="Background/Alternate"] +position = Vector2(60, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "At" +unicode = 64 +key_text = "@" + +[node name="VirtualKeyNumberSign" type="Node2D" parent="Background/Alternate"] +position = Vector2(100, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "NumberSign" +unicode = 35 +key_text = "#" + +[node name="VirtualKeyDollar" type="Node2D" parent="Background/Alternate"] +position = Vector2(140, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "Dollar" +unicode = 36 +key_text = "$" + +[node name="VirtualKeyPercent" type="Node2D" parent="Background/Alternate"] +position = Vector2(180, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "Percent" +unicode = 37 +key_text = "%" + +[node name="VirtualKeyCircumflex" type="Node2D" parent="Background/Alternate"] +position = Vector2(220, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "AsciiCircum" +unicode = 94 +key_text = "^" + +[node name="VirtualKeyAmpersand" type="Node2D" parent="Background/Alternate"] +position = Vector2(260, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "Ampersand" +unicode = 38 +key_text = "&" + +[node name="VirtualKeyParenLeft" type="Node2D" parent="Background/Alternate"] +position = Vector2(300, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "ParenLeft" +unicode = 40 +key_text = "(" + +[node name="VirtualKeyParenRight" type="Node2D" parent="Background/Alternate"] +position = Vector2(340, 40) +script = ExtResource("2_n0nlg") +scan_code_text = "ParenRight" +unicode = 41 +key_text = ")" + +[node name="VirtualKeyMinus" type="Node2D" parent="Background/Alternate"] +position = Vector2(60, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "Minus" +unicode = 45 +key_text = "-" + +[node name="VirtualKeyApostrophe" type="Node2D" parent="Background/Alternate"] +position = Vector2(100, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "Apostrophe" +unicode = 39 +key_text = "'" + +[node name="VirtualKeyQuoteDbl" type="Node2D" parent="Background/Alternate"] +position = Vector2(140, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "QuoteDbl" +unicode = 34 +key_text = "\"" + +[node name="VirtualKeyColon" type="Node2D" parent="Background/Alternate"] +position = Vector2(180, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "Colon" +unicode = 58 +key_text = ":" + +[node name="VirtualKeySemicolon" type="Node2D" parent="Background/Alternate"] +position = Vector2(220, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "Semicolon" +unicode = 59 +key_text = ";" + +[node name="VirtualKeyComma" type="Node2D" parent="Background/Alternate"] +position = Vector2(260, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "Comma" +unicode = 44 +key_text = "," + +[node name="VirtualKeyQuestion" type="Node2D" parent="Background/Alternate"] +position = Vector2(300, 80) +script = ExtResource("2_n0nlg") +scan_code_text = "Question" +unicode = 63 +key_text = "?" + +[connection signal="pressed" from="Background/Standard/ToggleShift" to="." method="_on_toggle_shift_pressed"] +[connection signal="pressed" from="Background/Standard/ToggleCaps" to="." method="_on_toggle_caps_pressed"] +[connection signal="pressed" from="Background/Standard/ToggleAlt" to="." method="_on_toggle_alt_pressed"] diff --git a/addons/godot-xr-tools/objects/pickable.gd b/addons/godot-xr-tools/objects/pickable.gd new file mode 100644 index 0000000..ff7423c --- /dev/null +++ b/addons/godot-xr-tools/objects/pickable.gd @@ -0,0 +1,474 @@ +@tool +class_name XRToolsPickable +extends RigidBody3D + + +## XR Tools Pickable Object +## +## This script allows a [RigidBody3D] to be picked up by an +## [XRToolsFunctionPickup] attached to a players controller. +## +## Additionally pickable objects may support being snapped into +## [XRToolsSnapZone] areas. +## +## Grab-points can be defined by adding different types of [XRToolsGrabPoint] +## child nodes controlling hand and snap-zone grab locations. + + +# Signal emitted when the user picks up this object +signal picked_up(pickable) + +# Signal emitted when the user drops this object +signal dropped(pickable) + +# Signal emitted when the user presses the action button while holding this object +signal action_pressed(pickable) + +# Signal emitted when the highlight state changes +signal highlight_updated(pickable, enable) + + +## Method used to hold object +enum HoldMethod { + REMOTE_TRANSFORM, ## Object is held via a remote transform + REPARENT, ## Object is held by reparenting +} + +## Method used to grab object at range +enum RangedMethod { + NONE, ## Ranged grab is not supported + SNAP, ## Object snaps to holder + LERP, ## Object lerps to holder +} + +## Current pickable object state +enum PickableState { + IDLE, ## Object not held + GRABBING_RANGED, ## Object being grabbed at range + HELD, ## Object held +} + +enum ReleaseMode { + ORIGINAL = -1, ## Preserve original mode when picked up + UNFROZEN = 0, ## Release and unfreeze + FROZEN = 1, ## Release and freeze +} + + +# Default layer for held objects is 17:held-object +const DEFAULT_LAYER := 0b0000_0000_0000_0001_0000_0000_0000_0000 + +## Priority for grip poses +const GRIP_POSE_PRIORITY = 100 + + +## If true, the pickable supports being picked up +@export var enabled : bool = true + +## If true, the grip control must be held to keep the object picked up +@export var press_to_hold : bool = true + +## Layer for this object while picked up +@export_flags_3d_physics var picked_up_layer = DEFAULT_LAYER + +## Method used to hold an object +@export var hold_method : HoldMethod = HoldMethod.REMOTE_TRANSFORM + +## Release mode to use when releasing the object +@export var release_mode : ReleaseMode = ReleaseMode.ORIGINAL + +## Method used to perform a ranged grab +@export var ranged_grab_method : RangedMethod = RangedMethod.SNAP: set = _set_ranged_grab_method + +## Speed for ranged grab +@export var ranged_grab_speed : float = 20.0 + +## Refuse pick-by when in the specified group +@export var picked_by_exclude : String = "" + +## Require pick-by to be in the specified group +@export var picked_by_require : String = "" + + +## If true, the object can be picked up at range +var can_ranged_grab: bool = true + +## Frozen state to restore to when dropped +var restore_freeze : bool = false + +## Entity holding this item +var picked_up_by: Node3D = null + +## Controller holding this item (may be null if held by snap-zone) +var by_controller : XRController3D = null + +## What node "holds" the object +var hold_node : Node3D = null + +## Hand holding this item (may be null if held by snap-zone) +var by_hand : XRToolsHand = null + +## Collision hand holding this item (may be null) +var by_collision_hand : XRToolsCollisionHand = null + +# Count of 'is_closest' grabbers +var _closest_count: int = 0 + +# Current state +var _state = PickableState.IDLE + +# Remote transform +var _remote_transform: RemoteTransform3D = null + +# Move-to node for performing remote grab +var _move_to: XRToolsMoveTo = null + +# Array of grab points +var _grab_points : Array = [] + +# Currently active grab-point +var _active_grab_point : XRToolsGrabPoint + +# Dictionary of nodes requesting highlight +var _highlight_requests : Dictionary = {} + +# Is this node highlighted +var _highlighted : bool = false + + +# Remember some state so we can return to it when the user drops the object +@onready var original_parent = get_parent() +@onready var original_collision_mask : int = collision_mask +@onready var original_collision_layer : int = collision_layer + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsPickable" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Get all grab points + for child in get_children(): + var grab_point := child as XRToolsGrabPoint + if grab_point: + _grab_points.push_back(grab_point) + + +# Test if this object can be picked up +func can_pick_up(_by: Node3D) -> bool: + return enabled and _state == PickableState.IDLE + + +# Test if this object is picked up +func is_picked_up(): + return _state == PickableState.HELD + + +# action is called when user presses the action button while holding this object +func action(): + # let interested parties know + emit_signal("action_pressed", self) + + +## This method requests highlighting of the [XRToolsPickable]. +## If [param from] is null then all highlighting requests are cleared, +## otherwise the highlight request is associated with the specified node. +func request_highlight(from : Node, on : bool = true) -> void: + # Save if we are highlighted + var old_highlighted := _highlighted + + # Update the highlight requests dictionary + if not from: + _highlight_requests.clear() + elif on: + _highlight_requests[from] = from + else: + _highlight_requests.erase(from) + + # Update the highlighted state + _highlighted = _highlight_requests.size() > 0 + + # Report any changes + if _highlighted != old_highlighted: + emit_signal("highlight_updated", self, _highlighted) + + +func drop_and_free(): + if picked_up_by: + picked_up_by.drop_object() + + queue_free() + + +# Called when this object is picked up +func pick_up(by: Node3D, with_controller: XRController3D) -> void: + # Skip if disabled or already picked up + if not enabled or _state != PickableState.IDLE: + return + + if picked_up_by: + let_go(Vector3.ZERO, Vector3.ZERO) + + # remember who picked us up + picked_up_by = by + by_controller = with_controller + hold_node = with_controller if with_controller else by + by_hand = XRToolsHand.find_instance(by_controller) + by_collision_hand = XRToolsCollisionHand.find_instance(by_controller) + _active_grab_point = _get_grab_point(by) + + # If we have been picked up by a hand then apply the hand-pose-override + # from the grab-point. + if by_hand and _active_grab_point: + var grab_point_hand := _active_grab_point as XRToolsGrabPointHand + if grab_point_hand and grab_point_hand.hand_pose: + by_hand.add_pose_override(self, GRIP_POSE_PRIORITY, grab_point_hand.hand_pose) + + # If we have been picked up by a collision hand then add collision + # exceptions to prevent the hand and pickable colliding. + if by_collision_hand: + add_collision_exception_with(by_collision_hand) + by_collision_hand.add_collision_exception_with(self) + + # Remember the mode before pickup + match release_mode: + ReleaseMode.UNFROZEN: + restore_freeze = false + + ReleaseMode.FROZEN: + restore_freeze = true + + _: + restore_freeze = freeze + + # turn off physics on our pickable object + freeze = true + collision_layer = picked_up_layer + collision_mask = 0 + + if by.picked_up_ranged: + if ranged_grab_method == RangedMethod.LERP: + _start_ranged_grab() + else: + _do_snap_grab() + elif _active_grab_point: + _do_snap_grab() + else: + _do_precise_grab() + + +# Called when this object is dropped +func let_go(p_linear_velocity: Vector3, p_angular_velocity: Vector3) -> void: + # Skip if idle + if _state == PickableState.IDLE: + return + + # If held then detach from holder + if _state == PickableState.HELD: + match hold_method: + HoldMethod.REPARENT: + var original_transform = global_transform + picked_up_by.remove_child(self) + original_parent.add_child(self) + global_transform = original_transform + + HoldMethod.REMOTE_TRANSFORM: + _remote_transform.remote_path = NodePath() + _remote_transform.queue_free() + _remote_transform = null + + # Restore RigidBody mode + freeze = restore_freeze + collision_mask = original_collision_mask + collision_layer = original_collision_layer + + # Set velocity + linear_velocity = p_linear_velocity + angular_velocity = p_angular_velocity + + # If we are held by a hand then remove any hand-pose-override we may have + # given it. + if by_hand: + by_hand.remove_pose_override(self) + + # If we are held by a cillision hand then remove any collision exceptions + # we may have added. + if by_collision_hand: + remove_collision_exception_with(by_collision_hand) + by_collision_hand.remove_collision_exception_with(self) + + # we are no longer picked up + _state = PickableState.IDLE + picked_up_by = null + by_controller = null + by_hand = null + by_collision_hand = null + hold_node = null + + # Stop any XRToolsMoveTo being used for remote grabbing + if _move_to: + _move_to.stop() + _move_to.queue_free() + _move_to = null + + # let interested parties know + emit_signal("dropped", self) + + +## Get the controller currently holding this object +func get_picked_up_by_controller() -> XRController3D: + return by_controller + + +## Get the hand currently holding this object +func get_picked_up_by_hand() -> XRToolsHand: + return by_hand + + +## Get the active grab-point this object is held by +func get_active_grab_point() -> XRToolsGrabPoint: + return _active_grab_point + + +## Switch the active grab-point for this object +func switch_active_grab_point(grab_point : XRToolsGrabPoint): + # Verify switching from one grab point to another + if not _active_grab_point or not grab_point or _state != PickableState.HELD: + return + + # Set the new active grab-point + _active_grab_point = grab_point + + # Update the hold transform + match hold_method: + HoldMethod.REMOTE_TRANSFORM: + # Update the remote transform + _remote_transform.transform = _active_grab_point.transform.inverse() + + HoldMethod.REPARENT: + # Update our transform + transform = _active_grab_point.global_transform.inverse() * global_transform + + # Update the pose + if by_hand and _active_grab_point: + var grab_point_hand := _active_grab_point as XRToolsGrabPointHand + if grab_point_hand and grab_point_hand.hand_pose: + by_hand.add_pose_override(self, GRIP_POSE_PRIORITY, grab_point_hand.hand_pose) + else: + by_hand.remove_pose_override(self) + + +func _start_ranged_grab() -> void: + # Set state to grabbing at range and enable processing + _state = PickableState.GRABBING_RANGED + + # Calculate the transform offset + var offset : Transform3D + if _active_grab_point: + offset = _active_grab_point.transform.inverse() + else: + offset = Transform3D.IDENTITY + + # Create a XRToolsMoveTo to perform the remote-grab. The remote grab will move + # us to the pickup object at the ranged-grab speed, and also takes into account + # the center-pickup position + _move_to = XRToolsMoveTo.new() + _move_to.start(self, hold_node, offset, ranged_grab_speed) + _move_to.move_complete.connect(_ranged_grab_complete) + self.add_child(_move_to) + + +func _ranged_grab_complete() -> void: + # Discard the XRToolsMoveTo performing the remote-grab + _move_to.queue_free() + _move_to = null + + # Perform the snap grab + _do_snap_grab() + + +func _do_snap_grab() -> void: + # Set state to held + _state = PickableState.HELD + + # Perform the hold + match hold_method: + HoldMethod.REMOTE_TRANSFORM: + # Calculate the snap transform for remote-transforming + var snap_transform: Transform3D + if _active_grab_point: + snap_transform = _active_grab_point.transform.inverse() + else: + snap_transform = Transform3D.IDENTITY + + # Construct the remote transform + _remote_transform = RemoteTransform3D.new() + _remote_transform.set_name("PickupRemoteTransform") + hold_node.add_child(_remote_transform) + _remote_transform.transform = snap_transform + _remote_transform.remote_path = _remote_transform.get_path_to(self) + + HoldMethod.REPARENT: + # Calculate the snap transform for reparenting + var snap_transform: Transform3D + if _active_grab_point: + snap_transform = _active_grab_point.global_transform.inverse() * global_transform + else: + snap_transform = Transform3D.IDENTITY + + # Reparent to the holder with snap transform + original_parent.remove_child(self) + hold_node.add_child(self) + transform = snap_transform + + # Emit the picked up signal + emit_signal("picked_up", self) + + +func _do_precise_grab() -> void: + # Set state to held + _state = PickableState.HELD + + # Reparent to the holder + match hold_method: + HoldMethod.REMOTE_TRANSFORM: + # Calculate the precise transform for remote-transforming + var precise_transform = hold_node.global_transform.inverse() * global_transform + + # Construct the remote transform + _remote_transform = RemoteTransform3D.new() + _remote_transform.set_name("PickupRemoteTransform") + hold_node.add_child(_remote_transform) + _remote_transform.transform = hold_node.global_transform.inverse() * global_transform + _remote_transform.remote_path = _remote_transform.get_path_to(self) + + HoldMethod.REPARENT: + # Calculate the precise transform for reparenting + var precise_transform = global_transform + + # Reparent to the holder with precise transform + original_parent.remove_child(self) + hold_node.add_child(self) + global_transform = precise_transform + + # Emit the picked up signal + emit_signal("picked_up", self) + + +## Find the first grab-point for the grabber +func _get_grab_point(_grabber : Node) -> XRToolsGrabPoint: + # Iterate over all grab points + for g in _grab_points: + var grab_point : XRToolsGrabPoint = g + if grab_point.can_grab(_grabber): + return grab_point + + # No suitable grab-point found + return null + + +func _set_ranged_grab_method(new_value: int) -> void: + ranged_grab_method = new_value + can_ranged_grab = new_value != RangedMethod.NONE diff --git a/addons/godot-xr-tools/objects/pickable.tscn b/addons/godot-xr-tools/objects/pickable.tscn new file mode 100644 index 0000000..6f34320 --- /dev/null +++ b/addons/godot-xr-tools/objects/pickable.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=3 uid="uid://c8l60rnugru40"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/pickable.gd" id="1"] + +[node name="PickableObject" type="RigidBody3D"] +collision_layer = 4 +collision_mask = 196615 +freeze_mode = 1 +script = ExtResource("1") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] diff --git a/addons/godot-xr-tools/objects/return_to_snap_zone.gd b/addons/godot-xr-tools/objects/return_to_snap_zone.gd new file mode 100644 index 0000000..b708d55 --- /dev/null +++ b/addons/godot-xr-tools/objects/return_to_snap_zone.gd @@ -0,0 +1,107 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsReturnToSnapZone +extends Node + + +## XR Tools Return to Snap Zone +## +## This node can be added to an XRToolsPickable to make it return to a specified +## snap-zone when the object is dropped. + + +## Snap zone path +@export var snap_zone_path : NodePath + +## Return delay +@export var return_delay : float = 1.0 + + +# Pickable object to control +var _pickable : XRToolsPickable + +# Snap zone to return to +var _snap_zone : XRToolsSnapZone + +# Return counter +var _return_counter : float = 0.0 + +# Is the pickable held +var _held := false + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsReturnToSnapZone" + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + # Get the pickable (parent of this node) + _pickable = get_parent() as XRToolsPickable + if _pickable: + _pickable.picked_up.connect(_on_picked_up) + _pickable.dropped.connect(_on_dropped) + + # Get the optional snap-zone + _snap_zone = get_node_or_null(snap_zone_path) + if not _snap_zone: + set_process(false) + + +# Handle the return counter +func _process(delta : float) -> void: + # Update return time and skip if still waiting + _return_counter += delta + if _return_counter < return_delay: + return + + # Stop counting + set_process(false) + + # If the snap-zone is empty then snap to it + if not _snap_zone.has_snapped_object(): + _snap_zone.pick_up_object(_pickable) + + +# Set the snap-zone +func set_snap_zone(snap_zone : XRToolsSnapZone) -> void: + # Set the snap zone + _snap_zone = snap_zone + _return_counter = 0.0 + + # Control counting + if _snap_zone and not _held: + set_process(true) + else: + set_process(false) + + +# Handle the object being picked up +func _on_picked_up(_pickable) -> void: + # Set held and stop counting + _held = true + set_process(false) + + +# Handle the object being dropped +func _on_dropped(_pickable) -> void: + # Clear held and reset counter + _held = false + _return_counter = 0.0 + + # Start counter if snap-zone specified + if _snap_zone: + set_process(true) + + +# This method verifies the pose area has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify this node is a child of a pickable + if not get_parent() is XRToolsPickable: + warnings.append("Must be a child of a pickable") + + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/objects/snap_zone.gd b/addons/godot-xr-tools/objects/snap_zone.gd new file mode 100644 index 0000000..dcce610 --- /dev/null +++ b/addons/godot-xr-tools/objects/snap_zone.gd @@ -0,0 +1,321 @@ +@tool +class_name XRToolsSnapZone +extends Area3D + + +## Signal emitted when the snap-zone picks something up +signal has_picked_up(what) + +## Signal emitted when the snap-zone drops something +signal has_dropped + +# Signal emitted when the highlight state changes +signal highlight_updated(pickable, enable) + +# Signal emitted when the highlight state changes +signal close_highlight_updated(pickable, enable) + + +## Enumeration of snap mode +enum SnapMode { + DROPPED, ## Snap only when the object is dropped + RANGE, ## Snap whenever an object is in range +} + + +## Enable or disable snap-zone +@export var enabled : bool = true: set = _set_enabled + +## Optional audio stream to play when a object snaps to the zone +@export var stash_sound : AudioStream + +## Grab distance +@export var grab_distance : float = 0.3: set = _set_grab_distance + +## Snap mode +@export var snap_mode : SnapMode = SnapMode.DROPPED: set = _set_snap_mode + +## Require snap items to be in specified group +@export var snap_require : String = "" + +## Deny snapping items in the specified group +@export var snap_exclude : String = "" + +## Require grab-by to be in the specified group +@export var grab_require : String = "" + +## Deny grab-by +@export var grab_exclude : String= "" + +## Initial object in snap zone +@export var initial_object : NodePath + + +# Public fields +var closest_object : Node3D = null +var picked_up_object : Node3D = null +var picked_up_ranged : bool = true + + +# Private fields +var _object_in_grab_area = Array() + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsSnapZone" + + +func _ready(): + # Set collision shape radius + $CollisionShape3D.shape.radius = grab_distance + + # Perform updates + _update_snap_mode() + + # Perform the initial object check when next idle + if not Engine.is_editor_hint(): + _initial_object_check.call_deferred() + + +# Called on each frame to update the pickup +func _process(_delta): + # Skip if in editor or not enabled + if Engine.is_editor_hint() or not enabled: + return + + # Skip if we aren't doing range-checking + if snap_mode != SnapMode.RANGE: + return + + # Skip if already holding a valid object + if is_instance_valid(picked_up_object): + return + + # Check for any object in range that can be grabbed + for o in _object_in_grab_area: + # skip objects that can not be picked up + if not o.can_pick_up(self): + continue + + # pick up our target + pick_up_object(o) + return + + +# Pickable Method: snap-zone can be grabbed if holding object +func can_pick_up(by: Node3D) -> bool: + # Refuse if not enabled + if not enabled: + return false + + # Refuse if no object is held + if not is_instance_valid(picked_up_object): + return false + + # Refuse if the grab-by is not in the required group + if not grab_require.is_empty() and not by.is_in_group(grab_require): + return false + + # Refuse if the grab-by is in the excluded group + if not grab_exclude.is_empty() and by.is_in_group(grab_exclude): + return false + + # Grab is permitted + return true + + +# Pickable Method: Snap points can't be picked up +func is_picked_up() -> bool: + return false + + +# Pickable Method: Gripper-actions can't occur on snap zones +func action(): + pass + + +# Ignore highlighting requests from XRToolsFunctionPickup +func request_highlight(from : Node, on : bool = true) -> void: + if picked_up_object: + picked_up_object.request_highlight(from, on) + + +# Pickable Method: Object being grabbed from this snap zone +func pick_up(_by: Node3D, _with_controller: XRController3D) -> void: + pass + + +# Pickable Method: Player never graps snap-zone +func let_go(_p_linear_velocity: Vector3, _p_angular_velocity: Vector3) -> void: + pass + + +# Pickup Method: Drop the currently picked up object +func drop_object() -> void: + if not is_instance_valid(picked_up_object): + return + + # let go of this object + picked_up_object.let_go(Vector3.ZERO, Vector3.ZERO) + picked_up_object = null + has_dropped.emit() + highlight_updated.emit(self, enabled) + + +# Check for an initial object pickup +func _initial_object_check() -> void: + # Check for an initial object + if initial_object: + # Force pick-up the initial object + pick_up_object(get_node(initial_object)) + else: + # Show highlight when empty and enabled + highlight_updated.emit(self, enabled) + + +# Called when a body enters the snap zone +func _on_snap_zone_body_entered(target: Node3D) -> void: + # Ignore objects already known about + if _object_in_grab_area.find(target) >= 0: + return + + # Reject objects which don't support picking up + if not target.has_method('pick_up'): + return + + # Reject objects not in the required snap group + if not snap_require.is_empty() and not target.is_in_group(snap_require): + return + + # Reject objects in the excluded snap group + if not snap_exclude.is_empty() and target.is_in_group(snap_exclude): + return + + # Reject climbable objects + if target is XRToolsClimbable: + return + + # Add to the list of objects in grab area + _object_in_grab_area.push_back(target) + + # If this snap zone is configured to snap objects that are dropped, then + # start listening for the objects dropped signal + if snap_mode == SnapMode.DROPPED and target.has_signal("dropped"): + target.connect("dropped", _on_target_dropped, CONNECT_DEFERRED) + + # Show highlight when something could be snapped + if not is_instance_valid(picked_up_object): + close_highlight_updated.emit(self, enabled) + + +# Called when a body leaves the snap zone +func _on_snap_zone_body_exited(target: Node3D) -> void: + # Ensure the object is not in our list + _object_in_grab_area.erase(target) + + # Stop listening for dropped signals + if target.has_signal("dropped") and target.is_connected("dropped", _on_target_dropped): + target.disconnect("dropped", _on_target_dropped) + + # Hide highlight when nothing could be snapped + if _object_in_grab_area.is_empty(): + close_highlight_updated.emit(self, false) + + +# Test if this snap zone has a picked up object +func has_snapped_object() -> bool: + return is_instance_valid(picked_up_object) + + +# Pick up the specified object +func pick_up_object(target: Node3D) -> void: + # check if already holding an object + if is_instance_valid(picked_up_object): + # skip if holding the target object + if picked_up_object == target: + return + # holding something else? drop it + drop_object() + + # skip if target null or freed + if not is_instance_valid(target): + return + + # Pick up our target. Note, target may do instant drop_and_free + picked_up_object = target + var player = get_node("AudioStreamPlayer3D") + if is_instance_valid(player): + if player.playing: + player.stop() + player.stream = stash_sound + player.play() + + target.pick_up(self, null) + + # If object picked up then emit signal + if is_instance_valid(picked_up_object): + has_picked_up.emit(picked_up_object) + highlight_updated.emit(self, false) + + +# Called when the enabled property has been modified +func _set_enabled(p_enabled: bool) -> void: + enabled = p_enabled + if is_inside_tree: + highlight_updated.emit( + self, + enabled and not is_instance_valid(picked_up_object)) + + +# Called when the grab distance has been modified +func _set_grab_distance(new_value: float) -> void: + grab_distance = new_value + if is_inside_tree() and $CollisionShape3D: + $CollisionShape3D.shape.radius = grab_distance + + +# Called when the snap mode property has been modified +func _set_snap_mode(new_value: SnapMode) -> void: + snap_mode = new_value + if is_inside_tree(): + _update_snap_mode() + + +# Handle changes to the snap mode +func _update_snap_mode() -> void: + match snap_mode: + SnapMode.DROPPED: + # Disable _process as we aren't using RANGE pickups + set_process(false) + + # Start monitoring all objects in range for drop + for o in _object_in_grab_area: + o.connect("dropped", _on_target_dropped, CONNECT_DEFERRED) + + SnapMode.RANGE: + # Enable _process to scan for RANGE pickups + set_process(true) + + # Clear any dropped signal hooks + for o in _object_in_grab_area: + o.disconnect("dropped", _on_target_dropped) + + +# Called when a target in our grab area is dropped +func _on_target_dropped(target: Node3D) -> void: + # Skip if not enabled + if not enabled: + return + + # Skip if already holding a valid object + if is_instance_valid(picked_up_object): + return + + # Skip if the target is not valid + if not is_instance_valid(target): + return + + # Pick up the target if we can + if target.can_pick_up(self): + pick_up_object(target) diff --git a/addons/godot-xr-tools/objects/snap_zone.tscn b/addons/godot-xr-tools/objects/snap_zone.tscn new file mode 100644 index 0000000..1348462 --- /dev/null +++ b/addons/godot-xr-tools/objects/snap_zone.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=3 format=3 uid="uid://ce7vysyvondf8"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="1"] + +[sub_resource type="SphereShape3D" id="1"] +resource_local_to_scene = true +radius = 0.1 + +[node name="SnapZone" type="Area3D"] +collision_layer = 4 +collision_mask = 65540 +script = ExtResource("1") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("1") + +[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] +unit_size = 3.0 +max_db = 1.0 +max_distance = 100.0 + +[connection signal="body_entered" from="." to="." method="_on_snap_zone_body_entered"] +[connection signal="body_exited" from="." to="." method="_on_snap_zone_body_exited"] diff --git a/addons/godot-xr-tools/objects/teleport_area.gd b/addons/godot-xr-tools/objects/teleport_area.gd new file mode 100644 index 0000000..8932f9d --- /dev/null +++ b/addons/godot-xr-tools/objects/teleport_area.gd @@ -0,0 +1,29 @@ +@tool +class_name XRToolsTeleportArea +extends Area3D + + +## Target node +@export var target : Node3D + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsTeleportArea" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Handle body entered + body_entered.connect(_on_body_entered) + + +# Handle body entering area +func _on_body_entered(body : Node3D) -> void: + # Test if the body is the player + var player_body := body as XRToolsPlayerBody + if not player_body: + return + + # Teleport the player + player_body.teleport(target.global_transform) diff --git a/addons/godot-xr-tools/objects/teleport_area.tscn b/addons/godot-xr-tools/objects/teleport_area.tscn new file mode 100644 index 0000000..4297c4d --- /dev/null +++ b/addons/godot-xr-tools/objects/teleport_area.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://dpy1eg3i331se"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/teleport_area.gd" id="1_0awk1"] + +[node name="TeleportArea" type="Area3D"] +collision_layer = 0 +collision_mask = 524288 +script = ExtResource("1_0awk1") diff --git a/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd b/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd new file mode 100644 index 0000000..6386cab --- /dev/null +++ b/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd @@ -0,0 +1,489 @@ +@tool +extends Node3D + + +## XR ToolsViewport 2D in 3D +## +## This script manages a 2D scene rendered as a texture on a 3D quad. +## +## Pointer and keyboard input are mapped into the 2D scene. + + +## Signal for pointer events +signal pointer_event(event) + + +## Transparent property +enum TransparancyMode { + OPAQUE, ## Render opaque + TRANSPARENT, ## Render transparent + SCISSOR, ## Render using alpha-scissor +} + +## Viewport Update Mode +enum UpdateMode { + UPDATE_ONCE, ## Update once (redraw triggered if set again to UPDATE_ONCE) + UPDATE_ALWAYS, ## Update on every frame + UPDATE_THROTTLED, ## Update at throttled rate +} + + +# The following dirty flags are private (leading _) to suppress them in the +# generated documentation. Unfortunately gdlint complaints on private constants +# (see https://github.com/Scony/godot-gdscript-toolkit/issues/223). Until this +# is fixed we suppress the rule. +# gdlint: disable=constant-name + +# State dirty flags +const _DIRTY_NONE := 0x0000 # Everything up to date +const _DIRTY_MATERIAL := 0x0001 # Material needs update +const _DIRTY_SCENE := 0x0002 # Scene needs update +const _DIRTY_SIZE := 0x0004 # Viewport size needs update +const _DIRTY_ALBEDO := 0x0008 # Albedo texture needs update +const _DIRTY_UPDATE := 0x0010 # Update mode needs update +const _DIRTY_TRANSPARENCY := 0x0020 # Transparency needs update +const _DIRTY_ALPHA_SCISSOR := 0x0040 # Alpha scissor needs update +const _DIRTY_UNSHADED := 0x0080 # Shade mode needs update +const _DIRTY_FILTERED := 0x0100 # Filter mode needs update +const _DIRTY_SURFACE := 0x0200 # Surface material needs update +const _DIRTY_REDRAW := 0x0400 # Redraw required +const _DIRTY_ALL := 0x07FF # All dirty + +# Default layer of 1:static-world, 21:pointable, 23:ui-objects +const DEFAULT_LAYER := 0b0000_0000_0101_0000_0000_0000_0000_0001 + + +# Physics property group +@export_group("Physics") + +## Physical screen size property +@export var screen_size : Vector2 = Vector2(3.0, 2.0): set = set_screen_size + +## Viewport collision enabled property +@export var enabled : bool = true: set = set_enabled + +## Collision layer +@export_flags_3d_physics var collision_layer : int = DEFAULT_LAYER: set = set_collision_layer + +# Content property group +@export_group("Content") + +## Scene property +@export var scene : PackedScene: set = set_scene + +## Viewport size property +@export var viewport_size : Vector2 = Vector2(300.0, 200.0): set = set_viewport_size + +## Update Mode property +@export var update_mode : UpdateMode = UpdateMode.UPDATE_ALWAYS: set = set_update_mode + +## Update throttle property +@export var throttle_fps : float = 30.0 + +# Rendering property group +@export_group("Rendering") + +## Custom material template +@export var material : StandardMaterial3D = null: set = set_material + +## Transparent property +@export var transparent : TransparancyMode = TransparancyMode.TRANSPARENT: set = set_transparent + +## Alpha Scissor Threshold property (ignored when custom material provided) +var alpha_scissor_threshold : float = 0.25: set = set_alpha_scissor_threshold + +## Unshaded flag (ignored when custom material provided) +var unshaded : bool = false: set = set_unshaded + +## Filtering flag (ignored when custom material provided) +var filter : bool = true: set = set_filter + + +var is_ready : bool = false +var scene_node : Node +var viewport_texture : ViewportTexture +var time_since_last_update : float = 0.0 +var _screen_material : StandardMaterial3D +var _dirty := _DIRTY_ALL + + +# Called when the node enters the scene tree for the first time. +func _ready(): + is_ready = true + + # Listen for pointer events on the screen body + $StaticBody3D.connect("pointer_event", _on_pointer_event) + + # Apply physics properties + _update_screen_size() + _update_enabled() + _update_collision_layer() + + # Update the render objects + _update_render() + + +# Provide custom property information +func _get_property_list() -> Array[Dictionary]: + # Select visibility of properties + var show_alpha_scissor := not material and transparent == TransparancyMode.SCISSOR + var show_unshaded := not material + var show_filter := not material + + # Return extra properties + return [ + { + name = "Rendering", + type = TYPE_NIL, + usage = PROPERTY_USAGE_GROUP + }, + { + name = "alpha_scissor_threshold", + type = TYPE_FLOAT, + usage = PROPERTY_USAGE_DEFAULT if show_alpha_scissor else PROPERTY_USAGE_NO_EDITOR, + hint = PROPERTY_HINT_RANGE, + hint_string = "0.0,1.0" + }, + { + name = "unshaded", + type = TYPE_BOOL, + usage = PROPERTY_USAGE_DEFAULT if show_unshaded else PROPERTY_USAGE_NO_EDITOR + }, + { + name = "filter", + type = TYPE_BOOL, + usage = PROPERTY_USAGE_DEFAULT if show_filter else PROPERTY_USAGE_NO_EDITOR + } + ] + + +# Allow revert of custom properties +func _property_can_revert(property : StringName) -> bool: + match property: + "alpha_scissor_threshold": + return true + "unshaded": + return true + "filter": + return true + _: + return false + + +# Provide revert values for custom properties +func _property_get_revert(property : StringName): # Variant + match property: + "alpha_scissor_threshold": + return 0.25 + "unshaded": + return false + "filter": + return true + + +## Get the 2D scene instance +func get_scene_instance() -> Node: + return scene_node + + +## Connect a 2D scene signal +func connect_scene_signal(which : String, callback : Callable, flags : int = 0): + if scene_node: + scene_node.connect(which, callback, flags) + + +# Handle pointer event from screen-body +func _on_pointer_event(event : XRToolsPointerEvent) -> void: + pointer_event.emit(event) + + +# Handler for input eventsd +func _input(event): + $Viewport.push_input(event) + + +# Process event +func _process(delta): + # Process screen refreshing + if Engine.is_editor_hint(): + # Perform periodic material refreshes to handle the user modifying the + # material properties in the editor + time_since_last_update += delta + if time_since_last_update > 1.0: + time_since_last_update = 0.0 + # Trigger material refresh + _dirty = _DIRTY_MATERIAL + _update_render() + elif update_mode == UpdateMode.UPDATE_THROTTLED: + # Perform throttled updates of the viewport + var frame_time = 1.0 / throttle_fps + time_since_last_update += delta + if time_since_last_update > frame_time: + time_since_last_update = 0.0 + # Trigger update + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE + else: + # This is no longer needed + set_process(false) + + +## Set screen size property +func set_screen_size(new_size: Vector2) -> void: + screen_size = new_size + if is_ready: + _update_screen_size() + + +## Set enabled property +func set_enabled(is_enabled: bool) -> void: + enabled = is_enabled + if is_ready: + _update_enabled() + + +## Set collision layer property +func set_collision_layer(new_layer: int) -> void: + collision_layer = new_layer + if is_ready: + _update_collision_layer() + + +## Set scene property +func set_scene(new_scene: PackedScene) -> void: + scene = new_scene + _dirty |= _DIRTY_SCENE + if is_ready: + _update_render() + + +## Set viewport size property +func set_viewport_size(new_size: Vector2) -> void: + viewport_size = new_size + _dirty |= _DIRTY_SIZE + if is_ready: + _update_render() + + +## Set update mode property +func set_update_mode(new_update_mode: UpdateMode) -> void: + update_mode = new_update_mode + _dirty |= _DIRTY_UPDATE + if is_ready: + _update_render() + + +## Set material property +func set_material(new_material: StandardMaterial3D) -> void: + material = new_material + notify_property_list_changed() + _dirty |= _DIRTY_MATERIAL + if is_ready: + _update_render() + + +## Set transparent property +func set_transparent(new_transparent: TransparancyMode) -> void: + transparent = new_transparent + notify_property_list_changed() + _dirty |= _DIRTY_TRANSPARENCY + if is_ready: + _update_render() + + +## Set the alpha scisser threshold +func set_alpha_scissor_threshold(new_threshold: float) -> void: + alpha_scissor_threshold = new_threshold + _dirty |= _DIRTY_ALPHA_SCISSOR + if is_ready: + _update_render() + + +## Set the unshaded property +func set_unshaded(new_unshaded : bool) -> void: + unshaded = new_unshaded + _dirty |= _DIRTY_UNSHADED + if is_ready: + _update_render() + + +## Set filter property +func set_filter(new_filter: bool) -> void: + filter = new_filter + _dirty |= _DIRTY_FILTERED + if is_ready: + _update_render() + + +# Screen size update handler +func _update_screen_size() -> void: + $Screen.mesh.size = screen_size + $StaticBody3D.screen_size = screen_size + $StaticBody3D/CollisionShape3D.shape.extents = Vector3( + screen_size.x * 0.5, + screen_size.y * 0.5, + 0.01) + + +# Enabled update handler +func _update_enabled() -> void: + if Engine.is_editor_hint(): + return + + $StaticBody3D/CollisionShape3D.disabled = !enabled + + +# Collision layer update handler +func _update_collision_layer() -> void: + $StaticBody3D.collision_layer = collision_layer + + +# This complex function processes the render dirty flags and performs the +# minimal number of updates to get the render objects into the correct state. +func _update_render() -> void: + # Handle material change + if _dirty & _DIRTY_MATERIAL: + _dirty &= ~_DIRTY_MATERIAL + + # Construct the new screen material + if material: + # Copy custom material + _screen_material = material.duplicate() + else: + # Create new local material + _screen_material = StandardMaterial3D.new() + + # Disable culling + _screen_material.params_cull_mode = StandardMaterial3D.CULL_DISABLED + + # Ensure local material is configured + _dirty |= _DIRTY_TRANSPARENCY | \ + _DIRTY_ALPHA_SCISSOR | \ + _DIRTY_UNSHADED | \ + _DIRTY_FILTERED + + # Ensure new material renders viewport onto surface + _dirty |= _DIRTY_ALBEDO | _DIRTY_SURFACE + + # If we have no screen material then skip everything else + if not _screen_material: + return + + # Handle scene change + if _dirty & _DIRTY_SCENE: + _dirty &= ~_DIRTY_SCENE + + # Out with the old + if is_instance_valid(scene_node): + $Viewport.remove_child(scene_node) + scene_node.queue_free() + + # In with the new + if scene: + # Instantiate provided scene + scene_node = scene.instantiate() + $Viewport.add_child(scene_node) + elif $Viewport.get_child_count() == 1: + # Use already-provided scene + scene_node = $Viewport.get_child(0) + + # Ensure the new scene is rendered at least once + _dirty |= _DIRTY_REDRAW + + # Handle viewport size change + if _dirty & _DIRTY_SIZE: + _dirty &= ~_DIRTY_SIZE + + # Set the viewport size + $Viewport.size = viewport_size + $StaticBody3D.viewport_size = viewport_size + + # Update our viewport texture, it will have changed + _dirty |= _DIRTY_ALBEDO + + # Handle albedo change: + if _dirty & _DIRTY_ALBEDO: + _dirty &= ~_DIRTY_ALBEDO + + # Set the screen material to use the viewport for the albedo channel + viewport_texture = $Viewport.get_texture() + _screen_material.albedo_texture = viewport_texture + + # Handle update mode change + if _dirty & _DIRTY_UPDATE: + _dirty &= ~_DIRTY_UPDATE + + # Apply update rules + if Engine.is_editor_hint(): + # Update once. Process function used for editor refreshes + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE + set_process(true) + elif update_mode == UpdateMode.UPDATE_ONCE: + # Update once. Process function not used + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE + set_process(false) + elif update_mode == UpdateMode.UPDATE_ALWAYS: + # Update always. Process function not used + $Viewport.render_target_update_mode = SubViewport.UPDATE_ALWAYS + set_process(false) + elif update_mode == UpdateMode.UPDATE_THROTTLED: + # Update once. Process function triggers periodic refresh + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE + set_process(true) + + # Handle transparency update + if _dirty & _DIRTY_TRANSPARENCY: + _dirty &= ~_DIRTY_TRANSPARENCY + + # If using a temporary material then update transparency + if _screen_material and not material: + _screen_material.flags_transparent = transparent != TransparancyMode.OPAQUE + _screen_material.params_use_alpha_scissor = transparent == TransparancyMode.SCISSOR + + # Set the viewport background transparency mode and force a redraw + $Viewport.transparent_bg = transparent != TransparancyMode.OPAQUE + _dirty |= _DIRTY_REDRAW + + # Handle alpha scissor update + if _dirty & _DIRTY_ALPHA_SCISSOR: + _dirty &= ~_DIRTY_ALPHA_SCISSOR + + # If using a temporary material with alpha-scissor then update + if _screen_material and not material and transparent == TransparancyMode.SCISSOR: + _screen_material.params_alpha_scissor_threshold = alpha_scissor_threshold + + # Handle unshaded update + if _dirty & _DIRTY_UNSHADED: + _dirty &= ~_DIRTY_UNSHADED + + # If using a temporary material then update the shading mode and force a redraw + if _screen_material and not material: + _screen_material.shading_mode = ( + BaseMaterial3D.SHADING_MODE_UNSHADED if unshaded else + BaseMaterial3D.SHADING_MODE_PER_PIXEL) + #_dirty |= _DIRTY_REDRAW + + # Handle filter update + if _dirty & _DIRTY_FILTERED: + _dirty &= ~_DIRTY_FILTERED + + # If using a temporary material then update the filter mode and force a redraw + if _screen_material and not material: + _screen_material.texture_filter = ( + BaseMaterial3D.TEXTURE_FILTER_LINEAR if filter else + BaseMaterial3D.TEXTURE_FILTER_NEAREST) + #_dirty |= _DIRTY_REDRAW + + # Handle surface material update + if _dirty & _DIRTY_SURFACE: + _dirty &= ~_DIRTY_SURFACE + + # Set the screen to render using the new screen material + $Screen.set_surface_override_material(0, _screen_material) + + # Handle forced redraw of the viewport + if _dirty & _DIRTY_REDRAW: + _dirty &= ~_DIRTY_REDRAW + + # Force a redraw of the viewport + if Engine.is_editor_hint() or update_mode == UpdateMode.UPDATE_ONCE: + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE diff --git a/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn b/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn new file mode 100644 index 0000000..cf0531c --- /dev/null +++ b/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=7 format=3 uid="uid://clujaf3u776a3"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.gd" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd" id="2"] + +[sub_resource type="QuadMesh" id="1"] +resource_local_to_scene = true +size = Vector2(3, 2) + +[sub_resource type="ViewportTexture" id="ViewportTexture_ufe4n"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fvml0"] +transparency = 1 +cull_mode = 2 +albedo_texture = SubResource("ViewportTexture_ufe4n") +texture_filter = 1 + +[sub_resource type="BoxShape3D" id="4"] +resource_local_to_scene = true +size = Vector3(3, 2, 0.02) + +[node name="Viewport2Din3D" type="Node3D"] +script = ExtResource("1") +alpha_scissor_threshold = 0.25 +unshaded = false +filter = true + +[node name="Viewport" type="SubViewport" parent="."] +disable_3d = true +transparent_bg = true +gui_embed_subwindows = true +size = Vector2i(300, 200) +render_target_update_mode = 1 + +[node name="Screen" type="MeshInstance3D" parent="."] +mesh = SubResource("1") +surface_material_override/0 = SubResource("StandardMaterial3D_fvml0") + +[node name="StaticBody3D" type="StaticBody3D" parent="."] +collision_layer = 5242881 +collision_mask = 0 +script = ExtResource("2") +viewport_size = Vector2(300, 200) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.01) +shape = SubResource("4") diff --git a/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd b/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd new file mode 100644 index 0000000..c41a0ab --- /dev/null +++ b/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd @@ -0,0 +1,217 @@ +extends XRToolsInteractableBody + + +## Screen size +@export var screen_size = Vector2(3.0, 2.0) + +## Viewport size +@export var viewport_size = Vector2(100.0, 100.0) + + +# Current mouse mask +var _mouse_mask := 0 + +# Viewport node +var _viewport : Viewport + +# Dictionary of pointers to touch-index +var _touches := {} + +# Dictionary of pressed pointers +var _presses := {} + +# Dominant pointer (index == 0) +var _dominant : Node3D + +# Mouse pointer +var _mouse : Node3D + +# Last mouse position +var _mouse_last := Vector2.ZERO + + +func _ready(): + # Get viewport node + _viewport = get_node("../Viewport") + + # Subscribe to pointer events + pointer_event.connect(_on_pointer_event) + + +## Convert intersection point to screen coordinate +func global_to_viewport(p_at : Vector3) -> Vector2: + var t = $CollisionShape3D.global_transform + var at = t.affine_inverse() * p_at + + # Convert to screen space + at.x = ((at.x / screen_size.x) + 0.5) * viewport_size.x + at.y = (0.5 - (at.y / screen_size.y)) * viewport_size.y + + return Vector2(at.x, at.y) + + +# Pointer event handler +func _on_pointer_event(event : XRToolsPointerEvent) -> void: + # Ignore if we have no viewport + if not is_instance_valid(_viewport): + return + + # Get the pointer and event type + var pointer := event.pointer + var type := event.event_type + + # Get the touch-index [0..] + var index : int = _touches.get(pointer, -1) + + # Create a new touch-index if necessary + if index < 0 or type == XRToolsPointerEvent.Type.ENTERED: + # Clear any stale pointer information + _touches.erase(pointer) + _presses.erase(pointer) + + # Assign a new touch-index for the pointer + index = _next_touch_index() + _touches[pointer] = index + + # Detect dominant pointer + if index == 0: + _dominant = pointer + + # Get the viewport positions + var at := global_to_viewport(event.position) + var last := global_to_viewport(event.last_position) + + # Get/update pressed state + var pressed : bool + match type: + XRToolsPointerEvent.Type.PRESSED: + _presses[pointer] = true + pressed = true + + XRToolsPointerEvent.Type.RELEASED: + _presses.erase(pointer) + pressed = false + + _: + pressed = _presses.has(pointer) + + # Dispatch touch events + match type: + XRToolsPointerEvent.Type.PRESSED: + _report_touch_down(index, at) + + XRToolsPointerEvent.Type.RELEASED: + _report_touch_up(index, at) + + XRToolsPointerEvent.Type.MOVED: + _report_touch_move(index, pressed, last, at) + + # If the current mouse isn't pressed then consider switching to a new one + if not _presses.has(_mouse): + if type == XRToolsPointerEvent.Type.PRESSED and pointer is XRToolsFunctionPointer: + # Switch to pressed laser-pointer + _mouse = pointer + elif type == XRToolsPointerEvent.Type.EXITED and pointer == _mouse: + # Current mouse leaving, switch to dominant + _mouse = _dominant + elif not _mouse and _dominant: + # No mouse, pick the dominant + _mouse = _dominant + + # Fire mouse events + if pointer == _mouse: + match type: + XRToolsPointerEvent.Type.PRESSED: + _report_mouse_down(at) + + XRToolsPointerEvent.Type.RELEASED: + _report_mouse_up( at) + + XRToolsPointerEvent.Type.MOVED: + _report_mouse_move(pressed, last, at) + + # Clear pointer information on exit + if type == XRToolsPointerEvent.Type.EXITED: + # Clear pointer information + _touches.erase(pointer) + _presses.erase(pointer) + if pointer == _dominant: + _dominant = null + if pointer == _mouse: + _mouse = null + + +# Report touch-down event +func _report_touch_down(index : int, at : Vector2) -> void: + var event := InputEventScreenTouch.new() + event.index = index + event.position = at + event.pressed = true + _viewport.push_input(event) + + +# Report touch-up event +func _report_touch_up(index : int, at : Vector2) -> void: + var event := InputEventScreenTouch.new() + event.index = index + event.position = at + event.pressed = false + _viewport.push_input(event) + + +# Report touch-move event +func _report_touch_move(index : int, pressed : bool, from : Vector2, to : Vector2) -> void: + var event := InputEventScreenDrag.new() + event.index = index + event.position = to + event.pressure = 1.0 if pressed else 0.0 + event.relative = to - from + _viewport.push_input(event) + + +# Report mouse-down event +func _report_mouse_down(at : Vector2) -> void: + var event := InputEventMouseButton.new() + event.button_index = 1 + event.pressed = true + event.position = at + event.global_position = at + event.button_mask = 1 + _viewport.push_input(event) + + +# Report mouse-up event +func _report_mouse_up(at : Vector2) -> void: + var event := InputEventMouseButton.new() + event.button_index = 1 + event.pressed = false + event.position = at + event.global_position = at + event.button_mask = 0 + _viewport.push_input(event) + + +# Report mouse-move event +func _report_mouse_move(pressed : bool, from : Vector2, to : Vector2) -> void: + var event := InputEventMouseMotion.new() + event.position = to + event.global_position = to + event.relative = to - from + event.button_mask = 1 if pressed else 0 + event.pressure = 1.0 if pressed else 0.0 + _viewport.push_input(event) + + +# Find the next free touch index +func _next_touch_index() -> int: + # Get the current touches + var current := _touches.values() + current.sort() + + # Look for a hole + for touch in current.size(): + if current[touch] != touch: + return touch + + # No hole so add to end + return current.size() diff --git a/addons/godot-xr-tools/objects/virtual_keyboard.tscn b/addons/godot-xr-tools/objects/virtual_keyboard.tscn new file mode 100644 index 0000000..c986458 --- /dev/null +++ b/addons/godot-xr-tools/objects/virtual_keyboard.tscn @@ -0,0 +1,44 @@ +[gd_scene load_steps=7 format=3 uid="uid://dgdb1texynduw"] + +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://lauwp8okd1vh" path="res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn" id="2"] + +[sub_resource type="QuadMesh" id="QuadMesh_iets3"] +resource_local_to_scene = true +size = Vector2(1.5, 0.75) + +[sub_resource type="ViewportTexture" id="ViewportTexture_ncnoj"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kjc12"] +cull_mode = 2 +shading_mode = 0 +albedo_texture = SubResource("ViewportTexture_ncnoj") +texture_filter = 1 + +[sub_resource type="BoxShape3D" id="BoxShape3D_twvoe"] +resource_local_to_scene = true +size = Vector3(1.5, 0.75, 0.02) + +[node name="VirtualKeyboard" instance=ExtResource("1")] +screen_size = Vector2(1.5, 0.75) +scene = ExtResource("2") +viewport_size = Vector2(400, 200) +update_mode = 2 +throttle_fps = 15.0 +transparent = 0 +unshaded = true + +[node name="Viewport" parent="." index="0"] +transparent_bg = false +size = Vector2i(400, 200) + +[node name="Screen" parent="." index="1"] +mesh = SubResource("QuadMesh_iets3") +surface_material_override/0 = SubResource("StandardMaterial3D_kjc12") + +[node name="StaticBody3D" parent="." index="2"] +screen_size = Vector2(1.5, 0.75) +viewport_size = Vector2(400, 200) + +[node name="CollisionShape3D" parent="StaticBody3D" index="0"] +shape = SubResource("BoxShape3D_twvoe") diff --git a/addons/godot-xr-tools/objects/wind_area.gd b/addons/godot-xr-tools/objects/wind_area.gd new file mode 100644 index 0000000..536ac70 --- /dev/null +++ b/addons/godot-xr-tools/objects/wind_area.gd @@ -0,0 +1,14 @@ +@tool +class_name XRToolsWindArea +extends Area3D + +## Vector (direction and magnitude) of wind in this area +@export var wind_vector : Vector3 = Vector3.ZERO + +## Wind drag factor +@export var drag : float = 1.0 + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsWindArea" diff --git a/addons/godot-xr-tools/objects/wind_area.tscn b/addons/godot-xr-tools/objects/wind_area.tscn new file mode 100644 index 0000000..0e8d911 --- /dev/null +++ b/addons/godot-xr-tools/objects/wind_area.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=3 uid="uid://nack1qite6lx"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/wind_area.gd" id="1"] + +[node name="WindArea" type="Area3D"] +collision_layer = 524288 +collision_mask = 0 +monitoring = false +script = ExtResource("1") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] diff --git a/addons/godot-xr-tools/overrides/ground_physics.gd b/addons/godot-xr-tools/overrides/ground_physics.gd new file mode 100644 index 0000000..55b0308 --- /dev/null +++ b/addons/godot-xr-tools/overrides/ground_physics.gd @@ -0,0 +1,41 @@ +@tool +class_name XRToolsGroundPhysics +extends Node + + +## XR Tools Ground Physics Data +## +## This script override the default ground physics settings of the +## [XRToolsPlayerBody] when they are standing on a specific type of ground. +## +## In order to override the ground physics properties, the user must add a +## ground physics node to the object the player would stand on, then +## enable the appropriate flags and provide new values. + + +## XRToolsGroundPhysicsSettings to apply +@export var physics : XRToolsGroundPhysicsSettings + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsGroundPhysics" + + +# This method verifies the ground physics has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify physics specified + if !physics: + warnings.append("Physics must be specified") + elif !physics is XRToolsGroundPhysicsSettings: + warnings.append("Physics must be an XRToolsGroundPhysicsSettings") + + return warnings + +# Get the physics from a ground physics node +static func get_physics( + node: XRToolsGroundPhysics, + default: XRToolsGroundPhysicsSettings) -> XRToolsGroundPhysicsSettings: + return node.physics as XRToolsGroundPhysicsSettings if node else default diff --git a/addons/godot-xr-tools/overrides/ground_physics.tscn b/addons/godot-xr-tools/overrides/ground_physics.tscn new file mode 100644 index 0000000..53439a5 --- /dev/null +++ b/addons/godot-xr-tools/overrides/ground_physics.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://ohmfk2ly8312"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/overrides/ground_physics.gd" id="1"] + +[node name="GroundPhysics" type="Node"] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/overrides/ground_physics_settings.gd b/addons/godot-xr-tools/overrides/ground_physics_settings.gd new file mode 100644 index 0000000..3009138 --- /dev/null +++ b/addons/godot-xr-tools/overrides/ground_physics_settings.gd @@ -0,0 +1,151 @@ +@tool +class_name XRToolsGroundPhysicsSettings +extends Resource + +## Enumeration flags for which ground physics properties are enabled +enum GroundPhysicsFlags { + ## If set, this move drag value overrides the default + MOVE_DRAG = 0b00000001, + + ## If set, this move traction value overrides the default + MOVE_TRACTION = 0b00000010, + + ## If set, this move maximum slope value overrides the default + MOVE_MAX_SLOPE = 0b00000100, + + ## If set, this jump maximum slope value overrides the default + JUMP_MAX_SLOP = 0b00001000, + + ## If set, this jump velocity value overrides the default + JUMP_VELOCITY = 0b00010000, + + ## If set, this bounciness value overrides the default + BOUNCINESS = 0b00100000, + + ## If set, this bounce threshold value overrides the default + BOUNCE_THRESHOLD = 0b01000000, +} + +## Flags defining which ground velocities are enabled +@export_flags("Move Drag", + "Move Traction", + "Move Max Slope", + "Jump Max Slope", + "Jump Velocity", + "Bounciness", + "Bounce Threshold") var flags : int = 0 + +## Movement drag factor +@export var move_drag : float = 5.0 + +## Movement traction factor +@export var move_traction : float = 30.0 + +## Stop sliding on slope +@export var stop_on_slope : bool = true + +## Movement maximum slope +@export_range(0.0, 85.0) var move_max_slope : float = 45.0 + +## Jump maximum slope +@export_range(0.0, 85.0) var jump_max_slope : float = 45.0 + +## Jump velocity +@export var jump_velocity : float = 3.0 + +## Ground bounciness (0 = no bounce, 1 = full bounciness) +@export var bounciness : float = 0.0 + +## Bounce threshold (skip bounce if velocity less than threshold) +@export var bounce_threshold : float = 1.0 + + +# Handle class initialization with default parameters +func _init( + p_flags = 0, + p_move_drag = 5.0, + p_move_traction = 30.0, + p_move_max_slope = 45.0, + p_jump_max_slope = 45.0, + p_jump_velocity = 3.0, + p_bounciness = 0.0, + p_bounce_threshold = 1.0): + # Save the parameters + flags = p_flags + move_drag = p_move_drag + move_traction = p_move_traction + move_max_slope = p_move_max_slope + jump_max_slope = p_jump_max_slope + jump_velocity = p_jump_velocity + bounciness = p_bounciness + bounce_threshold = p_bounce_threshold + + +## Get the effective move drag value +static func get_move_drag( + override: XRToolsGroundPhysicsSettings, + default: XRToolsGroundPhysicsSettings) -> float: + if override and override.flags & GroundPhysicsFlags.MOVE_DRAG: + return override.move_drag + + return default.move_drag + + +## Get the effective move traction value +static func get_move_traction( + override: XRToolsGroundPhysicsSettings, + default: XRToolsGroundPhysicsSettings) -> float: + if override and override.flags & GroundPhysicsFlags.MOVE_TRACTION: + return override.move_traction + + return default.move_traction + + +## Get the effective move maximum slope value +static func get_move_max_slope( + override: XRToolsGroundPhysicsSettings, + default: XRToolsGroundPhysicsSettings) -> float: + if override and override.flags & GroundPhysicsFlags.MOVE_MAX_SLOPE: + return override.move_max_slope + + return default.move_max_slope + + +## Get the effective jump maximum slope value +static func get_jump_max_slope( + override: XRToolsGroundPhysicsSettings, + default: XRToolsGroundPhysicsSettings) -> float: + if override and override.flags & GroundPhysicsFlags.JUMP_MAX_SLOP: + return override.jump_max_slope + + return default.jump_max_slope + + +## Get the effective jump velocity value +static func get_jump_velocity( + override: XRToolsGroundPhysicsSettings, + default: XRToolsGroundPhysicsSettings) -> float: + if override and override.flags & GroundPhysicsFlags.JUMP_VELOCITY: + return override.jump_velocity + + return default.jump_velocity + + +## Get the effective bounciness value +static func get_bounciness( + override: XRToolsGroundPhysicsSettings, + default: XRToolsGroundPhysicsSettings) -> float: + if override and override.flags & GroundPhysicsFlags.BOUNCINESS: + return override.bounciness + + return default.bounciness + + +## Get the effective bounce threshold value +static func get_bounce_threshold( + override: XRToolsGroundPhysicsSettings, + default: XRToolsGroundPhysicsSettings) -> float: + if override and override.flags & GroundPhysicsFlags.BOUNCE_THRESHOLD: + return override.bounce_threshold + + return default.bounce_threshold diff --git a/addons/godot-xr-tools/player/player_body.gd b/addons/godot-xr-tools/player/player_body.gd new file mode 100644 index 0000000..9efb51d --- /dev/null +++ b/addons/godot-xr-tools/player/player_body.gd @@ -0,0 +1,734 @@ +@tool +@icon("res://addons/godot-xr-tools/editor/icons/body.svg") +class_name XRToolsPlayerBody +extends CharacterBody3D + + +## XR Tools Player Physics Body Script +## +## This node provides the player with a physics body. The body is a +## [CapsuleShape3D] which tracks the player location as measured by the +## [XRCamera3D] for the players head. +## +## The player body can detect when the player is in the air, on the ground, +## or on a steep slope. +## +## Player movement is achieved by a number of movement providers attached to +## either the player or their controllers. +## +## After the player body moves, the [XROrigin3D] is updated as necessary to +## track the players movement. + + +## Signal emitted when the player jumps +signal player_jumped() + +## Signal emitted when the player teleports +signal player_teleported() + +## Signal emitted when the player bounces +signal player_bounced(collider, magnitude) + + +## Enumeration indicating when ground control can be used +enum GroundControl { + ON_GROUND, ## Apply ground control only when on ground + NEAR_GROUND, ## Apply ground control when near ground + ALWAYS ## Apply ground control always +} + + +## Ground distance considered "on" the ground +const ON_GROUND_DISTANCE := 0.1 + +## Ground distance considered "near" the ground +const NEAR_GROUND_DISTANCE := 1.0 + + +## If true, the player body performs physics processing and movement +@export var enabled : bool = true: set = set_enabled + +@export_group("Player setup") + +## Automatically calibrate player body on next frame +@export var player_calibrate_height : bool = true + +## Radius of the player body collider +@export var player_radius : float = 0.2: set = set_player_radius + +## Player head height (distance between between camera and top of head) +@export var player_head_height : float = 0.1 + +## Minimum player height +@export var player_height_min : float = 0.6 + +## Maximum player height +@export var player_height_max : float = 2.5 + +## Eyes forward offset from center of body in player_radius units +@export_range(0.0, 1.0) var eye_forward_offset : float = 0.5 + +## Mix factor for body orientation +@export_range(0.0, 1.0) var body_forward_mix : float = 0.75 + +@export_group("Collisions") + +## Lets the player push rigid bodies +@export var push_rigid_bodies : bool = true + +## If push_rigid_bodies is enabled, provides a strength factor for the impulse +@export var push_strength_factor : float = 1.0 + +@export_group("Physics") + +## Default ground physics settings +@export var physics : XRToolsGroundPhysicsSettings: set = set_physics + +## Option for specifying when ground control is allowed +@export var ground_control : GroundControl = GroundControl.ON_GROUND + + +## Player 3D Velocity - modified by [XRToolsMovementProvider] nodes +#var velocity : Vector3 = Vector3.ZERO + +## Current player gravity +var gravity : Vector3 = Vector3.ZERO + +## Set true when the player is on the ground +var on_ground : bool = true + +## Set true when the player is near the ground +var near_ground : bool = true + +## Normal vector for the ground under the player +var ground_vector : Vector3 = Vector3.UP + +## Ground slope angle +var ground_angle : float = 0.0 + +## Ground node the player is touching +var ground_node : Node3D = null + +## Ground physics override (if present) +var ground_physics : XRToolsGroundPhysicsSettings = null + +## Ground control velocity - modifiable by [XRToolsMovementProvider] nodes +var ground_control_velocity : Vector2 = Vector2.ZERO + +## Player height offset - used for height calibration +var player_height_offset : float = 0.0 + +## Velocity of the ground under the players feet +var ground_velocity : Vector3 = Vector3.ZERO + +## Gravity-based "up" direction +var up_gravity := Vector3.UP + +## Player-based "up" direction +var up_player := Vector3.UP + +# Array of [XRToolsMovementProvider] nodes for the player +var _movement_providers := Array() + +# Jump cool-down counter +var _jump_cooldown := 0 + +# Player height overrides +var _player_height_overrides := { } + +# Player height override (enabled when non-negative) +var _player_height_override : float = -1.0 + +# Previous ground node +var _previous_ground_node : Node3D = null + +# Previous ground local position +var _previous_ground_local : Vector3 = Vector3.ZERO + +# Previous ground global position +var _previous_ground_global : Vector3 = Vector3.ZERO + +# Player body Collision node +var _collision_node : CollisionShape3D + + +## XROrigin3D node +@onready var origin_node : XROrigin3D = XRHelpers.get_xr_origin(self) + +## XRCamera3D node +@onready var camera_node : XRCamera3D = XRHelpers.get_xr_camera(self) + +## Left hand XRController3D node +@onready var left_hand_node : XRController3D = XRHelpers.get_left_controller(self) + +## Right hand XRController3D node +@onready var right_hand_node : XRController3D = XRHelpers.get_right_controller(self) + +## Default physics (if not specified by the user or the current ground) +@onready var default_physics = _guaranteed_physics() + + +## Function to sort movement providers by order +func sort_by_order(a, b) -> bool: + return true if a.order < b.order else false + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsPlayerBody" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Set as toplevel means our PlayerBody is positioned in global space. + # It is not moved when its parent moves. + set_as_top_level(true) + + # Create our collision shape, height will be updated later + var capsule = CapsuleShape3D.new() + capsule.radius = player_radius + capsule.height = 1.4 + _collision_node = CollisionShape3D.new() + _collision_node.shape = capsule + _collision_node.transform.origin = Vector3(0.0, 0.8, 0.0) + add_child(_collision_node) + + # Get the movement providers ordered by increasing order + _movement_providers = get_tree().get_nodes_in_group("movement_providers") + _movement_providers.sort_custom(sort_by_order) + + # Propagate defaults + _update_enabled() + _update_player_radius() + + +func set_enabled(new_value) -> void: + enabled = new_value + if is_inside_tree(): + _update_enabled() + +func _update_enabled() -> void: + # Update collision_shape + if _collision_node: + _collision_node.disabled = !enabled + + # Update physics processing + if enabled: + set_physics_process(true) + +func set_player_radius(new_value: float) -> void: + player_radius = new_value + if is_inside_tree(): + _update_player_radius() + +func _update_player_radius() -> void: + if _collision_node and _collision_node.shape: + _collision_node.shape.radius = player_radius + +func set_physics(new_value: XRToolsGroundPhysicsSettings) -> void: + # Save the property + physics = new_value + default_physics = _guaranteed_physics() + +func _physics_process(delta: float): + # Do not run physics if in the editor + if Engine.is_editor_hint(): + return + + # If disabled then turn of physics processing and bail out + if !enabled: + set_physics_process(false) + return + + # Decrement the jump cool-down on each physics update + if _jump_cooldown: + _jump_cooldown -= 1 + + # Calculate the players "up" direction and plane + up_player = origin_node.global_transform.basis.y + + # Determine environmental gravity + var gravity_state := PhysicsServer3D.body_get_direct_state(get_rid()) + gravity = gravity_state.total_gravity + + # Update the kinematic body to be under the camera + _update_body_under_camera() + + # Allow the movement providers a chance to perform pre-movement updates. The providers can: + # - Adjust the gravity direction + for p in _movement_providers: + if p.enabled: + p.physics_pre_movement(delta, self) + + # Determine the gravity "up" direction and plane + if gravity.is_equal_approx(Vector3.ZERO): + # Gravity too weak - use player + up_gravity = up_player + else: + # Use gravity direction + up_gravity = -gravity.normalized() + + # Update the ground information + _update_ground_information(delta) + + # Get the player body location before movement occurs + var position_before_movement := global_transform.origin + + # Run the movement providers in order. The providers can: + # - Move the kinematic node around (to move the player) + # - Rotate the XROrigin3D around the camera (to rotate the player) + # - Read and modify the player velocity + # - Read and modify the ground-control velocity + # - Perform exclusive updating of the player (bypassing other movement providers) + # - Request a jump + # - Modify gravity direction + ground_control_velocity = Vector2.ZERO + var exclusive := false + for p in _movement_providers: + if p.is_active or (p.enabled and not exclusive): + if p.physics_movement(delta, self, exclusive): + exclusive = true + + # If no controller has performed an exclusive-update then apply gravity and + # perform any ground-control + if !exclusive: + if on_ground and ground_physics.stop_on_slope and ground_angle < ground_physics.move_max_slope: + # Apply gravity towards slope to prevent sliding + velocity += -ground_vector * gravity.length() * delta + else: + # Apply gravity + velocity += gravity * delta + _apply_velocity_and_control(delta) + + # Apply the player-body movement to the XR origin + var movement := global_transform.origin - position_before_movement + origin_node.global_transform.origin += movement + + # Orient the player towards (potentially modified) gravity + slew_up(-gravity.normalized(), 5.0 * delta) + + +## Teleport the player body +func teleport(target : Transform3D) -> void: + # Get the player-to-origin transform + var player_to_origin = global_transform.inverse() * origin_node.global_transform + + # Set the player + global_transform = target + + # Set the origin + origin_node.global_transform = target * player_to_origin + + # Report the player teleported + player_teleported.emit() + + +## Request a jump +func request_jump(skip_jump_velocity := false): + # Skip if cooling down from a previous jump + if _jump_cooldown: + return; + + # Skip if not on ground + if !on_ground: + return + + # Skip if jump disabled on this ground + var jump_velocity := XRToolsGroundPhysicsSettings.get_jump_velocity( + ground_physics, default_physics) + if jump_velocity == 0.0: + return + + # Skip if the ground is too steep to jump + var max_slope := XRToolsGroundPhysicsSettings.get_jump_max_slope( + ground_physics, default_physics) + if ground_angle > max_slope: + return + + # Perform the jump + if !skip_jump_velocity: + velocity += ground_vector * jump_velocity * XRServer.world_scale + + # Report the jump + emit_signal("player_jumped") + _jump_cooldown = 4 + +## This method moves the players body using the provided velocity. Movement +## providers may use this function if they are exclusively driving the player. +func move_body(p_velocity: Vector3) -> Vector3: + velocity = p_velocity + max_slides = 4 + up_direction = ground_vector + + move_and_slide() + + # Check if we collided with rigid bodies and apply impulses to them to move them out of the way + if push_rigid_bodies: + for idx in range(get_slide_collision_count()): + var with = get_slide_collision(idx) + var obj = with.get_collider() + + if obj.is_class("RigidBody3D"): + var rb : RigidBody3D = obj + + # Get our relative impact velocity + var impact_velocity = p_velocity - rb.linear_velocity + + # Determine the strength of the impulse we're about to give + var strength = impact_velocity.dot(-with.get_normal(0)) * push_strength_factor + + # Our impulse is applied in the opposite direction + # of the normal of the surface we're hitting + var impulse = -with.get_normal(0) * strength + + # Determine the location at which we're hitting in the object local space + # but in global orientation + var pos = with.get_position(0) - rb.global_transform.origin + + # And apply the impulse + rb.apply_impulse(impulse, pos) + + return velocity + +## This method rotates the player by rotating the [XROrigin3D] around the camera. +func rotate_player(angle: float): + var t1 := Transform3D() + var t2 := Transform3D() + var rot := Transform3D() + + t1.origin = -camera_node.transform.origin + t2.origin = camera_node.transform.origin + rot = rot.rotated(Vector3.DOWN, angle) + origin_node.transform = (origin_node.transform * t2 * rot * t1).orthonormalized() + +## This method slews the players up vector by rotating the [ARVROrigin] around +## the players feet. +func slew_up(up: Vector3, slew: float) -> void: + # Skip if the up vector is not valid + if up.is_equal_approx(Vector3.ZERO): + return + + # Get the current origin + var current_origin := origin_node.global_transform + + # Save the player foot global and local positions + var ref_pos_global := global_position + var ref_pos_local : Vector3 = ref_pos_global * current_origin + + # Calculate the target origin + var target_origin := current_origin + target_origin.basis.y = up.normalized() + target_origin.basis.x = target_origin.basis.y.cross(target_origin.basis.z).normalized() + target_origin.basis.z = target_origin.basis.x.cross(target_origin.basis.y).normalized() + target_origin.origin = ref_pos_global - target_origin.basis * ref_pos_local + + # Calculate the new origin + var new_origin := current_origin.interpolate_with(target_origin, slew).orthonormalized() + + # Update the origin + origin_node.global_transform = new_origin + +## This method calibrates the players height on the assumption +## the player is in rest position +func calibrate_player_height(): + var base_height = camera_node.transform.origin.y + (player_head_height * XRServer.world_scale) + var player_height = XRToolsUserSettings.player_height * XRServer.world_scale + player_height_offset = (player_height - base_height) / XRServer.world_scale + +## This method sets or clears a named height override +func override_player_height(key, value: float = -1.0): + # Clear or set the override + if value < 0.0: + _player_height_overrides.erase(key) + else: + _player_height_overrides[key] = value + + # Set or clear the override value + var override = _player_height_overrides.values().min() + _player_height_override = override if override != null else -1.0 + +# Estimate body forward direction +func _estimate_body_forward_dir() -> Vector3: + var forward = Vector3() + var camera_basis : Basis = camera_node.global_transform.basis + var camera_forward : Vector3 = -camera_basis.z; + + var camera_elevation := camera_forward.dot(up_player) + if camera_elevation > 0.75: + # User is looking up + forward = -camera_basis.y.slide(up_player).normalized() + elif camera_elevation < -0.75: + # User is looking down + forward = camera_basis.y.slide(up_player).normalized() + else: + forward = camera_forward.slide(up_player).normalized() + + if (left_hand_node and left_hand_node.get_is_active() + and right_hand_node and right_hand_node.get_is_active() + and body_forward_mix > 0.0): + # See if we can mix in our estimated forward vector based on controller position + # Note, in Godot 4.0 we should check tracker confidence + + var tangent = right_hand_node.global_transform.origin - left_hand_node.global_transform.origin + tangent = tangent.slide(up_player).normalized() + var hands_forward = up_player.cross(tangent).normalized() + + # Rotate our forward towards our hand direction but not more than 60 degrees + var dot = forward.dot(hands_forward) + var cross = forward.cross(hands_forward).normalized() + var angle = clamp(acos(dot) * body_forward_mix, 0.0, 0.33 * PI) + forward = forward.rotated(cross, angle) + + return forward + +# This method updates the player body to match the player position +func _update_body_under_camera(): + # Initially calibration of player height + if player_calibrate_height: + calibrate_player_height() + player_calibrate_height = false + + # Calculate the player height based on the camera position in the origin and the calibration + var player_height: float = clamp( + camera_node.transform.origin.y + + (player_head_height * XRServer.world_scale) + + (player_height_offset * XRServer.world_scale), + player_height_min * XRServer.world_scale, + player_height_max * XRServer.world_scale) + + # Allow forced overriding of height + if _player_height_override >= 0.0: + player_height = _player_height_override * XRServer.world_scale + + # Ensure player height makes mathematical sense + player_height = max(player_height, player_radius) + + # Adjust the collision shape to match the player geometry + _collision_node.shape.radius = player_radius + _collision_node.shape.height = player_height + _collision_node.transform.origin.y = (player_height / 2.0) + + # Center the kinematic body on the ground under the camera + var curr_transform := global_transform + var camera_transform := camera_node.global_transform + curr_transform.basis = origin_node.global_transform.basis + curr_transform.origin = camera_transform.origin + curr_transform.origin += up_player * (player_head_height - player_height) + + # The camera/eyes are towards the front of the body, so move the body back slightly + var forward_dir := _estimate_body_forward_dir() + if forward_dir.length() > 0.01: + curr_transform = curr_transform.looking_at(curr_transform.origin + forward_dir, up_player) + curr_transform.origin -= forward_dir.normalized() * eye_forward_offset * player_radius + + # Set the body position + global_transform = curr_transform + +# This method updates the information about the ground under the players feet +func _update_ground_information(delta: float): + # Test how close we are to the ground + var ground_collision := move_and_collide( + up_gravity * -NEAR_GROUND_DISTANCE, true) + + # Handle no collision (or too far away to care about) + if !ground_collision: + near_ground = false + on_ground = false + ground_vector = up_gravity + ground_angle = 0.0 + ground_node = null + ground_physics = null + _previous_ground_node = null + return + + # Categorize the type of ground contact + near_ground = true + on_ground = ground_collision.get_travel().length() <= ON_GROUND_DISTANCE + + # Save the ground information from the collision + ground_vector = ground_collision.get_normal() + ground_angle = rad_to_deg(ground_collision.get_angle(0, up_gravity)) + ground_node = ground_collision.get_collider() + + # Select the ground physics + var physics_node := ground_node.get_node_or_null("GroundPhysics") as XRToolsGroundPhysics + ground_physics = XRToolsGroundPhysics.get_physics(physics_node, default_physics) + + # Detect if we're sliding on a wall + # TODO: consider reworking this magic angle + if ground_angle > 85: + on_ground = false + + # Detect ground velocity under players feet + if _previous_ground_node == ground_node: + var pos_old := _previous_ground_global + var pos_new := ground_node.to_global(_previous_ground_local) + ground_velocity = (pos_new - pos_old) / delta + + # Update ground velocity information + _previous_ground_node = ground_node + _previous_ground_global = ground_collision.get_position() + _previous_ground_local = ground_node.to_local(_previous_ground_global) + + +# This method applies the player velocity and ground-control velocity to the physical body +func _apply_velocity_and_control(delta: float): + # Calculate local velocity + var local_velocity := velocity - ground_velocity + + # Split the velocity into horizontal and vertical components + var horizontal_velocity := local_velocity.slide(up_gravity) + var vertical_velocity := local_velocity - horizontal_velocity + + # If the player is on the ground then give them control + if _can_apply_ground_control(): + # If ground control is being supplied then update the horizontal velocity + var control_velocity := Vector3.ZERO + if abs(ground_control_velocity.x) > 0.1 or abs(ground_control_velocity.y) > 0.1: + var camera_transform := camera_node.global_transform + var dir_forward := camera_transform.basis.z.slide(up_gravity).normalized() + var dir_right := camera_transform.basis.x.slide(up_gravity).normalized() + control_velocity = ( + dir_forward * -ground_control_velocity.y + + dir_right * ground_control_velocity.x + ) * XRServer.world_scale + + # Apply control velocity to horizontal velocity based on traction + var current_traction := XRToolsGroundPhysicsSettings.get_move_traction( + ground_physics, default_physics) + var traction_factor: float = clamp(current_traction * delta, 0.0, 1.0) + horizontal_velocity = horizontal_velocity.lerp(control_velocity, traction_factor) + + # Prevent the player from moving up steep slopes + var current_max_slope := XRToolsGroundPhysicsSettings.get_move_max_slope( + ground_physics, default_physics) + if ground_angle > current_max_slope: + # Get a vector in the down-hill direction + var down_direction := ground_vector.slide(up_gravity).normalized() + var vdot: float = down_direction.dot(horizontal_velocity) + if vdot < 0: + horizontal_velocity -= down_direction * vdot + else: + # User is not trying to move, so apply the ground drag + var current_drag := XRToolsGroundPhysicsSettings.get_move_drag( + ground_physics, default_physics) + var drag_factor: float = clamp(current_drag * delta, 0, 1) + horizontal_velocity = horizontal_velocity.lerp(control_velocity, drag_factor) + + # Combine the velocities back to a 3-space velocity + local_velocity = horizontal_velocity + vertical_velocity + + # Move the player body with the desired velocity + velocity = move_body(local_velocity + ground_velocity) + + # Perform bounce test if a collision occurred + if get_slide_collision_count(): + # Get the collider the player collided with + var collision := get_slide_collision(0) + var collision_node := collision.get_collider() + + # Check for a GroundPhysics node attached to the collider + var collision_physics_node := \ + collision_node.get_node_or_null("GroundPhysics") as XRToolsGroundPhysics + + # Get the collision physics associated with the collider + var collision_physics = XRToolsGroundPhysics.get_physics( + collision_physics_node, default_physics) + + # Get the bounce parameters associated with the collider + var bounce_threshold := XRToolsGroundPhysicsSettings.get_bounce_threshold( + collision_physics, default_physics) + var bounciness := XRToolsGroundPhysicsSettings.get_bounciness( + collision_physics, default_physics) + var magnitude := -collision.get_normal().dot(local_velocity) + + # Detect if bounce should be performed + if bounciness > 0.0 and magnitude >= bounce_threshold: + local_velocity += 2 * collision.normal * magnitude * bounciness + velocity = local_velocity + ground_velocity + emit_signal("player_bounced", collision_node, magnitude) + + # Hack to ensure feet stick to ground (if not jumping) + # TODO: FIX + #if abs(velocity.y) < 0.001: + # velocity.y = ground_velocity.y + +# Test if the player can apply ground control given the settings and the ground state. +func _can_apply_ground_control() -> bool: + match ground_control: + GroundControl.ON_GROUND: + return on_ground + + GroundControl.NEAR_GROUND: + return near_ground + + GroundControl.ALWAYS: + return true + + _: + return false + +# Get a guaranteed-valid physics +func _guaranteed_physics(): + # Ensure we have a guaranteed-valid XRToolsGroundPhysicsSettings value + var valid_physics := physics as XRToolsGroundPhysicsSettings + if !valid_physics: + valid_physics = XRToolsGroundPhysicsSettings.new() + valid_physics.resource_name = "default" + + # Return the guaranteed-valid physics + return valid_physics + +# This method verifies the XRToolsPlayerBody has a valid configuration. Specifically it +# checks the following: +# - XROrigin3D can be identified +# - XRCamera3D can be identified +# - Player radius is valid +# - Maximum slope is valid +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Check the origin node + var test_origin_node := XRHelpers.get_xr_origin(self) + if !test_origin_node: + warnings.append("Unable to find XR Origin node") + + # Check the camera node + var test_camera_node := XRHelpers.get_xr_camera(self) + if !test_camera_node: + warnings.append("Unable to find XR Camera node") + + # Verify the player radius is valid + if player_radius <= 0: + warnings.append("Player radius must be configured") + + # Verify the player height minimum is valid + if player_height_min < player_radius * 2.0: + warnings.append("Player height minimum smaller than 2x radius") + + # Verify the player height maximum is valid + if player_height_max < player_height_min: + warnings.append("Player height maximum cannot be smaller than minimum") + + # Verify eye-forward does not allow near-clip-plane look through + var eyes_to_collider = (1.0 - eye_forward_offset) * player_radius + if test_camera_node and eyes_to_collider < test_camera_node.near: + warnings.append( + "Eyes too far forwards. Move eyes back or decrease camera near clipping plane") + + # If specified, verify the ground physics is a valid type + if physics and !physics is XRToolsGroundPhysicsSettings: + warnings.append("Physics resource must be a GroundPhysicsSettings") + + # Return warnings + return warnings + +## Find an [XRToolsPlayerBody] node. +## +## This function searches from the specified node for an [XRToolsPlayerBody] +## assuming the node is a sibling of the body under an [XROrigin3D]. +static func find_instance(node: Node) -> XRToolsPlayerBody: + return XRTools.find_xr_child( + XRHelpers.get_xr_origin(node), + "*", + "XRToolsPlayerBody") as XRToolsPlayerBody diff --git a/addons/godot-xr-tools/player/player_body.tscn b/addons/godot-xr-tools/player/player_body.tscn new file mode 100644 index 0000000..dbddb9d --- /dev/null +++ b/addons/godot-xr-tools/player/player_body.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=3 uid="uid://diyu06cw06syv"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/player/player_body.gd" id="1"] + +[node name="PlayerBody" type="CharacterBody3D" groups=["player_body"]] +process_priority = -100 +process_physics_priority = -100 +top_level = true +collision_layer = 524288 +collision_mask = 1023 +script = ExtResource("1") diff --git a/addons/godot-xr-tools/player/poke/poke.gd b/addons/godot-xr-tools/player/poke/poke.gd new file mode 100644 index 0000000..e005e34 --- /dev/null +++ b/addons/godot-xr-tools/player/poke/poke.gd @@ -0,0 +1,222 @@ +@tool +class_name XRToolsPoke +extends Node3D + + +## XR Tools Poke Script +## +## This node a finger push mechanism that can be attached to a finger bone +## using a [BoneAttachment3D]. +## +## The poke can interact with user interfaces, and can optionally push rigid +## bodies. + + +## Signal emitted when this object pokes another object +signal pointing_event(event) + + +# Default layer of 18:player-hands +const DEFAULT_LAYER := 0b0000_0000_0000_0010_0000_0000_0000_0000 + +# Default mask [1..16] and 23:ui-objects +const DEFAULT_MASK := 0b0000_0000_0100_0000_1111_1111_1111_1111 + + +## Enables or disables the poke functionality +@export var enabled : bool = true: set = set_enabled + +## Sets the radius of the poke mesh and collision +@export var radius : float = 0.005: set = set_radius + +## Set the color of the poke mesh +@export var color : Color = Color(0.8, 0.8, 1.0, 0.5): set = set_color + +## Set the poke teleport distance +@export var teleport_distance : float = 0.1: set = set_teleport_distance + +@export_category("Poke Collison") + +## Sets the collision layer +@export_flags_3d_physics var layer : int = DEFAULT_LAYER: set = set_layer + +## Sets the collision mask +@export_flags_3d_physics var mask : int = DEFAULT_MASK: set = set_mask + +## Enables or disables pushing bodies +@export var push_bodies : bool = true: set = set_push_bodies + +## Control the stiffness of the finger +@export var stiffness : float = 10.0: set = set_stiffness + +## Control the maximum force the finger can push with +@export var maximum_force : float = 1.0: set = set_maximum_force + + +var is_ready = false +var material : StandardMaterial3D +var target : Node ## Node we last started touching +var last_collided_at : Vector3 + + +func set_enabled(new_enabled : bool) -> void: + enabled = new_enabled + if is_ready: + _update_enabled() + +func _update_enabled(): + $PokeBody/CollisionShape.disabled = !enabled + +func set_radius(new_radius : float) -> void: + radius = new_radius + if is_ready: + _update_radius() + +func _update_radius() -> void: + # Calculate the user-scaled radius + var sr := radius * XRServer.world_scale + + # Update the collision shape + var shape : SphereShape3D = $PokeBody/CollisionShape.shape + if shape: + shape.radius = sr + + # Update the mesh shape + var mesh : SphereMesh = $PokeBody/MeshInstance.mesh + if mesh: + mesh.radius = sr + mesh.height = sr * 2.0 + +func set_teleport_distance(new_distance : float) -> void: + teleport_distance = new_distance + if is_ready: + _update_teleport_distance() + +func _update_teleport_distance() -> void: + $PokeBody.teleport_distance = teleport_distance + +func set_push_bodies(new_push_bodies : bool) -> void: + push_bodies = new_push_bodies + if is_ready: + _update_push_bodies() + +func _update_push_bodies() -> void: + $PokeBody.push_bodies = push_bodies + +func set_layer(new_layer : int) -> void: + layer = new_layer + if is_ready: + _update_layer() + +func _update_layer() -> void: + $PokeBody.collision_layer = layer + +func set_mask(new_mask : int) -> void: + mask = new_mask + if is_ready: + _update_mask() + +func _update_mask() -> void: + $PokeBody.collision_mask = mask + +func set_stiffness(new_stiffness : float) -> void: + stiffness = new_stiffness + if is_ready: + _update_stiffness() + +func _update_stiffness() -> void: + $PokeBody.stiffness = stiffness + +func set_maximum_force(new_maximum_force : float) -> void: + maximum_force = new_maximum_force + if is_ready: + _update_maximum_force() + +func _update_maximum_force() -> void: + $PokeBody.maximum_force = maximum_force + +func set_color(new_color : Color) -> void: + color = new_color + if is_ready: + _update_color() + +func _update_color() -> void: + if material: + material.albedo_color = color + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsPoke" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + # Set as top level ensures we're placing this object in global space + $PokeBody.set_as_top_level(true) + + is_ready = true + + # Construct the poke material + material = StandardMaterial3D.new() + material.flags_unshaded = true + material.flags_transparent = true + $PokeBody/MeshInstance.set_surface_override_material(0, material) + + _update_enabled() + _update_radius() + _update_teleport_distance() + _update_layer() + _update_mask() + _update_push_bodies() + _update_stiffness() + _update_maximum_force() + _update_color() + + # Detect hand scale changing + var hand := XRToolsHand.find_instance(self) + if hand: + hand.hand_scale_changed.connect(_on_hand_scale_changed) + + +func _process(_delta): + # If no target then disable processing + if not is_instance_valid(target): + set_process(false) + return + + # Update moving on the target + var new_at : Vector3 = $PokeBody.global_transform.origin + XRToolsPointerEvent.moved(self, target, new_at, last_collided_at) + last_collided_at = new_at + + +func _on_hand_scale_changed(_scale : float) -> void: + # Update the radius to account for the new hand scale + _update_radius() + + +func _on_PokeBody_body_contact_start(body): + # We are going to poke this body at our current position. + # This will be slightly above the object but since this + # mostly targets Viewport2Din3D, this will work + + # Report body pressed + target = body + last_collided_at = $PokeBody.global_transform.origin + XRToolsPointerEvent.entered(self, body, last_collided_at) + XRToolsPointerEvent.pressed(self, body, last_collided_at) + + # Enable processing to track movement + set_process(true) + + +func _on_PokeBody_body_contact_end(body): + # Skip if not current target + if body != target: + return + + # Report release + XRToolsPointerEvent.released(self, target, last_collided_at) + XRToolsPointerEvent.exited(self, target, last_collided_at) + target = null diff --git a/addons/godot-xr-tools/player/poke/poke.tscn b/addons/godot-xr-tools/player/poke/poke.tscn new file mode 100644 index 0000000..dfef510 --- /dev/null +++ b/addons/godot-xr-tools/player/poke/poke.tscn @@ -0,0 +1,39 @@ +[gd_scene load_steps=6 format=3 uid="uid://bjcxf427un2wp"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/player/poke/poke.gd" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/player/poke/poke_body.gd" id="2"] + +[sub_resource type="SphereShape3D" id="1"] +resource_local_to_scene = true +radius = 0.005 + +[sub_resource type="SphereMesh" id="2"] +resource_local_to_scene = true +radius = 0.005 +height = 0.01 +radial_segments = 32 +rings = 16 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yhep2"] +transparency = 1 +shading_mode = 0 +albedo_color = Color(0.8, 0.8, 1, 0.5) + +[node name="Poke" type="Node3D"] +script = ExtResource("1") + +[node name="PokeBody" type="StaticBody3D" parent="."] +top_level = true +collision_layer = 131072 +collision_mask = 4259839 +script = ExtResource("2") + +[node name="CollisionShape" type="CollisionShape3D" parent="PokeBody"] +shape = SubResource("1") + +[node name="MeshInstance" type="MeshInstance3D" parent="PokeBody"] +mesh = SubResource("2") +surface_material_override/0 = SubResource("StandardMaterial3D_yhep2") + +[connection signal="body_contact_end" from="PokeBody" to="." method="_on_PokeBody_body_contact_end"] +[connection signal="body_contact_start" from="PokeBody" to="." method="_on_PokeBody_body_contact_start"] diff --git a/addons/godot-xr-tools/player/poke/poke_body.gd b/addons/godot-xr-tools/player/poke/poke_body.gd new file mode 100644 index 0000000..b3666ae --- /dev/null +++ b/addons/godot-xr-tools/player/poke/poke_body.gd @@ -0,0 +1,54 @@ +@tool +extends XRToolsForceBody + + +## Signal called when we start to contact an object +signal body_contact_start(node) + +## Signal called when we end contact with an object +signal body_contact_end(node) + + +## Distance at which we teleport our poke body +@export var teleport_distance : float = 0.1 + + +# Node currently in contact with +var _contact : Node3D = null + +# Target XRToolsPoke +@onready var _target : XRToolsPoke = get_parent() + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsPokeBody" or super(name) + + +# Try moving to the parent Poke node +func _physics_process(_delta): + # Do not process if in the editor + if Engine.is_editor_hint(): + return + + # Calculate the movement to perform + var target := _target.global_position + var to_target := target - global_position + + # Decide whether to teleport or slide + var old_contact := _contact + if to_target.length() > teleport_distance: + # Teleport to the target + global_position = target + else: + # Move and slide to the target + var collision := move_and_slide(to_target) + _contact = collision.collider if collision else null + + # Report when we stop being in contact with the current object + if old_contact and old_contact != _contact: + body_contact_end.emit(old_contact) + + # Report when we start touching a new object + if _contact and _contact != old_contact: + body_contact_start.emit(_contact) diff --git a/addons/godot-xr-tools/plugin.cfg b/addons/godot-xr-tools/plugin.cfg new file mode 100644 index 0000000..7e18202 --- /dev/null +++ b/addons/godot-xr-tools/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Godot XR Tools" +description="Godot XR Tools plugin" +author="Bastiaan Olij and Contributors" +version="4.2.1" +script="plugin.gd" diff --git a/addons/godot-xr-tools/plugin.gd b/addons/godot-xr-tools/plugin.gd new file mode 100644 index 0000000..317c2a5 --- /dev/null +++ b/addons/godot-xr-tools/plugin.gd @@ -0,0 +1,138 @@ +@tool +extends EditorPlugin + + +## Menu ID for enabling OpenXR +const MENU_ID_ENABLE_OPENXR := 1001 + +## Menu ID for setting the physics layers +const MENU_ID_SET_PHYSICS_LAYERS := 1002 + + +# XR Tools popup menu +var _xr_tools_menu : PopupMenu + + +func _define_project_setting( + p_name : String, + p_type : int, + p_hint : int = PROPERTY_HINT_NONE, + p_hint_string : String = "", + p_default_val = "") -> void: + # p_default_val can be any type!! + + if !ProjectSettings.has_setting(p_name): + ProjectSettings.set_setting(p_name, p_default_val) + + var property_info : Dictionary = { + "name" : p_name, + "type" : p_type, + "hint" : p_hint, + "hint_string" : p_hint_string + } + + ProjectSettings.add_property_info(property_info) + if ProjectSettings.has_method("set_as_basic"): + ProjectSettings.call("set_as_basic", p_name, true) + ProjectSettings.set_initial_value(p_name, p_default_val) + + +func _enable_openxr() -> void: + ProjectSettings.set("xr/openxr/enabled", true) + ProjectSettings.set("xr/shaders/enabled", true) + + +func _set_physics_layers() -> void: + ProjectSettings.set("layer_names/3d_physics/layer_1", "Static World") + ProjectSettings.set("layer_names/3d_physics/layer_2", "Dynamic World") + ProjectSettings.set("layer_names/3d_physics/layer_3", "Pickable Objects") + ProjectSettings.set("layer_names/3d_physics/layer_4", "Wall Walking") + ProjectSettings.set("layer_names/3d_physics/layer_5", "Grappling Target") + ProjectSettings.set("layer_names/3d_physics/layer_17", "Held Objects") + ProjectSettings.set("layer_names/3d_physics/layer_18", "Player Hands") + ProjectSettings.set("layer_names/3d_physics/layer_19", "Grab Handles") + ProjectSettings.set("layer_names/3d_physics/layer_20", "Player Body") + ProjectSettings.set("layer_names/3d_physics/layer_21", "Pointable Objects") + ProjectSettings.set("layer_names/3d_physics/layer_22", "Hand Pose Areas") + ProjectSettings.set("layer_names/3d_physics/layer_23", "UI Objects") + + +func _on_xr_tools_menu_pressed(id : int) -> void: + match id: + MENU_ID_ENABLE_OPENXR: + _enable_openxr() + return + + MENU_ID_SET_PHYSICS_LAYERS: + _set_physics_layers() + return + + +func _enter_tree(): + # Construct the popup menu + _xr_tools_menu = PopupMenu.new() + _xr_tools_menu.name = "XR Tools" + _xr_tools_menu.id_pressed.connect(_on_xr_tools_menu_pressed) + add_tool_submenu_item("XR Tools", _xr_tools_menu) + + # Add tool menu items + _xr_tools_menu.add_item("Enable OpenXR", MENU_ID_ENABLE_OPENXR) + _xr_tools_menu.add_item("Set Physics Layers", MENU_ID_SET_PHYSICS_LAYERS) + + # Add input grip threshold to the project settings + _define_project_setting( + "godot_xr_tools/input/grip_threshold", + TYPE_FLOAT, + PROPERTY_HINT_RANGE, + "0.2,0.8,0.05", + 0.7) + + # Add input y_axis_dead_zone to the project settings + _define_project_setting( + "godot_xr_tools/input/y_axis_dead_zone", + TYPE_FLOAT, + PROPERTY_HINT_RANGE, + "0.0,0.5,0.01", + 0.1) + + # Add input x_axis_dead_zone to the project settings + _define_project_setting( + "godot_xr_tools/input/x_axis_dead_zone", + TYPE_FLOAT, + PROPERTY_HINT_RANGE, + "0.0,0.5,0.01", + 0.2) + + # Add input snap turning dead-zone to the project settings + _define_project_setting( + "godot_xr_tools/input/snap_turning_deadzone", + TYPE_FLOAT, + PROPERTY_HINT_RANGE, + "0.0,0.5,0.05", + 0.25) + + # Add input default snap turning to the project settings + _define_project_setting( + "godot_xr_tools/input/default_snap_turning", + TYPE_BOOL, + PROPERTY_HINT_NONE, + "", + true) + + # Add player standard height to the project settings + _define_project_setting( + "godot_xr_tools/player/standard_height", + TYPE_FLOAT, + PROPERTY_HINT_RANGE, + "1.0,2.5,0.05", + 1.85) + + # Register our autoload user settings object + add_autoload_singleton( + "XRToolsUserSettings", + "res://addons/godot-xr-tools/user_settings/user_settings.gd") + + +func _exit_tree(): + # our plugin is turned off + pass diff --git a/addons/godot-xr-tools/staging/fade.gdshader b/addons/godot-xr-tools/staging/fade.gdshader new file mode 100644 index 0000000..16750dc --- /dev/null +++ b/addons/godot-xr-tools/staging/fade.gdshader @@ -0,0 +1,13 @@ +shader_type spatial; +render_mode depth_test_disabled, skip_vertex_transform, unshaded, cull_disabled; + +uniform float alpha = 0.0; + +void vertex() { + POSITION = vec4(VERTEX.x, -VERTEX.y, 0.0, 1.0); +} + +void fragment() { + ALBEDO = vec3(0.0, 0.0, 0.0); + ALPHA = alpha; +} \ No newline at end of file diff --git a/addons/godot-xr-tools/staging/loading_screen.gd b/addons/godot-xr-tools/staging/loading_screen.gd new file mode 100644 index 0000000..64bdffc --- /dev/null +++ b/addons/godot-xr-tools/staging/loading_screen.gd @@ -0,0 +1,144 @@ +@tool +extends Node3D + + +## XR Tools Loading Screen +## +## The loading screen is shown while the player is waiting +## while we load in a new scene. +## As the player may start in any location and likely hasn't +## put their HMD on yet when the game first starts, we place +## our splash screen far away and make it over sized. +## +## Note that we made this a tool script so you can test the +## progress bar. We show this at a different distance to create +## a nice depth effect. +## +## Note also that our background is pitch black. + + +## User pressed the continue +signal continue_pressed + + +## If true, the screen follows the camera +@export var follow_camera : bool = true: set = set_follow_camera + +## Curve for following the camera +@export var follow_speed : Curve + +## Splash screen texture +@export var splash_screen : Texture2D: set = set_splash_screen + +## Progress bar +@export_range(0.0, 1.0, 0.01) var progress : float = 0.5: set = set_progress_bar + +## If true, the contine message is shown, if false the progress bar is visible. +@export var enable_press_to_continue : bool = false: set = set_enable_press_to_continue + + +# Camera to track +var _camera : XRCamera3D + +# Splash screen material +var _splash_screen_material : StandardMaterial3D + +# Progress material +var _progress_material : ShaderMaterial + + +func _ready(): + # Get materials + _splash_screen_material = $SplashScreen.get_surface_override_material(0) + _progress_material = $ProgressBar.mesh.surface_get_material(0) + + # Perform initial update + _update_splash_screen() + _update_progress_bar() + _update_enable_press_to_continue() + _update_follow_camera() + + +func _process(delta): + # Skip if in editor + if Engine.is_editor_hint(): + return + + # Skip if no camera to track + if !_camera: + return + + # Get the camera direction (horizontal only) + var camera_dir := _camera.global_transform.basis.z + camera_dir.y = 0.0 + camera_dir = camera_dir.normalized() + + # Get the loading screen direction + var loading_screen_dir := global_transform.basis.z + + # Get the angle + var angle := loading_screen_dir.signed_angle_to(camera_dir, Vector3.UP) + if angle == 0: + return + + # Do rotation based on the curve + global_transform.basis = global_transform.basis.rotated( + Vector3.UP * sign(angle), + follow_speed.sample_baked(abs(angle) / PI) * delta + ).orthonormalized() + + +## Set the camera to track +func set_camera(p_camera : XRCamera3D) -> void: + _camera = p_camera + _update_follow_camera() + + +## Set the follow_camera property +func set_follow_camera(p_enabled : bool) -> void: + follow_camera = p_enabled + _update_follow_camera() + + +## Set the splash_screen texture property +func set_splash_screen(p_splash_screen : Texture2D) -> void: + splash_screen = p_splash_screen + _update_splash_screen() + + +## Set the progress property +func set_progress_bar(p_progress : float) -> void: + progress = p_progress + _update_progress_bar() + + +## Set the enable_press_to_continue property +func set_enable_press_to_continue(p_enable : bool) -> void: + enable_press_to_continue = p_enable + _update_enable_press_to_continue() + + +func _update_follow_camera(): + if _camera and !Engine.is_editor_hint(): + set_process(follow_camera) + + +func _update_splash_screen(): + if _splash_screen_material: + _splash_screen_material.albedo_texture = splash_screen + + +func _update_progress_bar(): + if _progress_material: + _progress_material.set_shader_parameter("progress", progress) + + +func _update_enable_press_to_continue(): + if is_inside_tree(): + $ProgressBar.visible = !enable_press_to_continue + $PressToContinue.visible = enable_press_to_continue + $PressToContinue/HoldButton.enabled = enable_press_to_continue + + +func _on_HoldButton_pressed(): + emit_signal("continue_pressed") diff --git a/addons/godot-xr-tools/staging/loading_screen.tscn b/addons/godot-xr-tools/staging/loading_screen.tscn new file mode 100644 index 0000000..305c89f --- /dev/null +++ b/addons/godot-xr-tools/staging/loading_screen.tscn @@ -0,0 +1,65 @@ +[gd_scene load_steps=13 format=3 uid="uid://bqumugyvkct4r"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/staging/loading_screen.gd" id="2"] +[ext_resource type="Shader" uid="uid://4i0pwdtfmtsv" path="res://addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres" id="3"] +[ext_resource type="Texture2D" uid="uid://clbtsf0ahb3fm" path="res://addons/godot-xr-tools/assets/misc/progress_bar.png" id="4"] +[ext_resource type="Texture2D" uid="uid://ocyj01x5mtt7" path="res://addons/godot-xr-tools/assets/misc/Hold trigger to continue.png" id="5"] +[ext_resource type="PackedScene" uid="uid://cymteydkxagpp" path="res://addons/godot-xr-tools/misc/hold_button.tscn" id="6"] + +[sub_resource type="Curve" id="21"] +max_value = 3.14 +_data = [Vector2(0.00207039, 0), 0.0, 1.00884, 0, 0, Vector2(1, 3.14), 0.313348, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="PlaneMesh" id="2"] +size = Vector2(80, 60) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1o2lp"] +transparency = 1 +shading_mode = 0 + +[sub_resource type="ShaderMaterial" id="18"] +render_priority = 0 +shader = ExtResource("3") +shader_parameter/bar_color = Color(1, 1, 1, 1) +shader_parameter/cutout = Vector3(4.85, 0.33, 0) +shader_parameter/progress = 0.5 +shader_parameter/bar_texture = ExtResource("4") + +[sub_resource type="PlaneMesh" id="3"] +material = SubResource("18") +size = Vector2(10, 1) + +[sub_resource type="QuadMesh" id="19"] +size = Vector2(9.25, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k8dyo"] +transparency = 1 +shading_mode = 0 +albedo_texture = ExtResource("5") + +[node name="LoadingScreen" type="Node3D"] +script = ExtResource("2") +follow_speed = SubResource("21") + +[node name="SplashScreen" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 15, -50) +mesh = SubResource("2") +surface_material_override/0 = SubResource("StandardMaterial3D_1o2lp") + +[node name="ProgressBar" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -10) +mesh = SubResource("3") + +[node name="PressToContinue" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -10) +visible = false +mesh = SubResource("19") +surface_material_override/0 = SubResource("StandardMaterial3D_k8dyo") + +[node name="HoldButton" parent="PressToContinue" instance=ExtResource("6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.55766, 0, 0) +hold_time = 0.5 +color = Color(0, 0.717647, 1, 1) + +[connection signal="pressed" from="PressToContinue/HoldButton" to="." method="_on_HoldButton_pressed"] diff --git a/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres b/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres new file mode 100644 index 0000000..a31535e --- /dev/null +++ b/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres @@ -0,0 +1,186 @@ +[gd_resource type="VisualShader" load_steps=16 format=3 uid="uid://4i0pwdtfmtsv"] + +[sub_resource type="VisualShaderNodeCompare" id="5"] +output_port_for_preview = 0 +default_input_values = [0, Vector2(0, 0), 1, Vector2(0, 0), 2, 1e-05] +type = 3 +function = 4 +condition = 1 + +[sub_resource type="VisualShaderNodeFloatParameter" id="6"] +parameter_name = "progress" + +[sub_resource type="VisualShaderNodeVectorCompose" id="7"] + +[sub_resource type="VisualShaderNodeFloatOp" id="8"] +output_port_for_preview = 0 +operator = 6 + +[sub_resource type="VisualShaderNodeColorParameter" id="9"] +parameter_name = "bar_color" + +[sub_resource type="VisualShaderNodeTexture2DParameter" id="17"] +parameter_name = "bar_texture" +texture_type = 1 + +[sub_resource type="VisualShaderNodeVectorOp" id="18"] +operator = 2 + +[sub_resource type="VisualShaderNodeFloatOp" id="19"] +operator = 2 + +[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_hpnli"] +output_port_for_preview = 0 +expanded_output_ports = [0] +source = 5 +texture_type = 1 + +[sub_resource type="VisualShaderNodeVec3Parameter" id="VisualShaderNodeVec3Parameter_fhc2j"] +parameter_name = "cutout" +default_value_enabled = true +default_value = Vector3(4.85, 0.33, 0) + +[sub_resource type="VisualShaderNodeInput" id="10"] +input_name = "uv" + +[sub_resource type="VisualShaderNodeVectorOp" id="11"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(10, 1, 0)] +operator = 2 + +[sub_resource type="VisualShaderNodeVectorOp" id="12"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(5, 0.5, 0)] +operator = 1 + +[sub_resource type="VisualShaderNodeVectorFunc" id="13"] +function = 4 + +[sub_resource type="VisualShaderNodeCompare" id="15"] +output_port_for_preview = 0 +default_input_values = [0, Vector2(0, 0), 1, Vector2(4.85, 0.33), 2, 1e-05] +type = 3 +function = 2 +condition = 1 + +[resource] +code = "shader_type spatial; +render_mode unshaded; + +uniform vec4 bar_color : source_color; +uniform sampler2D bar_texture : source_color; +uniform vec3 cutout = vec3(4.850000, 0.330000, 0.000000); +uniform float progress; + + + +void fragment() { +// ColorParameter:15 + vec4 n_out15p0 = bar_color; + + + vec4 n_out19p0; +// Texture2D:19 + n_out19p0 = texture(bar_texture, UV); + float n_out19p4 = n_out19p0.a; + + +// VectorOp:17 + vec3 n_out17p0 = vec3(n_out15p0.xyz) * vec3(n_out19p0.xyz); + + +// Input:3 + vec2 n_out3p0 = UV; + + +// VectorOp:4 + vec3 n_in4p1 = vec3(10.00000, 1.00000, 0.00000); + vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1; + + +// VectorOp:5 + vec3 n_in5p1 = vec3(5.00000, 0.50000, 0.00000); + vec3 n_out5p0 = n_out4p0 - n_in5p1; + + +// VectorFunc:6 + vec3 n_out6p0 = abs(n_out5p0); + + +// Vector3Parameter:20 + vec3 n_out20p0 = cutout; + + + bool n_out8p0; +// Compare:8 + { + bvec2 _bv = greaterThan(vec2(n_out6p0.xy), vec2(n_out20p0.xy)); + n_out8p0 = any(_bv); + } + + +// FloatParameter:12 + float n_out12p0 = progress; + + +// VectorCompose:13 + float n_in13p1 = 0.00000; + float n_in13p2 = 0.00000; + vec3 n_out13p0 = vec3(n_out12p0, n_in13p1, n_in13p2); + + + bool n_out11p0; +// Compare:11 + { + bvec2 _bv = lessThan(n_out3p0, vec2(n_out13p0.xy)); + n_out11p0 = any(_bv); + } + + +// FloatOp:14 + float n_out14p0 = max((n_out8p0 ? 1.0 : 0.0), (n_out11p0 ? 1.0 : 0.0)); + + +// FloatOp:18 + float n_out18p0 = n_out19p4 * n_out14p0; + + +// Output:0 + ALBEDO = n_out17p0; + ALPHA = n_out18p0; + + +} +" +graph_offset = Vector2(-744.269, 307.118) +flags/unshaded = true +nodes/fragment/0/position = Vector2(1220, 440) +nodes/fragment/3/node = SubResource("10") +nodes/fragment/3/position = Vector2(-1020, 580) +nodes/fragment/4/node = SubResource("11") +nodes/fragment/4/position = Vector2(-620, 400) +nodes/fragment/5/node = SubResource("12") +nodes/fragment/5/position = Vector2(-440, 400) +nodes/fragment/6/node = SubResource("13") +nodes/fragment/6/position = Vector2(-240, 420) +nodes/fragment/8/node = SubResource("15") +nodes/fragment/8/position = Vector2(240, 460) +nodes/fragment/11/node = SubResource("5") +nodes/fragment/11/position = Vector2(240, 860) +nodes/fragment/12/node = SubResource("6") +nodes/fragment/12/position = Vector2(-640, 980) +nodes/fragment/13/node = SubResource("7") +nodes/fragment/13/position = Vector2(-280, 960) +nodes/fragment/14/node = SubResource("8") +nodes/fragment/14/position = Vector2(480, 680) +nodes/fragment/15/node = SubResource("9") +nodes/fragment/15/position = Vector2(580, -40) +nodes/fragment/16/node = SubResource("17") +nodes/fragment/16/position = Vector2(40, -100) +nodes/fragment/17/node = SubResource("18") +nodes/fragment/17/position = Vector2(980, 80) +nodes/fragment/18/node = SubResource("19") +nodes/fragment/18/position = Vector2(940, 500) +nodes/fragment/19/node = SubResource("VisualShaderNodeTexture_hpnli") +nodes/fragment/19/position = Vector2(480, 260) +nodes/fragment/20/node = SubResource("VisualShaderNodeVec3Parameter_fhc2j") +nodes/fragment/20/position = Vector2(-280, 600) +nodes/fragment/connections = PackedInt32Array(3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 17, 0, 0, 0, 18, 0, 0, 1, 14, 0, 18, 1, 16, 0, 19, 2, 19, 4, 18, 0, 19, 0, 17, 1, 20, 0, 8, 1) diff --git a/addons/godot-xr-tools/staging/loading_screen_shader.tres b/addons/godot-xr-tools/staging/loading_screen_shader.tres new file mode 100644 index 0000000..11ede72 --- /dev/null +++ b/addons/godot-xr-tools/staging/loading_screen_shader.tres @@ -0,0 +1,187 @@ +[gd_resource type="VisualShader" load_steps=16 format=3] + +[sub_resource type="VisualShaderNodeCompare" id="5"] +output_port_for_preview = 0 +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0), 2, 1e-05] +type = 3 +function = 4 +condition = 1 + +[sub_resource type="VisualShaderNodeFloatParameter" id="6"] +parameter_name = "progress" + +[sub_resource type="VisualShaderNodeVectorCompose" id="7"] + +[sub_resource type="VisualShaderNodeFloatOp" id="8"] +output_port_for_preview = 0 +operator = 6 + +[sub_resource type="VisualShaderNodeColorParameter" id="9"] +parameter_name = "bar_color" + +[sub_resource type="VisualShaderNodeTexture2DParameter" id="17"] +parameter_name = "bar_texture" +texture_type = 1 + +[sub_resource type="VisualShaderNodeVectorOp" id="18"] +operator = 2 + +[sub_resource type="VisualShaderNodeFloatOp" id="19"] +operator = 2 + +[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_hpnli"] +output_port_for_preview = 0 +expanded_output_ports = [0] +source = 5 +texture_type = 1 + +[sub_resource type="VisualShaderNodeVec3Parameter" id="VisualShaderNodeVec3Parameter_fhc2j"] +parameter_name = "cutout" +default_value_enabled = true +default_value = Vector3(4.85, 0.33, 0) + +[sub_resource type="VisualShaderNodeInput" id="10"] +input_name = "uv" + +[sub_resource type="VisualShaderNodeVectorOp" id="11"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(10, 1, 0)] +operator = 2 + +[sub_resource type="VisualShaderNodeVectorOp" id="12"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(5, 0.5, 0)] +operator = 1 + +[sub_resource type="VisualShaderNodeVectorFunc" id="13"] +function = 4 + +[sub_resource type="VisualShaderNodeCompare" id="15"] +output_port_for_preview = 0 +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(4.85, 0.33, 0), 2, 1e-05] +type = 3 +function = 2 +condition = 1 + +[resource] +code = "shader_type spatial; +render_mode unshaded; + +uniform vec4 bar_color : source_color; +uniform sampler2D bar_texture : source_color; +uniform vec3 cutout = vec3(4.850000, 0.330000, 0.000000); +uniform float progress; + + + +void fragment() { +// ColorParameter:15 + vec4 n_out15p0 = bar_color; + + + + vec4 n_out19p0; +// Texture2D:19 + n_out19p0 = texture(bar_texture, UV); + float n_out19p4 = n_out19p0.a; + + +// VectorOp:17 + vec3 n_out17p0 = vec3(n_out15p0.xyz) * vec3(n_out19p0.xyz); + + +// Input:3 + vec2 n_out3p0 = UV; + + +// VectorOp:4 + vec3 n_in4p1 = vec3(10.00000, 1.00000, 0.00000); + vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1; + + +// VectorOp:5 + vec3 n_in5p1 = vec3(5.00000, 0.50000, 0.00000); + vec3 n_out5p0 = n_out4p0 - n_in5p1; + + +// VectorFunc:6 + vec3 n_out6p0 = abs(n_out5p0); + + +// Vector3Parameter:20 + vec3 n_out20p0 = cutout; + + + bool n_out8p0; +// Compare:8 + { + bvec3 _bv = greaterThan(n_out6p0, n_out20p0); + n_out8p0 = any(_bv); + } + + +// FloatParameter:12 + float n_out12p0 = progress; + + +// VectorCompose:13 + float n_in13p1 = 0.00000; + float n_in13p2 = 0.00000; + vec3 n_out13p0 = vec3(n_out12p0, n_in13p1, n_in13p2); + + + bool n_out11p0; +// Compare:11 + { + bvec3 _bv = lessThan(vec3(n_out3p0, 0.0), n_out13p0); + n_out11p0 = any(_bv); + } + + +// FloatOp:14 + float n_out14p0 = max((n_out8p0 ? 1.0 : 0.0), (n_out11p0 ? 1.0 : 0.0)); + + +// FloatOp:18 + float n_out18p0 = n_out19p4 * n_out14p0; + + +// Output:0 + ALBEDO = n_out17p0; + ALPHA = n_out18p0; + + +} +" +graph_offset = Vector2(-744.269, 307.118) +flags/unshaded = true +nodes/fragment/0/position = Vector2(1220, 440) +nodes/fragment/3/node = SubResource("10") +nodes/fragment/3/position = Vector2(-1020, 580) +nodes/fragment/4/node = SubResource("11") +nodes/fragment/4/position = Vector2(-620, 400) +nodes/fragment/5/node = SubResource("12") +nodes/fragment/5/position = Vector2(-440, 400) +nodes/fragment/6/node = SubResource("13") +nodes/fragment/6/position = Vector2(-240, 420) +nodes/fragment/8/node = SubResource("15") +nodes/fragment/8/position = Vector2(240, 460) +nodes/fragment/11/node = SubResource("5") +nodes/fragment/11/position = Vector2(240, 860) +nodes/fragment/12/node = SubResource("6") +nodes/fragment/12/position = Vector2(-640, 980) +nodes/fragment/13/node = SubResource("7") +nodes/fragment/13/position = Vector2(-280, 960) +nodes/fragment/14/node = SubResource("8") +nodes/fragment/14/position = Vector2(480, 680) +nodes/fragment/15/node = SubResource("9") +nodes/fragment/15/position = Vector2(580, -40) +nodes/fragment/16/node = SubResource("17") +nodes/fragment/16/position = Vector2(40, -100) +nodes/fragment/17/node = SubResource("18") +nodes/fragment/17/position = Vector2(980, 80) +nodes/fragment/18/node = SubResource("19") +nodes/fragment/18/position = Vector2(940, 500) +nodes/fragment/19/node = SubResource("VisualShaderNodeTexture_hpnli") +nodes/fragment/19/position = Vector2(480, 260) +nodes/fragment/20/node = SubResource("VisualShaderNodeVec3Parameter_fhc2j") +nodes/fragment/20/position = Vector2(-280, 600) +nodes/fragment/connections = PackedInt32Array(3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 17, 0, 0, 0, 18, 0, 0, 1, 14, 0, 18, 1, 16, 0, 19, 2, 19, 4, 18, 0, 19, 0, 17, 1, 20, 0, 8, 1) diff --git a/addons/godot-xr-tools/staging/scene_base.gd b/addons/godot-xr-tools/staging/scene_base.gd new file mode 100644 index 0000000..7bff017 --- /dev/null +++ b/addons/godot-xr-tools/staging/scene_base.gd @@ -0,0 +1,194 @@ +@tool +class_name XRToolsSceneBase +extends Node3D + + +## XR Tools Scene Base Class +## +## This is our base scene for all our levels. It ensures that we have all bits +## in place to load our scene into our staging scene. +## +## Developers can customize scene transitions by extending from this class and +## overriding the [method scene_loaded] behavior. + + +## This signal is used to request the staging transition to the main-menu +## scene. Developers should use [method exit_to_main_menu] rather than +## emitting this signal directly. +signal request_exit_to_main_menu + +## This signal is used to request the staging transition to the specified +## scene. Developers should use [method load_scene] rather than emitting +## this signal directly. +## +## The [param user_data] parameter is passed through staging to the new scenes. +signal request_load_scene(p_scene_path, user_data) + +## This signal is used to request the staging reload this scene. Developers +## should use [method reset_scene] rather than emitting this signal directly. +## +## The [param user_data] parameter is passed through staging to the new scenes. +signal request_reset_scene(user_data) + + +# This file contains methods with parameters that are unused; however they are +# documented and intended to be overridden in derived classes. As such unused +# parameter warnings need to be disabled. +# +# warning-ignore:unused_parameter +# gdlint:disable=unused-argument + + +## Interface + +func _ready() -> void: + pass + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsSceneBase" + + +## This method center the player on the [param p_transform] transform. +func center_player_on(p_transform : Transform3D): + # In order to center our player so the players feet are at the location + # indicated by p_transform, and having our player looking in the required + # direction, we must offset this transform using the cameras transform. + + # So we get our current camera transform in local space + var camera_transform = $XROrigin3D/XRCamera3D.transform + + # We obtain our view direction and zero out our height + var view_direction = camera_transform.basis.z + view_direction.y = 0 + + # Now create the transform that we will use to offset our input with + var transform : Transform3D + transform = transform.looking_at(-view_direction, Vector3.UP) + transform.origin = camera_transform.origin + transform.origin.y = 0 + + # And now update our origin point + $XROrigin3D.global_transform = (p_transform * transform.inverse()).orthonormalized() + + +## This method is called when the scene is loaded, but before it becomes visible. +## +## The [param user_data] parameter is an optional parameter passed in when the +## scene is loaded - usually from the previous scene. By default the +## user_data can be a [String] spawn-point node-name, [Vector3], [Transform3D], +## an object with a 'get_spawn_position' method, or null to spawn at the scenes +## [XROrigin3D] location. +## +## Advanced scene-transition functionality can be implemented by overriding this +## method and calling the super() with any desired spawn transform. This could +## come from a field of an advanced user_data class-object, or from a game-state +## singleton. +func scene_loaded(user_data = null): + # Called after scene is loaded + + # Make sure our camera becomes the current camera + $XROrigin3D/XRCamera3D.current = true + $XROrigin3D.current = true + + # Start by assuming the user_data contains spawn position information. + var spawn_position = user_data + + # If the user_data is an object with a 'get_spawn_position' method then + # call it (with this [XRToolsSceneBase] allowing it to inspect the scene + # if necessary) and use the return value as the spawn position information. + if typeof(user_data) == TYPE_OBJECT and user_data.has_method("get_spawn_position"): + spawn_position = user_data.get_spawn_position(self) + + # Get the spawn [Transform3D] by inspecting the spawn position value for + # standard types of spawn position information: + # - null to use the standard XROrigin3D location + # - String name of a Node3D to spawn at + # - Vector3 to spawn at + # - Transform3D to spawn at + var spawn_transform : Transform3D = $XROrigin3D.global_transform + match typeof(spawn_position): + TYPE_STRING: # Name of Node3D to spawn at + var node = find_child(spawn_position) + if node is Node3D: + spawn_transform = node.global_transform + + TYPE_VECTOR3: # Vector3 to spawn at (rotation comes from XROrigin3D) + spawn_transform.origin = spawn_position + + TYPE_TRANSFORM3D: # Transform3D spawn location + spawn_transform = spawn_position + + # Center the player on the spawn location + center_player_on(spawn_transform) + + +## This method is called when the scene becomes fully visible to the user. +## +## The [param user_data] parameter is an optional parameter passed in when the +## scene is loaded - usually from the previous scene. +func scene_visible(user_data = null): + # Called after the scene becomes fully visible + pass + + +## This method is called before the start of transition from this scene to a +## new scene. +## +## The [param user_data] parameter is an optional parameter passed in when the +## scene transition is requested. +func scene_pre_exiting(user_data = null): + # Called before we start fading out and removing our scene + pass + + +## This method is called immediately before this scene is unloaded. +## +## +## The [param user_data] parameter is an optional parameter passed in when the +## scene transition is requested. +func scene_exiting(user_data = null): + # called right before we remove this scene + pass + + +## Transition to the main menu scene +## +## This function is used to transition to the main menu scene. The default +## implementation sends the [signal request_exit_to_main_menu]. +## +## Custom scene classes can override this function to add their logic, but +## should usually call this super method. +func exit_to_main_menu() -> void: + emit_signal("request_exit_to_main_menu") + + +## This function is used to transition to the specified scene. The default +## implementation sends the [signal request_load_scene]. +## +## Custom scene classes can override this function to add their logic, but +## should usually call this super method. +## +## The [param user_data] parameter is passed to the new scene, and can be used +## to relay information through the transition. The default behavior of +## [method scene_loaded] will attempt to interpret it as a spawn-point for the +## player as node-name, Vector3, or Transform3D. +## +## See [method scene_loaded] for options to provide advanced scene-transition +## functionality. +func load_scene(p_scene_path : String, user_data = null) -> void: + emit_signal("request_load_scene", p_scene_path, user_data) + + +## This function is used to reset the current scene. The default +## implementation sends the [signal request_reset_scene] which triggers +## a reload of the current scene. +## +## Custom scene classes can override this method to implement faster reset +## logic than is performed by the brute-force scene-reload performed by +## staging. +## +## Any [param user_data] provided is passed into the new scene. +func reset_scene(user_data = null) -> void: + emit_signal("request_reset_scene", user_data) diff --git a/addons/godot-xr-tools/staging/scene_base.tscn b/addons/godot-xr-tools/staging/scene_base.tscn new file mode 100644 index 0000000..6f7bd13 --- /dev/null +++ b/addons/godot-xr-tools/staging/scene_base.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=2 format=3 uid="uid://qbmx03iibuuu"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/staging/scene_base.gd" id="1"] + +[node name="SceneBase" type="Node3D"] +script = ExtResource("1") + +[node name="XROrigin3D" type="XROrigin3D" parent="."] + +[node name="XRCamera3D" type="XRCamera3D" parent="XROrigin3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 0) +far = 300.0 + +[node name="LeftHand" type="XRController3D" parent="XROrigin3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1, -0.5) +tracker = &"left_hand" +pose = &"aim" + +[node name="RightHand" type="XRController3D" parent="XROrigin3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1, -0.5) +tracker = &"right_hand" +pose = &"aim" diff --git a/addons/godot-xr-tools/staging/staging.gd b/addons/godot-xr-tools/staging/staging.gd new file mode 100644 index 0000000..26fd7ba --- /dev/null +++ b/addons/godot-xr-tools/staging/staging.gd @@ -0,0 +1,299 @@ +@tool +class_name XRToolsStaging +extends Node3D + + +## XR Tools Staging Class +## +## When creating a game with multiple levels where you want to +## make use of background loading and have some nice structure +## in place, the Staging scene can be used as a base to handle +## all the startup and scene switching code. +## Just inherit this scene, set it up and make the resulting +## scene your startup scene. +## +## As different XR runtimes need slightly different setups you'll +## need to add the appropriate ARVROrigin setup to your scene. +## When using the OpenXR plugin this is as simple as adding the +## FPController script as a child node. +## +## Furthermore this scene has our loading screen and an anchor +## point into which we load the actual scene we wish the user +## to interact with. You can configure the first scene to load +## and kick off your game by setting the Main Scene property. +## +## If you are creating a game with a single level you may wish to +## simplify things. Check out the demo included in the source +## repository for the OpenXR plugin and then use the techniques +## explained in individual demos found here. + + +## This signal is emitted when the current scene starts to be unloaded. The +## [param scene] parameter is the path of the current scene, and the +## [param user_data] parameter is the optional data passed from the +## current scene to the next. +signal scene_exiting(scene, user_data) + +## This signal is emitted when the old scene has been unloaded and the user +## is fading into the loading scene. The [param user_data] parameter is the +## optional data provided by the old scene. +signal switching_to_loading_scene(user_data) + +## This signal is emitted when the new scene has been loaded before it becomes +## visible. The [param scene] parameter is the path of the new scene, and the +## [param user_data] parameter is the optional data passed from the old scene +## to the new scene. +signal scene_loaded(scene, user_data) + +## This signal is emitted when the new scene has become fully visible to the +## player. The [param scene] parameter is the path of the new scene, and the +## [param user_data] parameter is the optional data passed from the old scene +## to the new scene. +signal scene_visible(scene, user_data) + +## This signal is invoked when the XR experience starts. +signal xr_started + +## This signal is invoked when the XR experience ends. This usually occurs when +## the player removes the headset. The game may want to react by pausing until +## the player puts the headset back on and the [signal xr_started] signal is +## emitted. +signal xr_ended + + +## Main scene file +@export_file('*.tscn') var main_scene : String + +## If true, the player is prompted to continue +@export var prompt_for_continue : bool = true + + +## The current scene +var current_scene : XRToolsSceneBase + +## The current scene path +var current_scene_path : String + +# Tween for fading +var _tween : Tween + +## The [XROrigin3D] node used while staging +@onready var xr_origin : XROrigin3D = XRHelpers.get_xr_origin(self) + +## The [XRCamera3D] node used while staging +@onready var xr_camera : XRCamera3D = XRHelpers.get_xr_camera(self) + + +func _ready(): + # Do not initialise if in the editor + if Engine.is_editor_hint(): + return + + # Specify the camera to track + if xr_camera: + $LoadingScreen.set_camera(xr_camera) + + # We start by loading our main level scene + load_scene(main_scene) + + +# Verifies our staging has a valid configuration. +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Report missing XR Origin + var test_origin : XROrigin3D = XRHelpers.get_xr_origin(self) + if !test_origin: + warnings.append("No XROrigin3D node found, please add one") + + # Report missing XR Camera + var test_camera : XRCamera3D = XRHelpers.get_xr_camera(self) + if !test_camera: + warnings.append("No XRCamera3D node found, please add one to your XROrigin3D node") + + # Report main scene not specified + if main_scene == "": + warnings.append("No main scene selected") + + # Report main scene invalid + if !FileAccess.file_exists(main_scene): + warnings.append("Main scene doesn't exist") + + # Return warnings + return warnings + + +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsStaging" + + +## This function loads the [param p_scene_path] scene file. +## +## The [param user_data] parameter contains optional data passed from the old +## scene to the new scene. +## +## See [method XRToolsSceneBase.scene_loaded] for details on how to implement +## advanced scene-switching. +func load_scene(p_scene_path : String, user_data = null) -> void: + # Do not load if in the editor + if Engine.is_editor_hint(): + return + + if !xr_origin: + return + + if !xr_camera: + return + + if current_scene: + # Start by unloading our scene + + # Let the scene know we're about to remove it + current_scene.scene_pre_exiting(user_data) + + # Remove signals + _remove_signals(current_scene) + + # Fade to black + if _tween: + _tween.kill() + _tween = get_tree().create_tween() + _tween.tween_method(set_fade, 0.0, 1.0, 1.0) + await _tween.finished + + # Now we remove our scene + emit_signal("scene_exiting", current_scene, user_data) + current_scene.scene_exiting(user_data) + $Scene.remove_child(current_scene) + current_scene.queue_free() + current_scene = null + + # Make our loading screen visible again and reset some stuff + xr_origin.set_process_internal(true) + xr_origin.current = true + xr_camera.current = true + $LoadingScreen.progress = 0.0 + $LoadingScreen.enable_press_to_continue = false + $LoadingScreen.follow_camera = true + $LoadingScreen.visible = true + switching_to_loading_scene.emit(user_data) + + # Fade to visible + if _tween: + _tween.kill() + _tween = get_tree().create_tween() + _tween.tween_method(set_fade, 1.0, 0.0, 1.0) + await _tween.finished + + # Load the new scene + var new_scene : PackedScene + if ResourceLoader.has_cached(p_scene_path): + # Load cached scene + new_scene = ResourceLoader.load(p_scene_path) + else: + # Start the loading in a thread + ResourceLoader.load_threaded_request(p_scene_path) + + # Loop waiting for the scene to load + while true: + var progress := [] + var res := ResourceLoader.load_threaded_get_status(p_scene_path, progress) + if res != ResourceLoader.THREAD_LOAD_IN_PROGRESS: + break; + + $LoadingScreen.progress = progress[0] + await get_tree().create_timer(0.1).timeout + + # Get the loaded scene + new_scene = ResourceLoader.load_threaded_get(p_scene_path) + + # Wait for user to be ready + if prompt_for_continue: + $LoadingScreen.enable_press_to_continue = true + await $LoadingScreen.continue_pressed + + # Fade to black + if _tween: + _tween.kill() + _tween = get_tree().create_tween() + _tween.tween_method(set_fade, 0.0, 1.0, 1.0) + await _tween.finished + + # Hide our loading screen + $LoadingScreen.follow_camera = false + $LoadingScreen.visible = false + + # Turn off internal process on our FPController, the internal process + # of our XROrigin3D will submit its positioning data to the XRServer. + # With two XROrigin3D nodes we'll get competing data. + xr_origin.set_process_internal(false) + + # Setup our new scene + current_scene = new_scene.instantiate() + current_scene_path = p_scene_path + $Scene.add_child(current_scene) + _add_signals(current_scene) + + # We create a small delay here to give tracking some time to update our nodes... + await get_tree().create_timer(0.1).timeout + current_scene.scene_loaded(user_data) + scene_loaded.emit(current_scene, user_data) + + # Fade to visible + if _tween: + _tween.kill() + _tween = get_tree().create_tween() + _tween.tween_method(set_fade, 1.0, 0.0, 1.0) + await _tween.finished + + current_scene.scene_visible(user_data) + scene_visible.emit(current_scene, user_data) + + +## This method sets the fade-alpha for scene transitions. The [param p_value] +## parameter must be in the range [0.0 - 1.0]. +## +## Our fade object allows us to black out the screen for transitions. +## Note that our AABB is set to HUGE so it should always be rendered +## unless hidden. +func set_fade(p_value : float): + if p_value == 0.0: + $Fade.visible = false + else: + var material : ShaderMaterial = $Fade.get_surface_override_material(0) + if material: + material.set_shader_parameter("alpha", p_value) + $Fade.visible = true + + +func _add_signals(p_scene : XRToolsSceneBase): + p_scene.connect("request_exit_to_main_menu", _on_exit_to_main_menu) + p_scene.connect("request_load_scene", _on_load_scene) + p_scene.connect("request_reset_scene", _on_reset_scene) + + +func _remove_signals(p_scene : XRToolsSceneBase): + p_scene.disconnect("request_exit_to_main_menu", _on_exit_to_main_menu) + p_scene.disconnect("request_load_scene", _on_load_scene) + p_scene.disconnect("request_reset_scene", _on_reset_scene) + + +func _on_exit_to_main_menu(): + load_scene(main_scene) + + +func _on_load_scene(p_scene_path : String, user_data): + load_scene(p_scene_path, user_data) + + +func _on_reset_scene(user_data): + load_scene(current_scene_path, user_data) + + +func _on_StartXR_xr_started(): + emit_signal("xr_started") + + +func _on_StartXR_xr_ended(): + emit_signal("xr_ended") diff --git a/addons/godot-xr-tools/staging/staging.tscn b/addons/godot-xr-tools/staging/staging.tscn new file mode 100644 index 0000000..d78690b --- /dev/null +++ b/addons/godot-xr-tools/staging/staging.tscn @@ -0,0 +1,50 @@ +[gd_scene load_steps=9 format=3 uid="uid://bnqnnnet4dw12"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/staging/staging.gd" id="1"] +[ext_resource type="PackedScene" uid="uid://bqumugyvkct4r" path="res://addons/godot-xr-tools/staging/loading_screen.tscn" id="2"] +[ext_resource type="Environment" uid="uid://ckiwtcdsam7ed" path="res://addons/godot-xr-tools/staging/staging_env.tres" id="3_40x3a"] +[ext_resource type="Shader" path="res://addons/godot-xr-tools/staging/fade.gdshader" id="4"] +[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/misc/vr_common_shader_cache.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://clc5dre31iskm" path="res://addons/godot-xr-tools/xr/start_xr.tscn" id="6_balvx"] + +[sub_resource type="QuadMesh" id="4"] +custom_aabb = AABB(-5000, -5000, -5000, 10000, 10000, 10000) +size = Vector2(2, 2) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_snlak"] +render_priority = 0 +shader = ExtResource("4") +shader_parameter/alpha = 0.0 + +[node name="Staging" type="Node3D"] +script = ExtResource("1") + +[node name="Fade" type="MeshInstance3D" parent="."] +mesh = SubResource("4") +surface_material_override/0 = SubResource("ShaderMaterial_snlak") + +[node name="XROrigin3D" type="XROrigin3D" parent="."] + +[node name="XRCamera3D" type="XRCamera3D" parent="XROrigin3D"] +environment = ExtResource("3_40x3a") + +[node name="VRCommonShaderCache" parent="XROrigin3D/XRCamera3D" instance=ExtResource("5")] + +[node name="LeftHandController" type="XRController3D" parent="XROrigin3D"] +tracker = &"left_hand" +pose = &"aim" + +[node name="RightHandController" type="XRController3D" parent="XROrigin3D"] +tracker = &"right_hand" +pose = &"aim" + +[node name="LoadingScreen" parent="." instance=ExtResource("2")] +progress = 0.0 + +[node name="Scene" type="Node3D" parent="."] + +[node name="StartXR" parent="." instance=ExtResource("6_balvx")] +physics_rate_multiplier = 1 + +[connection signal="xr_ended" from="StartXR" to="." method="_on_StartXR_xr_ended"] +[connection signal="xr_started" from="StartXR" to="." method="_on_StartXR_xr_started"] diff --git a/addons/godot-xr-tools/staging/staging_env.tres b/addons/godot-xr-tools/staging/staging_env.tres new file mode 100644 index 0000000..00f0655 --- /dev/null +++ b/addons/godot-xr-tools/staging/staging_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=3 uid="uid://ckiwtcdsam7ed"] + +[sub_resource type="Sky" id="1"] + +[resource] +background_mode = 1 +sky = SubResource("1") diff --git a/addons/godot-xr-tools/user_settings/user_settings.gd b/addons/godot-xr-tools/user_settings/user_settings.gd new file mode 100644 index 0000000..d00ebaf --- /dev/null +++ b/addons/godot-xr-tools/user_settings/user_settings.gd @@ -0,0 +1,216 @@ +extends Node + + +## Emitted when the WebXR primary is changed (either by the user or auto detected). +signal webxr_primary_changed (value) + + +enum WebXRPrimary { + AUTO, + THUMBSTICK, + TRACKPAD, +} + + +@export_group("Input") + +## User setting for snap-turn +@export var snap_turning : bool = true + +## User setting for y axis dead zone +@export var y_axis_dead_zone : float = 0.1 + +## User setting for y axis dead zone +@export var x_axis_dead_zone : float = 0.2 + +@export_group("Player") + +## User setting for player height +@export var player_height : float = 1.85: set = set_player_height + +@export_group("WebXR") + +## User setting for WebXR primary +@export var webxr_primary : WebXRPrimary = WebXRPrimary.AUTO: set = set_webxr_primary + + +## Settings file name to persist user settings +var settings_file_name : String = "user://xtools_user_settings.json" + +## Records the first input to generate input (thumbstick or trackpad). +var webxr_auto_primary := 0 + + +# Called when the node enters the scene tree for the first time. +func _ready(): + var webxr_interface = XRServer.find_interface("WebXR") + if webxr_interface: + XRServer.tracker_added.connect(self._on_webxr_tracker_added) + + _load() + + +## Reset to default values +func reset_to_defaults() -> void: + # Reset to defaults. + # Where applicable we obtain our project settings + snap_turning = XRTools.get_default_snap_turning() + y_axis_dead_zone = XRTools.get_y_axis_dead_zone() + x_axis_dead_zone = XRTools.get_x_axis_dead_zone() + player_height = XRTools.get_player_standard_height() + webxr_primary = WebXRPrimary.AUTO + webxr_auto_primary = 0 + +## Set the player height property +func set_player_height(new_value : float) -> void: + player_height = clamp(new_value, 1.0, 2.5) + +## Set the WebXR primary +func set_webxr_primary(new_value : WebXRPrimary) -> void: + webxr_primary = new_value + if webxr_primary == WebXRPrimary.AUTO: + if webxr_auto_primary == 0: + # Don't emit the signal yet, wait until we detect which to use. + pass + else: + webxr_primary_changed.emit(webxr_auto_primary) + else: + webxr_primary_changed.emit(webxr_primary) + + +## Gets the WebXR primary (taking into account auto detection). +func get_real_webxr_primary() -> WebXRPrimary: + if webxr_primary == WebXRPrimary.AUTO: + return webxr_auto_primary + return webxr_primary + + +## Save the settings to file +func save() -> void: + # Convert the settings to a dictionary + var settings := { + "input" : { + "default_snap_turning" : snap_turning, + "y_axis_dead_zone" : y_axis_dead_zone, + "x_axis_dead_zone" : x_axis_dead_zone + }, + "player" : { + "height" : player_height + }, + "webxr" : { + "webxr_primary" : webxr_primary, + } + } + + # Convert the settings dictionary to text + var settings_text := JSON.stringify(settings) + + # Attempt to open the settings file for writing + var file := FileAccess.open(settings_file_name, FileAccess.WRITE) + if not file: + push_warning("Unable to write to %s" % settings_file_name) + return + + # Write the settings text to the file + file.store_line(settings_text) + file.close() + + +## Get the action associated with a WebXR primary choice +static func get_webxr_primary_action(primary : WebXRPrimary) -> String: + match primary: + WebXRPrimary.THUMBSTICK: + return "thumbstick" + + WebXRPrimary.TRACKPAD: + return "trackpad" + + _: + return "auto" + + +## Load the settings from file +func _load() -> void: + # First reset our values + reset_to_defaults() + + # Skip if no settings file found + if !FileAccess.file_exists(settings_file_name): + return + + # Attempt to open the settings file for reading + var file := FileAccess.open(settings_file_name, FileAccess.READ) + if not file: + push_warning("Unable to read from %s" % settings_file_name) + return + + # Read the settings text + var settings_text := file.get_as_text() + file.close() + + # Parse the settings text and verify it's a dictionary + var settings_raw = JSON.parse_string(settings_text) + if typeof(settings_raw) != TYPE_DICTIONARY: + push_warning("Settings file %s is corrupt" % settings_file_name) + return + + # Parse our input settings + var settings : Dictionary = settings_raw + if settings.has("input"): + var input : Dictionary = settings["input"] + if input.has("default_snap_turning"): + snap_turning = input["default_snap_turning"] + if input.has("y_axis_dead_zone"): + y_axis_dead_zone = input["y_axis_dead_zone"] + if input.has("x_axis_dead_zone"): + x_axis_dead_zone = input["x_axis_dead_zone"] + + # Parse our player settings + if settings.has("player"): + var player : Dictionary = settings["player"] + if player.has("height"): + player_height = player["height"] + + # Parse our WebXR settings + if settings.has("webxr"): + var webxr : Dictionary = settings["webxr"] + if webxr.has("webxr_primary"): + webxr_primary = webxr["webxr_primary"] + + +## Used to connect to tracker events when using WebXR. +func _on_webxr_tracker_added(tracker_name: StringName, _type: int) -> void: + if tracker_name == &"left_hand" or tracker_name == &"right_hand": + var tracker := XRServer.get_tracker(tracker_name) + tracker.input_vector2_changed.connect(self._on_webxr_vector2_changed) + + +## Used to auto detect which "primary" input gets used first. +func _on_webxr_vector2_changed(name: String, _vector: Vector2) -> void: + if webxr_auto_primary == 0: + if name == "thumbstick": + webxr_auto_primary = WebXRPrimary.THUMBSTICK + elif name == "trackpad": + webxr_auto_primary = WebXRPrimary.TRACKPAD + + if webxr_auto_primary != 0: + # Let the developer know which one is chosen. + webxr_primary_changed.emit(webxr_auto_primary) + +## Helper function to remap input vector with deadzone values +func get_adjusted_vector2(p_controller, p_input_action): + var vector = Vector2.ZERO + var original_vector = p_controller.get_vector2(p_input_action) + + if abs(original_vector.y) > y_axis_dead_zone: + vector.y = remap(abs(original_vector.y), y_axis_dead_zone, 1, 0, 1) + if original_vector.y < 0: + vector.y *= -1 + + if abs(original_vector.x) > x_axis_dead_zone: + vector.x = remap(abs(original_vector.x), x_axis_dead_zone, 1, 0, 1) + if original_vector.x < 0: + vector.x *= -1 + + return vector + diff --git a/addons/godot-xr-tools/user_settings/user_settings_ui.gd b/addons/godot-xr-tools/user_settings/user_settings_ui.gd new file mode 100644 index 0000000..3f47dcb --- /dev/null +++ b/addons/godot-xr-tools/user_settings/user_settings_ui.gd @@ -0,0 +1,68 @@ +extends TabContainer + +signal player_height_changed(new_height) + +@onready var snap_turning_button = $Input/InputVBox/SnapTurning/SnapTurningCB +@onready var y_deadzone_slider = $Input/InputVBox/yAxisDeadZone/yAxisDeadZoneSlider +@onready var x_deadzone_slider = $Input/InputVBox/xAxisDeadZone/xAxisDeadZoneSlider +@onready var player_height_slider = $Player/PlayerVBox/PlayerHeight/PlayerHeightSlider +@onready var webxr_primary_button = $WebXR/WebXRVBox/WebXR/WebXRPrimary + +func _update(): + # Input + snap_turning_button.button_pressed = XRToolsUserSettings.snap_turning + y_deadzone_slider.value = XRToolsUserSettings.y_axis_dead_zone + x_deadzone_slider.value = XRToolsUserSettings.x_axis_dead_zone + + # Player + player_height_slider.value = XRToolsUserSettings.player_height + + # WebXR + webxr_primary_button.selected = XRToolsUserSettings.webxr_primary + + +# Called when the node enters the scene tree for the first time. +func _ready(): + var webxr_interface = XRServer.find_interface("WebXR") + set_tab_hidden(2, webxr_interface == null) + + if XRToolsUserSettings: + _update() + else: + $Save/Button.disabled = true + + +func _on_Save_pressed(): + if XRToolsUserSettings: + # Save + XRToolsUserSettings.save() + + +func _on_Reset_pressed(): + if XRToolsUserSettings: + XRToolsUserSettings.reset_to_defaults() + _update() + emit_signal("player_height_changed", XRToolsUserSettings.player_height) + + +# Input settings changed +func _on_SnapTurningCB_pressed(): + XRToolsUserSettings.snap_turning = snap_turning_button.button_pressed + + +# Player settings changed +func _on_PlayerHeightSlider_drag_ended(_value_changed): + XRToolsUserSettings.player_height = player_height_slider.value + emit_signal("player_height_changed", XRToolsUserSettings.player_height) + + +func _on_web_xr_primary_item_selected(index: int) -> void: + XRToolsUserSettings.webxr_primary = index + + +func _on_y_axis_dead_zone_slider_value_changed(value): + XRToolsUserSettings.y_axis_dead_zone = y_deadzone_slider.value + +func _on_x_axis_dead_zone_slider_value_changed(value): + XRToolsUserSettings.x_axis_dead_zone = x_deadzone_slider.value + diff --git a/addons/godot-xr-tools/user_settings/user_settings_ui.tscn b/addons/godot-xr-tools/user_settings/user_settings_ui.tscn new file mode 100644 index 0000000..e2a0dcf --- /dev/null +++ b/addons/godot-xr-tools/user_settings/user_settings_ui.tscn @@ -0,0 +1,183 @@ +[gd_scene load_steps=2 format=3 uid="uid://ytsxet2k47lj"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/user_settings/user_settings_ui.gd" id="1"] + +[node name="UserSettingsUI" type="TabContainer"] +offset_right = 214.0 +offset_bottom = 126.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_font_sizes/font_size = 12 +script = ExtResource("1") + +[node name="Input" type="MarginContainer" parent="."] +layout_mode = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="InputVBox" type="VBoxContainer" parent="Input"] +layout_mode = 2 + +[node name="SnapTurning" type="HBoxContainer" parent="Input/InputVBox"] +layout_mode = 2 + +[node name="Label" type="Label" parent="Input/InputVBox/SnapTurning"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Snap turning:" + +[node name="SnapTurningCB" type="CheckBox" parent="Input/InputVBox/SnapTurning"] +layout_mode = 2 + +[node name="yAxisDeadZone" type="HBoxContainer" parent="Input/InputVBox"] +layout_mode = 2 + +[node name="Label" type="Label" parent="Input/InputVBox/yAxisDeadZone"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Y axis dead zone" + +[node name="yAxisDeadZoneSlider" type="HSlider" parent="Input/InputVBox/yAxisDeadZone"] +layout_mode = 2 +size_flags_horizontal = 3 +max_value = 0.5 +step = 0.01 +value = 0.1 + +[node name="xAxisDeadZone" type="HBoxContainer" parent="Input/InputVBox"] +layout_mode = 2 + +[node name="Label" type="Label" parent="Input/InputVBox/xAxisDeadZone"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "X axis dead zone" + +[node name="xAxisDeadZoneSlider" type="HSlider" parent="Input/InputVBox/xAxisDeadZone"] +layout_mode = 2 +size_flags_horizontal = 3 +max_value = 0.5 +step = 0.01 +value = 0.2 + +[node name="HSeparator" type="HSeparator" parent="Input/InputVBox"] +layout_mode = 2 + +[node name="Buttons" type="HBoxContainer" parent="Input/InputVBox"] +layout_mode = 2 +alignment = 1 + +[node name="Save" type="Button" parent="Input/InputVBox/Buttons"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Apply" + +[node name="Reset" type="Button" parent="Input/InputVBox/Buttons"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Reset" + +[node name="Player" type="MarginContainer" parent="."] +visible = false +layout_mode = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="PlayerVBox" type="VBoxContainer" parent="Player"] +layout_mode = 2 + +[node name="PlayerHeight" type="HBoxContainer" parent="Player/PlayerVBox"] +layout_mode = 2 + +[node name="Label" type="Label" parent="Player/PlayerVBox/PlayerHeight"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Height adjust:" + +[node name="PlayerHeightSlider" type="HSlider" parent="Player/PlayerVBox/PlayerHeight"] +layout_mode = 2 +size_flags_horizontal = 3 +min_value = 1.0 +max_value = 2.5 +step = 0.05 +value = 1.0 + +[node name="HSeparator" type="HSeparator" parent="Player/PlayerVBox"] +layout_mode = 2 + +[node name="Buttons" type="HBoxContainer" parent="Player/PlayerVBox"] +layout_mode = 2 +alignment = 1 + +[node name="Save" type="Button" parent="Player/PlayerVBox/Buttons"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Apply" + +[node name="Reset" type="Button" parent="Player/PlayerVBox/Buttons"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Reset" + +[node name="WebXR" type="MarginContainer" parent="."] +visible = false +layout_mode = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="WebXRVBox" type="VBoxContainer" parent="WebXR"] +layout_mode = 2 + +[node name="WebXR" type="HBoxContainer" parent="WebXR/WebXRVBox"] +layout_mode = 2 + +[node name="Label" type="Label" parent="WebXR/WebXRVBox/WebXR"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "WebXR primary:" + +[node name="WebXRPrimary" type="OptionButton" parent="WebXR/WebXRVBox/WebXR"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +item_count = 3 +selected = 0 +popup/item_0/text = "Auto" +popup/item_0/id = 0 +popup/item_1/text = "Thumbstick" +popup/item_1/id = 1 +popup/item_2/text = "Trackpad" +popup/item_2/id = 2 + +[node name="HSeparator" type="HSeparator" parent="WebXR/WebXRVBox"] +layout_mode = 2 + +[node name="Buttons" type="HBoxContainer" parent="WebXR/WebXRVBox"] +layout_mode = 2 +alignment = 1 + +[node name="Save" type="Button" parent="WebXR/WebXRVBox/Buttons"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Apply" + +[node name="Reset" type="Button" parent="WebXR/WebXRVBox/Buttons"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Reset" + +[connection signal="pressed" from="Input/InputVBox/SnapTurning/SnapTurningCB" to="." method="_on_SnapTurningCB_pressed"] +[connection signal="value_changed" from="Input/InputVBox/yAxisDeadZone/yAxisDeadZoneSlider" to="." method="_on_y_axis_dead_zone_slider_value_changed"] +[connection signal="value_changed" from="Input/InputVBox/xAxisDeadZone/xAxisDeadZoneSlider" to="." method="_on_x_axis_dead_zone_slider_value_changed"] +[connection signal="pressed" from="Input/InputVBox/Buttons/Save" to="." method="_on_Save_pressed"] +[connection signal="pressed" from="Input/InputVBox/Buttons/Reset" to="." method="_on_Reset_pressed"] +[connection signal="drag_ended" from="Player/PlayerVBox/PlayerHeight/PlayerHeightSlider" to="." method="_on_PlayerHeightSlider_drag_ended"] +[connection signal="pressed" from="Player/PlayerVBox/Buttons/Save" to="." method="_on_Save_pressed"] +[connection signal="pressed" from="Player/PlayerVBox/Buttons/Reset" to="." method="_on_Reset_pressed"] +[connection signal="item_selected" from="WebXR/WebXRVBox/WebXR/WebXRPrimary" to="." method="_on_PlayerHeightSlider_drag_ended"] +[connection signal="pressed" from="WebXR/WebXRVBox/Buttons/Save" to="." method="_on_Save_pressed"] +[connection signal="pressed" from="WebXR/WebXRVBox/Buttons/Reset" to="." method="_on_Reset_pressed"] diff --git a/addons/godot-xr-tools/xr/start_xr.gd b/addons/godot-xr-tools/xr/start_xr.gd new file mode 100644 index 0000000..590ba15 --- /dev/null +++ b/addons/godot-xr-tools/xr/start_xr.gd @@ -0,0 +1,286 @@ +@tool +class_name XRToolsStartXR +extends Node + + +## XRTools Start XR Class +## +## This class supports both the OpenXR and WebXR interfaces, and handles +## the initialization of the interface as well as reporting when the user +## starts and ends the VR session. +## +## For OpenXR this class also supports passthrough on compatible devices such +## as the Meta Quest 1 and 2. + + +## This signal is emitted when XR becomes active. For OpenXR this corresponds +## with the 'openxr_focused_state' signal which occurs when the application +## starts receiving XR input, and for WebXR this corresponds with the +## 'session_started' signal. +signal xr_started + +## This signal is emitted when XR ends. For OpenXR this corresponds with the +## 'openxr_visible_state' state which occurs when the application has lost +## XR input focus, and for WebXR this corresponds with the 'session_ended' +## signal. +signal xr_ended + + +## If true, the XR interface is automatically initialized +@export var auto_initialize : bool = true + +## Adjusts the pixel density on the rendering target +@export var render_target_size_multiplier : float = 1.0 + +## If true, the XR passthrough is enabled (OpenXR only) +@export var enable_passthrough : bool = false: set = _set_enable_passthrough + +## Physics rate multiplier compared to HMD frame rate +@export var physics_rate_multiplier : int = 1 + +## If non-zero, specifies the target refresh rate +@export var target_refresh_rate : float = 0 + + +## Current XR interface +var xr_interface : XRInterface + +## XR active flag +var xr_active : bool = false + +# Current refresh rate +var _current_refresh_rate : float = 0 + + +# Handle auto-initialization when ready +func _ready() -> void: + if !Engine.is_editor_hint() and auto_initialize: + initialize() + + +## Initialize the XR interface +func initialize() -> bool: + # Check for OpenXR interface + xr_interface = XRServer.find_interface('OpenXR') + if xr_interface: + return _setup_for_openxr() + + # Check for WebXR interface + xr_interface = XRServer.find_interface('WebXR') + if xr_interface: + return _setup_for_webxr() + + # No XR interface + xr_interface = null + print("No XR interface detected") + return false + + +# Check for configuration issues +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + if physics_rate_multiplier < 1: + warnings.append("Physics rate multiplier should be at least 1x the HMD rate") + + return warnings + + +# Perform OpenXR setup +func _setup_for_openxr() -> bool: + print("OpenXR: Configuring interface") + + # Set the render target size multiplier - must be done befor initializing interface + # NOTE: Only implemented in Godot 4.1+ + if "render_target_size_multiplier" in xr_interface: + xr_interface.render_target_size_multiplier = render_target_size_multiplier + + # Initialize the OpenXR interface + if not xr_interface.is_initialized(): + print("OpenXR: Initializing interface") + if not xr_interface.initialize(): + push_error("OpenXR: Failed to initialize") + return false + + # Connect the OpenXR events + xr_interface.connect("session_begun", _on_openxr_session_begun) + xr_interface.connect("session_visible", _on_openxr_visible_state) + xr_interface.connect("session_focussed", _on_openxr_focused_state) + + # Check for passthrough + if enable_passthrough and xr_interface.is_passthrough_supported(): + enable_passthrough = xr_interface.start_passthrough() + + # Disable vsync + DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_DISABLED) + + # Switch the viewport to XR + get_viewport().use_xr = true + + # Report success + return true + + +# Handle OpenXR session ready +func _on_openxr_session_begun() -> void: + print("OpenXR: Session begun") + + # Get the reported refresh rate + _current_refresh_rate = xr_interface.get_display_refresh_rate() + if _current_refresh_rate > 0: + print("OpenXR: Refresh rate reported as ", str(_current_refresh_rate)) + else: + print("OpenXR: No refresh rate given by XR runtime") + + # Pick a desired refresh rate + var desired_rate := target_refresh_rate if target_refresh_rate > 0 else _current_refresh_rate + var available_rates : Array = xr_interface.get_available_display_refresh_rates() + if available_rates.size() == 0: + print("OpenXR: Target does not support refresh rate extension") + elif available_rates.size() == 1: + print("OpenXR: Target supports only one refresh rate") + elif desired_rate > 0: + print("OpenXR: Available refresh rates are ", str(available_rates)) + var rate = _find_closest(available_rates, desired_rate) + if rate > 0: + print("OpenXR: Setting refresh rate to ", str(rate)) + xr_interface.set_display_refresh_rate(rate) + _current_refresh_rate = rate + + # Pick a physics rate + var active_rate := _current_refresh_rate if _current_refresh_rate > 0 else 144.0 + var physics_rate := int(round(active_rate * physics_rate_multiplier)) + print("Setting physics rate to ", physics_rate) + Engine.physics_ticks_per_second = physics_rate + + +# Handle OpenXR visible state +func _on_openxr_visible_state() -> void: + # Report the XR ending + if xr_active: + print("OpenXR: XR ended (visible_state)") + xr_active = false + emit_signal("xr_ended") + + +# Handle OpenXR focused state +func _on_openxr_focused_state() -> void: + # Report the XR starting + if not xr_active: + print("OpenXR: XR started (focused_state)") + xr_active = true + emit_signal("xr_started") + + +# Handle changes to the enable_passthrough property +func _set_enable_passthrough(p_new_value : bool) -> void: + # Save the new value + enable_passthrough = p_new_value + + # Only actually start our passthrough if our interface has been instanced + # if not this will be delayed until initialise is successfully called. + if xr_interface: + if enable_passthrough: + # unset enable_passthrough if we can't start it. + enable_passthrough = xr_interface.start_passthrough() + else: + xr_interface.stop_passthrough() + + +# Perform WebXR setup +func _setup_for_webxr() -> bool: + print("WebXR: Configuring interface") + + # Connect the WebXR events + xr_interface.connect("session_supported", _on_webxr_session_supported) + xr_interface.connect("session_started", _on_webxr_session_started) + xr_interface.connect("session_ended", _on_webxr_session_ended) + xr_interface.connect("session_failed", _on_webxr_session_failed) + + # WebXR currently has no means of querying the refresh rate, so use + # something sufficiently high + Engine.physics_ticks_per_second = 144 + + # If the viewport is already in XR mode then we are done. + if get_viewport().use_xr: + return true + + # This returns immediately - our _webxr_session_supported() method + # (which we connected to the "session_supported" signal above) will + # be called sometime later to let us know if it's supported or not. + xr_interface.is_session_supported("immersive-vr") + + # Report success + return true + + +# Handle WebXR session supported check +func _on_webxr_session_supported(session_mode: String, supported: bool) -> void: + if session_mode == "immersive-vr": + if supported: + # WebXR supported - show canvas on web browser to enter WebVR + $EnterWebXR.visible = true + else: + OS.alert("Your web browser doesn't support VR. Sorry!") + + +# Called when the WebXR session has started successfully +func _on_webxr_session_started() -> void: + print("WebXR: Session started") + + # Hide the canvas and switch the viewport to XR + $EnterWebXR.visible = false + get_viewport().use_xr = true + + # Report the XR starting + xr_active = true + emit_signal("xr_started") + + +# Called when the user ends the immersive VR session +func _on_webxr_session_ended() -> void: + print("WebXR: Session ended") + + # Show the canvas and switch the viewport to non-XR + $EnterWebXR.visible = true + get_viewport().use_xr = false + + # Report the XR ending + xr_active = false + emit_signal("xr_ended") + + +# Called when the immersive VR session fails to start +func _on_webxr_session_failed(message: String) -> void: + OS.alert("Unable to enter VR: " + message) + $EnterWebXR.visible = true + + +# Handle the Enter VR button on the WebXR browser +func _on_enter_webxr_button_pressed() -> void: + # Configure the WebXR interface + xr_interface.session_mode = 'immersive-vr' + xr_interface.requested_reference_space_types = 'bounded-floor, local-floor, local' + xr_interface.required_features = 'local-floor' + xr_interface.optional_features = 'bounded-floor' + + # Initialize the interface. This should trigger either _on_webxr_session_started + # or _on_webxr_session_failed + if not xr_interface.initialize(): + OS.alert("Failed to initialize WebXR") + + +# Find the closest value in the array to the target +func _find_closest(values : Array, target : float) -> float: + # Return 0 if no values + if values.size() == 0: + return 0.0 + + # Find the closest value to the target + var best : float = values.front() + for v in values: + if abs(target - v) < abs(target - best): + best = v + + # Return the best value + return best diff --git a/addons/godot-xr-tools/xr/start_xr.tscn b/addons/godot-xr-tools/xr/start_xr.tscn new file mode 100644 index 0000000..4ef8287 --- /dev/null +++ b/addons/godot-xr-tools/xr/start_xr.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=2 format=3 uid="uid://clc5dre31iskm"] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/xr/start_xr.gd" id="1_ljt1b"] + +[node name="StartXR" type="Node"] +script = ExtResource("1_ljt1b") + +[node name="EnterWebXR" type="CanvasLayer" parent="."] +visible = false + +[node name="EnterVRButton" type="Button" parent="EnterWebXR"] +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -132.0 +offset_top = -52.5 +offset_right = 132.0 +offset_bottom = 52.5 +grow_horizontal = 2 +grow_vertical = 2 +text = "Enter VR" + +[connection signal="pressed" from="EnterWebXR/EnterVRButton" to="." method="_on_enter_webxr_button_pressed"] diff --git a/addons/godot-xr-tools/xr_tools.gd b/addons/godot-xr-tools/xr_tools.gd new file mode 100644 index 0000000..77e9035 --- /dev/null +++ b/addons/godot-xr-tools/xr_tools.gd @@ -0,0 +1,262 @@ +class_name XRTools +extends Node + +## Below are helper functions to obtain various project settings that drive +## the default behavior of XR Tools. The project settings themselves are +## registered in plugin.gd. +## Some of these settings can be overridden by the user through user settings. + +static func get_grip_threshold() -> float: + # can return null which is not a float, so don't type this! + var threshold = 0.7 + + if ProjectSettings.has_setting("godot_xr_tools/input/grip_threshold"): + threshold = ProjectSettings.get_setting("godot_xr_tools/input/grip_threshold") + + if !(threshold >= 0.2 and threshold <= 0.8): + # out of bounds? reset to default + threshold = 0.7 + + return threshold + +static func set_grip_threshold(p_threshold : float) -> void: + if !(p_threshold >= 0.2 and p_threshold <= 0.8): + print("Threshold out of bounds") + return + + ProjectSettings.set_setting("godot_xr_tools/input/grip_threshold", p_threshold) + +static func get_y_axis_dead_zone() -> float: + # can return null which is not a float, so don't type this! + var deadzone = 0.1 + + if ProjectSettings.has_setting("godot_xr_tools/input/y_axis_dead_zone"): + deadzone = ProjectSettings.get_setting("godot_xr_tools/input/y_axis_dead_zone") + + if !(deadzone >= 0.0 and deadzone <= 0.5): + # out of bounds? reset to default + deadzone = 0.1 + + return deadzone + +static func set_y_axis_dead_zone(p_deadzone : float) -> void: + if !(p_deadzone >= 0.0 and p_deadzone <= 0.5): + print("Deadzone out of bounds") + return + + ProjectSettings.set_setting("godot_xr_tools/input/y_axis_dead_zone", p_deadzone) + +static func get_x_axis_dead_zone() -> float: + # can return null which is not a float, so don't type this! + var deadzone = 0.2 + + if ProjectSettings.has_setting("godot_xr_tools/input/x_axis_dead_zone"): + deadzone = ProjectSettings.get_setting("godot_xr_tools/input/x_axis_dead_zone") + + if !(deadzone >= 0.0 and deadzone <= 0.5): + # out of bounds? reset to default + deadzone = 0.2 + + return deadzone + +static func set_x_axis_dead_zone(p_deadzone : float) -> void: + if !(p_deadzone >= 0.0 and p_deadzone <= 0.5): + print("Deadzone out of bounds") + return + + ProjectSettings.set_setting("godot_xr_tools/input/x_axis_dead_zone", p_deadzone) + + +static func get_snap_turning_deadzone() -> float: + # can return null which is not a float, so don't type this! + var deadzone = 0.25 + + if ProjectSettings.has_setting("godot_xr_tools/input/snap_turning_deadzone"): + deadzone = ProjectSettings.get_setting("godot_xr_tools/input/snap_turning_deadzone") + + if !(deadzone >= 0.0 and deadzone <= 0.5): + # out of bounds? reset to default + deadzone = 0.25 + + return deadzone + +static func set_snap_turning_deadzone(p_deadzone : float) -> void: + if !(p_deadzone >= 0.0 and p_deadzone <= 0.5): + print("Deadzone out of bounds") + return + + ProjectSettings.set_setting("godot_xr_tools/input/snap_turning_deadzone", p_deadzone) + + +static func get_default_snap_turning() -> bool: + var default = true + + if ProjectSettings.has_setting("godot_xr_tools/input/default_snap_turning"): + default = ProjectSettings.get_setting("godot_xr_tools/input/default_snap_turning") + + # default may not be bool, so JIC + return default == true + +static func set_default_snap_turning(p_default : bool) -> void: + ProjectSettings.set_setting("godot_xr_tools/input/default_snap_turning", p_default) + + +static func get_player_standard_height() -> float: + var standard_height = 1.85 + + if ProjectSettings.has_setting("godot_xr_tools/player/standard_height"): + standard_height = ProjectSettings.get_setting("godot_xr_tools/player/standard_height") + + if !(standard_height >= 1.0 and standard_height <= 2.5): + # out of bounds? reset to default + standard_height = 1.85 + + return standard_height + +static func set_player_standard_height(p_height : float) -> void: + if !(p_height >= 1.0 and p_height <= 2.5): + print("Standard height out of bounds") + return + + ProjectSettings.set_setting("godot_xr_tools/player/standard_height", p_height) + +## Find all children of the specified node matching the given criteria +## +## This function returns an array containing all children of the specified +## node matching the given criteria. This function can be slow and find_child +## is faster if only one child is needed. +## +## The pattern argument specifies the match pattern to check against the +## node name. Use "*" to match anything. +## +## The type argument specifies the type of node to find. Use "" to match any +## type. +## +## The recursive argument specifies whether the search deeply though all child +## nodes, or whether to only check the immediate children. +## +## The owned argument specifies whether the node must be owned. +static func find_xr_children( + node : Node, + pattern : String, + type : String = "", + recursive : bool = true, + owned : bool = true) -> Array: + # Find the children + var found := [] + if node: + _find_xr_children(found, node, pattern, type, recursive, owned) + return found + +## Find a child of the specified node matching the given criteria +## +## This function finds the first child of the specified node matching the given +## criteria. +## +## The pattern argument specifies the match pattern to check against the +## node name. Use "*" to match anything. +## +## The type argument specifies the type of node to find. Use "" to match any +## type. +## +## The recursive argument specifies whether the search deeply though all child +## nodes, or whether to only check the immediate children. +## +## The owned argument specifies whether the node must be owned. +static func find_xr_child( + node : Node, + pattern : String, + type : String = "", + recursive : bool = true, + owned : bool = true) -> Node: + # Find the child + if node: + return _find_xr_child(node, pattern, type, recursive, owned) + + # Invalid node + return null + +## Find an ancestor of the specified node matching the given criteria +## +## This function finds the first ancestor of the specified node matching the +## given criteria. +## +## The pattern argument specifies the match pattern to check against the +## node name. Use "*" to match anything. +## +## The type argument specifies the type of node to find. Use "" to match any +## type. +static func find_xr_ancestor( + node : Node, + pattern : String, + type : String = "") -> Node: + # Loop finding ancestor + while node: + # If node matches filter then break + if (node.name.match(pattern) and + (type == "" or is_xr_class(node, type))): + break + + # Advance to parent + node = node.get_parent() + + # Return found node (or null) + return node + +# Recursive helper function for find_children. +static func _find_xr_children( + found : Array, + node : Node, + pattern : String, + type : String, + recursive : bool, + owned : bool) -> void: + # Iterate over all children + for i in node.get_child_count(): + # Get the child + var child := node.get_child(i) + + # If child matches filter then add it to the array + if (child.name.match(pattern) and + (type == "" or is_xr_class(child, type)) and + (not owned or child.owner)): + found.push_back(child) + + # If recursive is enabled then descend into children + if recursive: + _find_xr_children(found, child, pattern, type, recursive, owned) + +# Recursive helper functiomn for find_child +static func _find_xr_child( + node : Node, + pattern : String, + type : String, + recursive : bool, + owned : bool) -> Node: + # Iterate over all children + for i in node.get_child_count(): + # Get the child + var child := node.get_child(i) + + # If child matches filter then return it + if (child.name.match(pattern) and + (type == "" or is_xr_class(child, type)) and + (not owned or child.owner)): + return child + + # If recursive is enabled then descend into children + if recursive: + var found := _find_xr_child(child, pattern, type, recursive, owned) + if found: + return found + + # Not found + return null + +# Test if a given node is of the specified class +static func is_xr_class(node : Node, type : String) -> bool: + if node.has_method("is_xr_class"): + if node.is_xr_class(type): + return true + + return node.is_class(type) diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..b370ceb --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..226566a --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnc4gf261swvs" +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/main.tscn b/main.tscn new file mode 100644 index 0000000..ab9ae86 --- /dev/null +++ b/main.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=4 format=3 uid="uid://18sldbn0hij8"] + +[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="1_66jmx"] +[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="2_3f5tl"] +[ext_resource type="PackedScene" uid="uid://clc5dre31iskm" path="res://addons/godot-xr-tools/xr/start_xr.tscn" id="3_iaq1p"] + +[node name="Main" type="Node3D"] + +[node name="XROrigin3D" type="XROrigin3D" parent="."] + +[node name="XRCamera3D" type="XRCamera3D" parent="XROrigin3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6555, 0) + +[node name="LeftHand" type="XRController3D" parent="XROrigin3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.341606, 0.506389, 0) +tracker = &"left_hand" +pose = &"aim" + +[node name="LeftHand" parent="XROrigin3D/LeftHand" instance=ExtResource("1_66jmx")] + +[node name="RightHand" type="XRController3D" parent="XROrigin3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.408271, 0.538159, 0) +tracker = &"right_hand" +pose = &"aim" + +[node name="RightHand" parent="XROrigin3D/RightHand" instance=ExtResource("2_3f5tl")] + +[node name="StartXR" parent="." instance=ExtResource("3_iaq1p")] +enable_passthrough = true diff --git a/openxr_action_map.tres b/openxr_action_map.tres new file mode 100644 index 0000000..b731baf --- /dev/null +++ b/openxr_action_map.tres @@ -0,0 +1,835 @@ +[gd_resource type="OpenXRActionMap" load_steps=197 format=3 uid="uid://gs7cp42p8eto"] + +[sub_resource type="OpenXRAction" id="OpenXRAction_q1i8v"] +resource_name = "trigger" +localized_name = "Trigger" +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_2la4t"] +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_ahush"] +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_w50st"] +resource_name = "grip" +localized_name = "Grip" +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_hjfn1"] +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_uqlso"] +resource_name = "grip_touch" +localized_name = "Grip touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_d81o5"] +resource_name = "grip_force" +localized_name = "Grip force" +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_1qkem"] +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_mw62d"] +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_vyfej"] +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_skph0"] +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_ex4re"] +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_g81y4"] +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_lc4t5"] +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_diti2"] +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_8nx4f"] +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_2q3wy"] +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_mv7tf"] +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_1whyb"] +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_040i8"] +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") + +[sub_resource type="OpenXRAction" id="OpenXRAction_iq3mb"] +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_mesn2"] +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_esp51"] +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_c2ak4"] +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_6doge"] +resource_name = "godot" +localized_name = "Godot action set" +actions = [SubResource("OpenXRAction_q1i8v"), SubResource("OpenXRAction_2la4t"), SubResource("OpenXRAction_ahush"), SubResource("OpenXRAction_w50st"), SubResource("OpenXRAction_hjfn1"), SubResource("OpenXRAction_uqlso"), SubResource("OpenXRAction_d81o5"), SubResource("OpenXRAction_1qkem"), SubResource("OpenXRAction_mw62d"), SubResource("OpenXRAction_vyfej"), SubResource("OpenXRAction_skph0"), SubResource("OpenXRAction_ex4re"), SubResource("OpenXRAction_g81y4"), SubResource("OpenXRAction_lc4t5"), SubResource("OpenXRAction_diti2"), SubResource("OpenXRAction_8nx4f"), SubResource("OpenXRAction_2q3wy"), SubResource("OpenXRAction_mv7tf"), SubResource("OpenXRAction_1whyb"), SubResource("OpenXRAction_040i8"), SubResource("OpenXRAction_iq3mb"), SubResource("OpenXRAction_mesn2"), SubResource("OpenXRAction_esp51"), SubResource("OpenXRAction_c2ak4")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_21jpr"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lxp56"] +action = SubResource("OpenXRAction_iq3mb") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_etinh"] +action = SubResource("OpenXRAction_mesn2") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_otf88"] +action = SubResource("OpenXRAction_esp51") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lq08k"] +action = SubResource("OpenXRAction_lc4t5") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_reu7a"] +action = SubResource("OpenXRAction_diti2") +paths = PackedStringArray("/user/hand/left/input/select/click", "/user/hand/right/input/select/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vlix5"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_rtx12"] +interaction_profile_path = "/interaction_profiles/khr/simple_controller" +bindings = [SubResource("OpenXRIPBinding_21jpr"), SubResource("OpenXRIPBinding_lxp56"), SubResource("OpenXRIPBinding_etinh"), SubResource("OpenXRIPBinding_otf88"), SubResource("OpenXRIPBinding_lq08k"), SubResource("OpenXRIPBinding_reu7a"), SubResource("OpenXRIPBinding_vlix5")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_w2bt2"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_to525"] +action = SubResource("OpenXRAction_iq3mb") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_btktf"] +action = SubResource("OpenXRAction_mesn2") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4qcdk"] +action = SubResource("OpenXRAction_esp51") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jyeev"] +action = SubResource("OpenXRAction_lc4t5") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_whd2k"] +action = SubResource("OpenXRAction_diti2") +paths = PackedStringArray("/user/hand/left/input/system/click", "/user/hand/right/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_l3a4b"] +action = SubResource("OpenXRAction_q1i8v") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_q4105"] +action = SubResource("OpenXRAction_2la4t") +paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2u4i6"] +action = SubResource("OpenXRAction_w50st") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jbtss"] +action = SubResource("OpenXRAction_hjfn1") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hcoo3"] +action = SubResource("OpenXRAction_1qkem") +paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mdwfo"] +action = SubResource("OpenXRAction_mw62d") +paths = PackedStringArray("/user/hand/left/input/trackpad/click", "/user/hand/right/input/trackpad/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mxb6s"] +action = SubResource("OpenXRAction_vyfej") +paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4oitw"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_uxbat"] +interaction_profile_path = "/interaction_profiles/htc/vive_controller" +bindings = [SubResource("OpenXRIPBinding_w2bt2"), SubResource("OpenXRIPBinding_to525"), SubResource("OpenXRIPBinding_btktf"), SubResource("OpenXRIPBinding_4qcdk"), SubResource("OpenXRIPBinding_jyeev"), SubResource("OpenXRIPBinding_whd2k"), SubResource("OpenXRIPBinding_l3a4b"), SubResource("OpenXRIPBinding_q4105"), SubResource("OpenXRIPBinding_2u4i6"), SubResource("OpenXRIPBinding_jbtss"), SubResource("OpenXRIPBinding_hcoo3"), SubResource("OpenXRIPBinding_mdwfo"), SubResource("OpenXRIPBinding_mxb6s"), SubResource("OpenXRIPBinding_4oitw")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ptjub"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_f8dib"] +action = SubResource("OpenXRAction_iq3mb") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_su4mj"] +action = SubResource("OpenXRAction_mesn2") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vssiw"] +action = SubResource("OpenXRAction_esp51") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5yqo7"] +action = SubResource("OpenXRAction_lc4t5") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7ylaf"] +action = SubResource("OpenXRAction_q1i8v") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hm0w6"] +action = SubResource("OpenXRAction_2la4t") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_wya8w"] +action = SubResource("OpenXRAction_w50st") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ixh3t"] +action = SubResource("OpenXRAction_hjfn1") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_entpe"] +action = SubResource("OpenXRAction_1qkem") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_krypv"] +action = SubResource("OpenXRAction_mw62d") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p3w8u"] +action = SubResource("OpenXRAction_skph0") +paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sttdx"] +action = SubResource("OpenXRAction_ex4re") +paths = PackedStringArray("/user/hand/left/input/trackpad/click", "/user/hand/right/input/trackpad/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1p2a4"] +action = SubResource("OpenXRAction_g81y4") +paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jc6rm"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_1xmth"] +interaction_profile_path = "/interaction_profiles/microsoft/motion_controller" +bindings = [SubResource("OpenXRIPBinding_ptjub"), SubResource("OpenXRIPBinding_f8dib"), SubResource("OpenXRIPBinding_su4mj"), SubResource("OpenXRIPBinding_vssiw"), SubResource("OpenXRIPBinding_5yqo7"), SubResource("OpenXRIPBinding_7ylaf"), SubResource("OpenXRIPBinding_hm0w6"), SubResource("OpenXRIPBinding_wya8w"), SubResource("OpenXRIPBinding_ixh3t"), SubResource("OpenXRIPBinding_entpe"), SubResource("OpenXRIPBinding_krypv"), SubResource("OpenXRIPBinding_p3w8u"), SubResource("OpenXRIPBinding_sttdx"), SubResource("OpenXRIPBinding_1p2a4"), SubResource("OpenXRIPBinding_jc6rm")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2jq5g"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_l362f"] +action = SubResource("OpenXRAction_iq3mb") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_i3ili"] +action = SubResource("OpenXRAction_mesn2") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4l544"] +action = SubResource("OpenXRAction_esp51") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_g1dmg"] +action = SubResource("OpenXRAction_lc4t5") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ynk27"] +action = SubResource("OpenXRAction_8nx4f") +paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d37e8"] +action = SubResource("OpenXRAction_2q3wy") +paths = PackedStringArray("/user/hand/left/input/x/touch", "/user/hand/right/input/a/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kmrl4"] +action = SubResource("OpenXRAction_mv7tf") +paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_a2i4g"] +action = SubResource("OpenXRAction_1whyb") +paths = PackedStringArray("/user/hand/left/input/y/touch", "/user/hand/right/input/b/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ex53t"] +action = SubResource("OpenXRAction_q1i8v") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_x0sxv"] +action = SubResource("OpenXRAction_2la4t") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gtpts"] +action = SubResource("OpenXRAction_ahush") +paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8xcvw"] +action = SubResource("OpenXRAction_w50st") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_m8y8f"] +action = SubResource("OpenXRAction_hjfn1") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2cx4b"] +action = SubResource("OpenXRAction_1qkem") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_u168g"] +action = SubResource("OpenXRAction_mw62d") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_12o0y"] +action = SubResource("OpenXRAction_vyfej") +paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_03jek"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_0qfe6"] +interaction_profile_path = "/interaction_profiles/oculus/touch_controller" +bindings = [SubResource("OpenXRIPBinding_2jq5g"), SubResource("OpenXRIPBinding_l362f"), SubResource("OpenXRIPBinding_i3ili"), SubResource("OpenXRIPBinding_4l544"), SubResource("OpenXRIPBinding_g1dmg"), SubResource("OpenXRIPBinding_ynk27"), SubResource("OpenXRIPBinding_d37e8"), SubResource("OpenXRIPBinding_kmrl4"), SubResource("OpenXRIPBinding_a2i4g"), SubResource("OpenXRIPBinding_ex53t"), SubResource("OpenXRIPBinding_x0sxv"), SubResource("OpenXRIPBinding_gtpts"), SubResource("OpenXRIPBinding_8xcvw"), SubResource("OpenXRIPBinding_m8y8f"), SubResource("OpenXRIPBinding_2cx4b"), SubResource("OpenXRIPBinding_u168g"), SubResource("OpenXRIPBinding_12o0y"), SubResource("OpenXRIPBinding_03jek")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_47571"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ilo31"] +action = SubResource("OpenXRAction_iq3mb") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_48w8c"] +action = SubResource("OpenXRAction_mesn2") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fx6qk"] +action = SubResource("OpenXRAction_esp51") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bvr3b"] +action = SubResource("OpenXRAction_diti2") +paths = PackedStringArray("/user/hand/left/input/system/click", "/user/hand/right/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hg8ga"] +action = SubResource("OpenXRAction_lc4t5") +paths = PackedStringArray("/user/hand/left/input/back/click", "/user/hand/right/input/back/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d8wry"] +action = SubResource("OpenXRAction_8nx4f") +paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0a0cj"] +action = SubResource("OpenXRAction_2q3wy") +paths = PackedStringArray("/user/hand/left/input/x/touch", "/user/hand/right/input/a/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jlujy"] +action = SubResource("OpenXRAction_mv7tf") +paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_g3qew"] +action = SubResource("OpenXRAction_1whyb") +paths = PackedStringArray("/user/hand/left/input/y/touch", "/user/hand/right/input/b/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_widx5"] +action = SubResource("OpenXRAction_q1i8v") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_068a7"] +action = SubResource("OpenXRAction_2la4t") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_g0tpl"] +action = SubResource("OpenXRAction_ahush") +paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_je64b"] +action = SubResource("OpenXRAction_w50st") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dnixg"] +action = SubResource("OpenXRAction_hjfn1") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_357q1"] +action = SubResource("OpenXRAction_1qkem") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e8wqe"] +action = SubResource("OpenXRAction_mw62d") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mjcfo"] +action = SubResource("OpenXRAction_vyfej") +paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_n5up2"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_noym7"] +interaction_profile_path = "/interaction_profiles/pico/neo3_controller" +bindings = [SubResource("OpenXRIPBinding_47571"), SubResource("OpenXRIPBinding_ilo31"), SubResource("OpenXRIPBinding_48w8c"), SubResource("OpenXRIPBinding_fx6qk"), SubResource("OpenXRIPBinding_bvr3b"), SubResource("OpenXRIPBinding_hg8ga"), SubResource("OpenXRIPBinding_d8wry"), SubResource("OpenXRIPBinding_0a0cj"), SubResource("OpenXRIPBinding_jlujy"), SubResource("OpenXRIPBinding_g3qew"), SubResource("OpenXRIPBinding_widx5"), SubResource("OpenXRIPBinding_068a7"), SubResource("OpenXRIPBinding_g0tpl"), SubResource("OpenXRIPBinding_je64b"), SubResource("OpenXRIPBinding_dnixg"), SubResource("OpenXRIPBinding_357q1"), SubResource("OpenXRIPBinding_e8wqe"), SubResource("OpenXRIPBinding_mjcfo"), SubResource("OpenXRIPBinding_n5up2")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bir01"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5xxbt"] +action = SubResource("OpenXRAction_iq3mb") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6cnvv"] +action = SubResource("OpenXRAction_mesn2") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4fqf8"] +action = SubResource("OpenXRAction_esp51") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_drihh"] +action = SubResource("OpenXRAction_lc4t5") +paths = PackedStringArray("/user/hand/left/input/system/click", "/user/hand/right/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xig66"] +action = SubResource("OpenXRAction_8nx4f") +paths = PackedStringArray("/user/hand/left/input/a/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_l4f4o"] +action = SubResource("OpenXRAction_2q3wy") +paths = PackedStringArray("/user/hand/left/input/a/touch", "/user/hand/right/input/a/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cfn11"] +action = SubResource("OpenXRAction_mv7tf") +paths = PackedStringArray("/user/hand/left/input/b/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_tmb5p"] +action = SubResource("OpenXRAction_1whyb") +paths = PackedStringArray("/user/hand/left/input/b/touch", "/user/hand/right/input/b/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bui2t"] +action = SubResource("OpenXRAction_q1i8v") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e7bku"] +action = SubResource("OpenXRAction_2la4t") +paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_34ym5"] +action = SubResource("OpenXRAction_ahush") +paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sa2ae"] +action = SubResource("OpenXRAction_w50st") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_leb3g"] +action = SubResource("OpenXRAction_hjfn1") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3bypt"] +action = SubResource("OpenXRAction_d81o5") +paths = PackedStringArray("/user/hand/left/input/squeeze/force", "/user/hand/right/input/squeeze/force") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hlviy"] +action = SubResource("OpenXRAction_1qkem") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xpg41"] +action = SubResource("OpenXRAction_mw62d") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pegk7"] +action = SubResource("OpenXRAction_vyfej") +paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_syq2y"] +action = SubResource("OpenXRAction_skph0") +paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vvoo3"] +action = SubResource("OpenXRAction_ex4re") +paths = PackedStringArray("/user/hand/left/input/trackpad/force", "/user/hand/right/input/trackpad/force") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o361t"] +action = SubResource("OpenXRAction_g81y4") +paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pi7e4"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_sqhjc"] +interaction_profile_path = "/interaction_profiles/valve/index_controller" +bindings = [SubResource("OpenXRIPBinding_bir01"), SubResource("OpenXRIPBinding_5xxbt"), SubResource("OpenXRIPBinding_6cnvv"), SubResource("OpenXRIPBinding_4fqf8"), SubResource("OpenXRIPBinding_drihh"), SubResource("OpenXRIPBinding_xig66"), SubResource("OpenXRIPBinding_l4f4o"), SubResource("OpenXRIPBinding_cfn11"), SubResource("OpenXRIPBinding_tmb5p"), SubResource("OpenXRIPBinding_bui2t"), SubResource("OpenXRIPBinding_e7bku"), SubResource("OpenXRIPBinding_34ym5"), SubResource("OpenXRIPBinding_sa2ae"), SubResource("OpenXRIPBinding_leb3g"), SubResource("OpenXRIPBinding_3bypt"), SubResource("OpenXRIPBinding_hlviy"), SubResource("OpenXRIPBinding_xpg41"), SubResource("OpenXRIPBinding_pegk7"), SubResource("OpenXRIPBinding_syq2y"), SubResource("OpenXRIPBinding_vvoo3"), SubResource("OpenXRIPBinding_o361t"), SubResource("OpenXRIPBinding_pi7e4")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rvivf"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_clrk1"] +action = SubResource("OpenXRAction_iq3mb") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hr42u"] +action = SubResource("OpenXRAction_mesn2") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7vxh4"] +action = SubResource("OpenXRAction_esp51") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qyg7l"] +action = SubResource("OpenXRAction_lc4t5") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lxsux"] +action = SubResource("OpenXRAction_8nx4f") +paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mruk0"] +action = SubResource("OpenXRAction_mv7tf") +paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e6saq"] +action = SubResource("OpenXRAction_q1i8v") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_joekh"] +action = SubResource("OpenXRAction_2la4t") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_tosn0"] +action = SubResource("OpenXRAction_w50st") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kgirs"] +action = SubResource("OpenXRAction_hjfn1") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dducc"] +action = SubResource("OpenXRAction_1qkem") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o5dv8"] +action = SubResource("OpenXRAction_mw62d") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ctkhc"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_3kktn"] +interaction_profile_path = "/interaction_profiles/hp/mixed_reality_controller" +bindings = [SubResource("OpenXRIPBinding_rvivf"), SubResource("OpenXRIPBinding_clrk1"), SubResource("OpenXRIPBinding_hr42u"), SubResource("OpenXRIPBinding_7vxh4"), SubResource("OpenXRIPBinding_qyg7l"), SubResource("OpenXRIPBinding_lxsux"), SubResource("OpenXRIPBinding_mruk0"), SubResource("OpenXRIPBinding_e6saq"), SubResource("OpenXRIPBinding_joekh"), SubResource("OpenXRIPBinding_tosn0"), SubResource("OpenXRIPBinding_kgirs"), SubResource("OpenXRIPBinding_dducc"), SubResource("OpenXRIPBinding_o5dv8"), SubResource("OpenXRIPBinding_ctkhc")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_k1gr8"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ny1od"] +action = SubResource("OpenXRAction_iq3mb") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hdbl3"] +action = SubResource("OpenXRAction_mesn2") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_y6i05"] +action = SubResource("OpenXRAction_esp51") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_468ph"] +action = SubResource("OpenXRAction_lc4t5") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5kra7"] +action = SubResource("OpenXRAction_q1i8v") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8j6ge"] +action = SubResource("OpenXRAction_2la4t") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yrus0"] +action = SubResource("OpenXRAction_w50st") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_neu3a"] +action = SubResource("OpenXRAction_hjfn1") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2wqk6"] +action = SubResource("OpenXRAction_1qkem") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yw2on"] +action = SubResource("OpenXRAction_mw62d") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_exlak"] +action = SubResource("OpenXRAction_skph0") +paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qe211"] +action = SubResource("OpenXRAction_ex4re") +paths = PackedStringArray("/user/hand/left/input/trackpad/click", "/user/hand/right/input/trackpad/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_r1mnx"] +action = SubResource("OpenXRAction_g81y4") +paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6o035"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_yfuta"] +interaction_profile_path = "/interaction_profiles/samsung/odyssey_controller" +bindings = [SubResource("OpenXRIPBinding_k1gr8"), SubResource("OpenXRIPBinding_ny1od"), SubResource("OpenXRIPBinding_hdbl3"), SubResource("OpenXRIPBinding_y6i05"), SubResource("OpenXRIPBinding_468ph"), SubResource("OpenXRIPBinding_5kra7"), SubResource("OpenXRIPBinding_8j6ge"), SubResource("OpenXRIPBinding_yrus0"), SubResource("OpenXRIPBinding_neu3a"), SubResource("OpenXRIPBinding_2wqk6"), SubResource("OpenXRIPBinding_yw2on"), SubResource("OpenXRIPBinding_exlak"), SubResource("OpenXRIPBinding_qe211"), SubResource("OpenXRIPBinding_r1mnx"), SubResource("OpenXRIPBinding_6o035")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fvntp"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vok7j"] +action = SubResource("OpenXRAction_iq3mb") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8k82x"] +action = SubResource("OpenXRAction_mesn2") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3l83b"] +action = SubResource("OpenXRAction_esp51") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_28c24"] +action = SubResource("OpenXRAction_lc4t5") +paths = PackedStringArray("/user/hand/left/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_axft7"] +action = SubResource("OpenXRAction_diti2") +paths = PackedStringArray("/user/hand/right/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yu0jj"] +action = SubResource("OpenXRAction_8nx4f") +paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_buy1w"] +action = SubResource("OpenXRAction_mv7tf") +paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_usmfb"] +action = SubResource("OpenXRAction_q1i8v") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e3hx6"] +action = SubResource("OpenXRAction_2la4t") +paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d5732"] +action = SubResource("OpenXRAction_w50st") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_18avs"] +action = SubResource("OpenXRAction_hjfn1") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ci246"] +action = SubResource("OpenXRAction_1qkem") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ewfxa"] +action = SubResource("OpenXRAction_mw62d") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3nmmf"] +action = SubResource("OpenXRAction_vyfej") +paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4j872"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_j1wg5"] +interaction_profile_path = "/interaction_profiles/htc/vive_cosmos_controller" +bindings = [SubResource("OpenXRIPBinding_fvntp"), SubResource("OpenXRIPBinding_vok7j"), SubResource("OpenXRIPBinding_8k82x"), SubResource("OpenXRIPBinding_3l83b"), SubResource("OpenXRIPBinding_28c24"), SubResource("OpenXRIPBinding_axft7"), SubResource("OpenXRIPBinding_yu0jj"), SubResource("OpenXRIPBinding_buy1w"), SubResource("OpenXRIPBinding_usmfb"), SubResource("OpenXRIPBinding_e3hx6"), SubResource("OpenXRIPBinding_d5732"), SubResource("OpenXRIPBinding_18avs"), SubResource("OpenXRIPBinding_ci246"), SubResource("OpenXRIPBinding_ewfxa"), SubResource("OpenXRIPBinding_3nmmf"), SubResource("OpenXRIPBinding_4j872")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_u0ute"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hi5xa"] +action = SubResource("OpenXRAction_iq3mb") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6j7ml"] +action = SubResource("OpenXRAction_mesn2") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_m0tt0"] +action = SubResource("OpenXRAction_esp51") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e3by6"] +action = SubResource("OpenXRAction_lc4t5") +paths = PackedStringArray("/user/hand/left/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7bw5r"] +action = SubResource("OpenXRAction_diti2") +paths = PackedStringArray("/user/hand/right/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_74eml"] +action = SubResource("OpenXRAction_8nx4f") +paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_c61kg"] +action = SubResource("OpenXRAction_mv7tf") +paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mklgv"] +action = SubResource("OpenXRAction_q1i8v") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0ja3q"] +action = SubResource("OpenXRAction_2la4t") +paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_t37db"] +action = SubResource("OpenXRAction_ahush") +paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_v6asv"] +action = SubResource("OpenXRAction_w50st") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h2mmq"] +action = SubResource("OpenXRAction_hjfn1") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8y8t1"] +action = SubResource("OpenXRAction_1qkem") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_f7fqb"] +action = SubResource("OpenXRAction_mw62d") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4d1hu"] +action = SubResource("OpenXRAction_vyfej") +paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_f77m5"] +action = SubResource("OpenXRAction_g81y4") +paths = PackedStringArray("/user/hand/left/input/thumbrest/touch", "/user/hand/right/input/thumbrest/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_n7yoi"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_tvngl"] +interaction_profile_path = "/interaction_profiles/htc/vive_focus3_controller" +bindings = [SubResource("OpenXRIPBinding_u0ute"), SubResource("OpenXRIPBinding_hi5xa"), SubResource("OpenXRIPBinding_6j7ml"), SubResource("OpenXRIPBinding_m0tt0"), SubResource("OpenXRIPBinding_e3by6"), SubResource("OpenXRIPBinding_7bw5r"), SubResource("OpenXRIPBinding_74eml"), SubResource("OpenXRIPBinding_c61kg"), SubResource("OpenXRIPBinding_mklgv"), SubResource("OpenXRIPBinding_0ja3q"), SubResource("OpenXRIPBinding_t37db"), SubResource("OpenXRIPBinding_v6asv"), SubResource("OpenXRIPBinding_h2mmq"), SubResource("OpenXRIPBinding_8y8t1"), SubResource("OpenXRIPBinding_f7fqb"), SubResource("OpenXRIPBinding_4d1hu"), SubResource("OpenXRIPBinding_f77m5"), SubResource("OpenXRIPBinding_n7yoi")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_28xpp"] +action = SubResource("OpenXRAction_040i8") +paths = PackedStringArray("/user/vive_tracker_htcx/role/left_foot/input/grip/pose", "/user/vive_tracker_htcx/role/right_foot/input/grip/pose", "/user/vive_tracker_htcx/role/left_shoulder/input/grip/pose", "/user/vive_tracker_htcx/role/right_shoulder/input/grip/pose", "/user/vive_tracker_htcx/role/left_elbow/input/grip/pose", "/user/vive_tracker_htcx/role/right_elbow/input/grip/pose", "/user/vive_tracker_htcx/role/left_knee/input/grip/pose", "/user/vive_tracker_htcx/role/right_knee/input/grip/pose", "/user/vive_tracker_htcx/role/waist/input/grip/pose", "/user/vive_tracker_htcx/role/chest/input/grip/pose", "/user/vive_tracker_htcx/role/camera/input/grip/pose", "/user/vive_tracker_htcx/role/keyboard/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5t1m4"] +action = SubResource("OpenXRAction_c2ak4") +paths = PackedStringArray("/user/vive_tracker_htcx/role/left_foot/output/haptic", "/user/vive_tracker_htcx/role/right_foot/output/haptic", "/user/vive_tracker_htcx/role/left_shoulder/output/haptic", "/user/vive_tracker_htcx/role/right_shoulder/output/haptic", "/user/vive_tracker_htcx/role/left_elbow/output/haptic", "/user/vive_tracker_htcx/role/right_elbow/output/haptic", "/user/vive_tracker_htcx/role/left_knee/output/haptic", "/user/vive_tracker_htcx/role/right_knee/output/haptic", "/user/vive_tracker_htcx/role/waist/output/haptic", "/user/vive_tracker_htcx/role/chest/output/haptic", "/user/vive_tracker_htcx/role/camera/output/haptic", "/user/vive_tracker_htcx/role/keyboard/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_r81v3"] +interaction_profile_path = "/interaction_profiles/htc/vive_tracker_htcx" +bindings = [SubResource("OpenXRIPBinding_28xpp"), SubResource("OpenXRIPBinding_5t1m4")] + +[resource] +action_sets = [SubResource("OpenXRActionSet_6doge")] +interaction_profiles = [SubResource("OpenXRInteractionProfile_rtx12"), SubResource("OpenXRInteractionProfile_uxbat"), SubResource("OpenXRInteractionProfile_1xmth"), SubResource("OpenXRInteractionProfile_0qfe6"), SubResource("OpenXRInteractionProfile_noym7"), SubResource("OpenXRInteractionProfile_sqhjc"), SubResource("OpenXRInteractionProfile_3kktn"), SubResource("OpenXRInteractionProfile_yfuta"), SubResource("OpenXRInteractionProfile_j1wg5"), SubResource("OpenXRInteractionProfile_tvngl"), SubResource("OpenXRInteractionProfile_r81v3")] diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..b97f2e2 --- /dev/null +++ b/project.godot @@ -0,0 +1,25 @@ +; 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="ImmersiveHome" +config/features=PackedStringArray("4.1", "Mobile") +config/icon="res://icon.svg" + +[rendering] + +renderer/rendering_method="mobile" +textures/vram_compression/import_etc2_astc=true + +[xr] + +openxr/enabled=true +shaders/enabled=true