[gd_scene load_steps=38 format=3 uid="uid://dgk4405uicrgh"]

[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="2"]
[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_xypqg"]
[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="4"]
[ext_resource type="PackedScene" uid="uid://bjcxf427un2wp" path="res://addons/godot-xr-tools/player/poke/poke.tscn" id="4_h2b1w"]
[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="5"]
[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="6"]
[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="7"]
[ext_resource type="PackedScene" uid="uid://bk6ban0hctyym" path="res://addons/godot-xr-tools/functions/movement_wall_walk.tscn" id="8"]
[ext_resource type="PackedScene" uid="uid://bwr0eqi231lf0" path="res://assets/meshes/control_pad/control_pad_location_left.tscn" id="8_xxyrw"]
[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="9"]
[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="10"]
[ext_resource type="PackedScene" uid="uid://dk3jcnbypkiml" path="res://scenes/origin_gravity_demo/objects/pill_orient.tscn" id="11"]
[ext_resource type="PackedScene" uid="uid://deyk5frilshws" path="res://assets/meshes/control_pad/control_pad_location_right.tscn" id="11_tkwx2"]
[ext_resource type="PackedScene" uid="uid://bnu45wudmhdse" path="res://scenes/origin_gravity_demo/objects/sphere_orient.tscn" id="12"]
[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="13"]
[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="14"]
[ext_resource type="PackedScene" uid="uid://drs4eeq721ojn" path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" id="15"]
[ext_resource type="PackedScene" uid="uid://ct3p5sgwvkmva" path="res://assets/meshes/control_pad/control_pad.tscn" id="15_1brrh"]
[ext_resource type="PackedScene" uid="uid://kyhaogt0a4q8" path="res://addons/godot-xr-tools/functions/movement_flight.tscn" id="18"]
[ext_resource type="PackedScene" uid="uid://cyohmj7wut3s8" path="res://scenes/origin_gravity_demo/objects/instructions.tscn" id="19"]
[ext_resource type="PackedScene" uid="uid://clt88d5d1dje4" path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" id="21"]

[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_1ncao"]
animation = &"Grip"

[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p2lua"]
animation = &"Grip"

[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ioya3"]
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_tmhqs"]
animation = &"Grip 5"

[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_gg3u7"]
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_blqxp"]
graph_offset = Vector2(-536, 11)
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_1ncao")
nodes/ClosedHand1/position = Vector2(-600, 300)
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_p2lua")
nodes/ClosedHand2/position = Vector2(-360, 300)
nodes/Grip/node = SubResource("AnimationNodeBlend2_ioya3")
nodes/Grip/position = Vector2(0, 20)
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_tmhqs")
nodes/OpenHand/position = Vector2(-600, 100)
nodes/Trigger/node = SubResource("AnimationNodeBlend2_gg3u7")
nodes/Trigger/position = Vector2(-360, 20)
node_connections = [&"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1", &"output", 0, &"Grip"]

[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bn81i"]
animation = &"Grip"

[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ecnxd"]
animation = &"Grip"

[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_23frg"]
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_e6ev6"]
animation = &"Grip 5"

[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_qjcgd"]
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_msk5t"]
graph_offset = Vector2(-552.664, 107.301)
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_bn81i")
nodes/ClosedHand1/position = Vector2(-600, 300)
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_ecnxd")
nodes/ClosedHand2/position = Vector2(-360, 300)
nodes/Grip/node = SubResource("AnimationNodeBlend2_23frg")
nodes/Grip/position = Vector2(0, 40)
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_e6ev6")
nodes/OpenHand/position = Vector2(-600, 100)
nodes/Trigger/node = SubResource("AnimationNodeBlend2_qjcgd")
nodes/Trigger/position = Vector2(-360, 40)
node_connections = [&"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1", &"output", 0, &"Grip"]

[sub_resource type="Curve3D" id="6"]
_data = {
"points": PackedVector3Array(-4.24937, -1.06234, 0, 0, 1.062, 0, -28.846, 27.5, 22.046, -4.1528, 0.820904, 0, 4.1528, -0.820904, 0, -14.1804, 30.4904, 21.7814, -2.83784, 2.60267, 0.0372009, 2.83784, -2.60267, -0.0372009, -4.79844, 27.0269, 22.1809, 1.6403, 2.9682, -0.0173683, -1.6403, -2.9682, 0.0173683, -2.87687, 17.8878, 23.2453, 0.57946, 4.05622, 0, -0.57946, -4.05622, 0, -7.44255, 8.17148, 23.1395, -2.70415, 1.11063, 0, 2.70415, -1.11063, 0, -0.888668, 1.09893, 23.2599, -2.3209, -0.153747, -0.449579, 2.3209, 0.153747, 0.449579, 6.55866, -1.48348, 25.7184),
"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0)
}
point_count = 7

[sub_resource type="Curve3D" id="1"]
bake_interval = 0.3
_data = {
"points": PackedVector3Array(-0.71487, -1.87416, 1.71397, 0.71487, 1.87416, -1.71397, -21.7835, 21.1047, 22.9351, 1.79321, 2.0844, 5.63986, -1.79321, -2.0844, -5.63986, -17.503, 22.8378, 3.86977, 1.63235, 1.43539, 4.76624, -1.63235, -1.43539, -4.76624, -21.1288, 16.2403, -8.78015, -6.09683, 0.913348, 3.4931, 6.09683, -0.913348, -3.4931, -16.9968, 15.3497, -24.9826, -1.11305, -0.695772, 2.12971, 1.11305, 0.695772, -2.12971, -1.5803, 19.8361, -28.6373),
"tilts": PackedFloat32Array(0, 0, 0, 0, 0)
}
point_count = 5

[node name="OriginGravityDemo" instance=ExtResource("1")]
script = ExtResource("2_xypqg")

[node name="XROrigin3D" parent="." index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 36)

[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("13")]

[node name="Skeleton3D" parent="XROrigin3D/LeftHand/LeftHand/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="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/LeftHand/LeftHand/Hand_Nails_low_L/Armature/Skeleton3D" index="1"]
transform = Transform3D(0.54083, 0.840813, -0.0231736, -0.0826267, 0.0805243, 0.993322, 0.837064, -0.535303, 0.113023, 0.039902, 0.0402828, -0.150096)
bone_name = "Index_Tip_L"
bone_idx = 9

[node name="Poke" parent="XROrigin3D/LeftHand/LeftHand/Hand_Nails_low_L/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("4_h2b1w")]
layer = 0
mask = 4194304
push_bodies = false

[node name="AnimationTree" parent="XROrigin3D/LeftHand/LeftHand" index="1"]
tree_root = SubResource("AnimationNodeBlendTree_blqxp")

[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("7")]
strafe = true

[node name="MovementJump" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("5")]
jump_button_action = "ax_button"

[node name="MovementCrouch" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("21")]
crouch_button_action = "by_button"

[node name="MovementSprint" parent="XROrigin3D/LeftHand" index="4" instance=ExtResource("15")]

[node name="ControlPadLocationLeft" parent="XROrigin3D/LeftHand" index="5" instance=ExtResource("8_xxyrw")]

[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("14")]

[node name="Skeleton3D" parent="XROrigin3D/RightHand/RightHand/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="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/RightHand/RightHand/Hand_Nails_low_R/Armature/Skeleton3D" index="1"]
transform = Transform3D(0.540829, -0.840813, 0.0231736, 0.0826268, 0.0805242, 0.993322, -0.837064, -0.535303, 0.113024, -0.039902, 0.0402828, -0.150096)
bone_name = "Index_Tip_R"
bone_idx = 9

[node name="Poke" parent="XROrigin3D/RightHand/RightHand/Hand_Nails_low_R/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("4_h2b1w")]
layer = 0
mask = 4194304
push_bodies = false

[node name="AnimationTree" parent="XROrigin3D/RightHand/RightHand" index="1"]
tree_root = SubResource("AnimationNodeBlendTree_msk5t")

[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("7")]

[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("6")]

[node name="MovementJump" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("5")]
jump_button_action = "ax_button"

[node name="MovementSprint" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("15")]
controller = 1

[node name="ControlPadLocationRight" parent="XROrigin3D/RightHand" index="5" instance=ExtResource("11_tkwx2")]

[node name="MovementFlight" parent="XROrigin3D" index="3" instance=ExtResource("18")]

[node name="MovementWallWalk" parent="XROrigin3D" index="4" instance=ExtResource("8")]

[node name="PlayerBody" parent="XROrigin3D" index="5" instance=ExtResource("4")]

[node name="ControlPad" parent="XROrigin3D" index="6" instance=ExtResource("15_1brrh")]

[node name="BasicMap" parent="." index="1" instance=ExtResource("2")]

[node name="Teleport" parent="." index="2" instance=ExtResource("10")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 44)
scene_base = NodePath("..")
title = ExtResource("9")

[node name="Teleport2" parent="." index="3" instance=ExtResource("10")]
transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 10.4, 19, -33)
scene_base = NodePath("..")
title = ExtResource("9")

[node name="Instructions" parent="." index="4" instance=ExtResource("19")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 5, 29)

[node name="SphereOrient" parent="." index="5" instance=ExtResource("12")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 20, 22)

[node name="PillOrient" parent="." index="6" instance=ExtResource("11")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 19, -33)

[node name="Walkway1" type="Node3D" parent="." index="7"]

[node name="Path" type="Path3D" parent="Walkway1" index="0"]
curve = SubResource("6")

[node name="Body" type="CSGPolygon3D" parent="Walkway1" index="1"]
use_collision = true
collision_layer = 8
collision_mask = 0
polygon = PackedVector2Array(-4, 0, -3.7, 0.7, -3, 1, 3, 1, 3.7, 0.7, 4, 0, 3.7, -0.7, 3, -1, -3, -1, -3.7, -0.7)
mode = 2
path_node = NodePath("../Path")
path_interval_type = 0
path_interval = 1.0
path_simplify_angle = 0.0
path_rotation = 2
path_local = false
path_continuous_u = true
path_u_distance = 1.0
path_joined = false
material = ExtResource("3")

[node name="Walkway2" type="Node3D" parent="." index="8"]

[node name="Path" type="Path3D" parent="Walkway2" index="0"]
curve = SubResource("1")

[node name="Body" type="CSGPolygon3D" parent="Walkway2" index="1"]
use_collision = true
collision_layer = 8
collision_mask = 0
polygon = PackedVector2Array(0, -4, 0.7, -3.7, 1, -3, 1, 3, 0.7, 3.7, 0, 4, -0.7, 3.7, -1, 3, -1, -3, -0.7, -3.7)
mode = 2
path_node = NodePath("../Path")
path_interval_type = 0
path_interval = 1.0
path_simplify_angle = 0.0
path_rotation = 2
path_local = false
path_continuous_u = true
path_u_distance = 1.0
path_joined = false
material = ExtResource("3")

[editable path="XROrigin3D/LeftHand/LeftHand"]
[editable path="XROrigin3D/LeftHand/LeftHand/Hand_Nails_low_L"]
[editable path="XROrigin3D/RightHand/RightHand"]
[editable path="XROrigin3D/RightHand/RightHand/Hand_Nails_low_R"]
