[gd_scene load_steps=45 format=3 uid="uid://cgt8gtl7scueq"]

[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1_addaq"]
[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="1_hxlll"]
[ext_resource type="PackedScene" uid="uid://bjcxf427un2wp" path="res://addons/godot-xr-tools/player/poke/poke.tscn" id="2_djmh7"]
[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="3_l0y3a"]
[ext_resource type="PackedScene" uid="uid://bwr0eqi231lf0" path="res://assets/meshes/control_pad/control_pad_location_left.tscn" id="4_obmql"]
[ext_resource type="PackedScene" uid="uid://cqhw276realc" path="res://addons/godot-xr-tools/functions/function_pointer.tscn" id="5_f6t3b"]
[ext_resource type="Material" uid="uid://cir8vmhqar2mo" path="res://scenes/pointer_demo/objects/pointer_laser_material.tres" id="6_s2fv7"]
[ext_resource type="Material" uid="uid://dejjsphfajcg0" path="res://scenes/pointer_demo/objects/pointer_laser_hit_material.tres" id="7_s2hmr"]
[ext_resource type="Material" uid="uid://djwuqg7105fg" path="res://scenes/pointer_demo/objects/pointer_target_material.tres" id="8_38lrf"]
[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="9_s4p3g"]
[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="10_vw0xv"]
[ext_resource type="PackedScene" uid="uid://deyk5frilshws" path="res://assets/meshes/control_pad/control_pad_location_right.tscn" id="11_5usl5"]
[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="12_ysbwv"]
[ext_resource type="Script" path="res://scenes/rumble_demo/rumble_on_button.gd" id="13_8lb5g"]
[ext_resource type="PackedScene" uid="uid://ct3p5sgwvkmva" path="res://assets/meshes/control_pad/control_pad.tscn" id="13_cnmv7"]
[ext_resource type="PackedScene" uid="uid://ca6c2h3xsflxf" path="res://assets/maps/holodeck_map.tscn" id="14_ckcao"]
[ext_resource type="Resource" uid="uid://b31wpffw7gi2w" path="res://scenes/rumble_demo/resources/left_ax_rumble.tres" id="15_cjtso"]
[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="15_djcf4"]
[ext_resource type="Script" path="res://addons/godot-xr-tools/rumble/rumble_manager.gd" id="15_dkfqx"]
[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="16_h8o41"]
[ext_resource type="Resource" uid="uid://5sa0r2bvv18q" path="res://scenes/rumble_demo/resources/left_by_rumble.tres" id="16_js7sl"]
[ext_resource type="Resource" uid="uid://b8ltclufuevvk" path="res://scenes/rumble_demo/resources/right_ax_rumble.tres" id="20_2cj4t"]
[ext_resource type="PackedScene" uid="uid://dhysdwgk0bu8b" path="res://scenes/rumble_demo/objects/instructions.tscn" id="20_kdrn5"]
[ext_resource type="Script" path="res://addons/godot-xr-tools/rumble/rumble_event.gd" id="20_y7okn"]
[ext_resource type="PackedScene" uid="uid://cqcuhdwpar4ju" path="res://scenes/rumble_demo/objects/rumble_area.tscn" id="21_4wwyr"]
[ext_resource type="Resource" uid="uid://csfn7atwtdh8b" path="res://scenes/rumble_demo/resources/right_by_rumble.tres" id="21_ojajd"]
[ext_resource type="Resource" uid="uid://dwbxd6cc7oae2" path="res://scenes/rumble_demo/resources/indefinite/rumble_strength_1.tres" id="24_cqao3"]
[ext_resource type="Resource" uid="uid://c1jorrr1l4fs6" path="res://scenes/rumble_demo/resources/indefinite/rumble_strength_2.tres" id="25_fnji4"]
[ext_resource type="Resource" uid="uid://bhk87dfdgqklt" path="res://scenes/rumble_demo/resources/indefinite/rumble_strength_3.tres" id="26_7wtk0"]
[ext_resource type="Resource" uid="uid://ciaadhp4w7aoc" path="res://scenes/rumble_demo/resources/indefinite/rumble_strength_4.tres" id="27_6updc"]
[ext_resource type="Resource" uid="uid://cd5kwyv8adclo" path="res://scenes/rumble_demo/resources/indefinite/rumble_strength_5.tres" id="28_r18ed"]

[sub_resource type="Resource" id="Resource_afmdc"]
script = ExtResource("20_y7okn")
magnitude = 0.2
active_during_pause = false
indefinite = false
duration_ms = 300

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

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

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

[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_tsppl"]
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_vhw5m"]
graph_offset = Vector2(-536, 11)
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_0suwp")
nodes/ClosedHand1/position = Vector2(-600, 300)
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_if0fp")
nodes/ClosedHand2/position = Vector2(-360, 300)
nodes/Grip/node = SubResource("AnimationNodeBlend2_phboq")
nodes/Grip/position = Vector2(0, 20)
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_i1h7y")
nodes/OpenHand/position = Vector2(-600, 100)
nodes/Trigger/node = SubResource("AnimationNodeBlend2_tsppl")
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_q1mc1"]
animation = &"Grip"

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

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

[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_iu5e5"]
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_pqgfg"]
graph_offset = Vector2(-552.664, 107.301)
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_q1mc1")
nodes/ClosedHand1/position = Vector2(-600, 300)
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_rotsw")
nodes/ClosedHand2/position = Vector2(-360, 300)
nodes/Grip/node = SubResource("AnimationNodeBlend2_d7iaq")
nodes/Grip/position = Vector2(0, 40)
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_wohuv")
nodes/OpenHand/position = Vector2(-600, 100)
nodes/Trigger/node = SubResource("AnimationNodeBlend2_iu5e5")
nodes/Trigger/position = Vector2(-360, 40)
node_connections = [&"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1", &"output", 0, &"Grip"]

[node name="RumbleDemo" instance=ExtResource("1_addaq")]

[node name="PlayerBody" parent="XROrigin3D" index="0" instance=ExtResource("12_ysbwv")]

[node name="XRToolsRumbleManager" type="Node" parent="XROrigin3D" index="1"]
process_mode = 3
script = ExtResource("15_dkfqx")
wakeup_rumble = SubResource("Resource_afmdc")

[node name="ControlPad" parent="XROrigin3D" index="2" instance=ExtResource("13_cnmv7")]

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

[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("2_djmh7")]
layer = 0
mask = 4194304
push_bodies = false

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

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

[node name="ControlPadLocationLeft" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("4_obmql")]

[node name="FunctionPointer" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("5_f6t3b")]
show_laser = 2
laser_length = 1
laser_material = ExtResource("6_s2fv7")
laser_hit_material = ExtResource("7_s2hmr")
show_target = true
target_radius = 0.01
target_material = ExtResource("8_38lrf")

[node name="XRToolsRumblerLeft" type="Node" parent="XROrigin3D/LeftHand" index="4"]
script = ExtResource("13_8lb5g")
ax_button_event = ExtResource("15_cjtso")
by_button_event = ExtResource("16_js7sl")

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

[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("2_djmh7")]
layer = 0
mask = 4194304
push_bodies = false

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

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

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

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

[node name="FunctionPointer" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("5_f6t3b")]
show_laser = 2
laser_length = 1
laser_material = ExtResource("6_s2fv7")
laser_hit_material = ExtResource("7_s2hmr")
show_target = true
target_radius = 0.01
target_material = ExtResource("8_38lrf")

[node name="XRToolsRumblerRight" type="Node" parent="XROrigin3D/RightHand" index="5"]
script = ExtResource("13_8lb5g")
ax_button_event = ExtResource("20_2cj4t")
by_button_event = ExtResource("21_ojajd")

[node name="HolodeckMap" parent="." index="1" instance=ExtResource("14_ckcao")]

[node name="Teleport" parent="." index="2" instance=ExtResource("15_djcf4")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4)
title = ExtResource("16_h8o41")
spawn_point_name = ""
spawn_point_position = Vector3(0, 0, 0)
spawn_point_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)

[node name="Instructions" parent="." index="3" instance=ExtResource("20_kdrn5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4.984)

[node name="RumbleArea1" parent="." index="4" instance=ExtResource("21_4wwyr")]
transform = Transform3D(0.692131, 0, -0.721772, 0, 1, 0, 0.721772, 0, 0.692131, -4.22244, -4.76837e-07, 0.453395)
event = ExtResource("24_cqao3")
ring_color = Color(0.4, 1, 0.780392, 1)

[node name="RumbleArea2" parent="." index="5" instance=ExtResource("21_4wwyr")]
transform = Transform3D(0.692131, 0, -0.721772, 0, 1, 0, 0.721772, 0, 0.692131, -2.23923, 0, -1.38153)
event = ExtResource("25_fnji4")

[node name="RumbleArea3" parent="." index="6" instance=ExtResource("21_4wwyr")]
transform = Transform3D(0.692131, 0, -0.721772, 0, 1, 0, 0.721772, 0, 0.692131, -0.033, 1.43051e-06, -2.76165)
event = ExtResource("26_7wtk0")
ring_color = Color(1, 0.482353, 0.0862745, 1)

[node name="RumbleArea4" parent="." index="7" instance=ExtResource("21_4wwyr")]
transform = Transform3D(0.692131, 0, -0.721772, 0, 1, 0, 0.721772, 0, 0.692131, 2.14906, 1.43051e-06, -1.39104)
event = ExtResource("27_6updc")
ring_color = Color(1, 0.0470588, 0.203922, 1)

[node name="RumbleArea5" parent="." index="8" instance=ExtResource("21_4wwyr")]
transform = Transform3D(0.692131, 0, -0.721772, 0, 1, 0, 0.721772, 0, 0.692131, 3.96098, 1.43051e-06, 0.453395)
event = ExtResource("28_r18ed")
ring_color = Color(0.32549, 0.054902, 0.239216, 1)

[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"]
