[gd_scene load_steps=37 format=3 uid="uid://u3tqif81v602"]

[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://xqimcf20s2jp" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn" id="2"]
[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_sgf8o"]
[ext_resource type="PackedScene" uid="uid://bq86r4yll8po" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn" id="3"]
[ext_resource type="PackedScene" uid="uid://bft3xyxs31ci3" path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" id="4_whmmd"]
[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="5"]
[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="6"]
[ext_resource type="PackedScene" uid="uid://bjcxf427un2wp" path="res://addons/godot-xr-tools/player/poke/poke.tscn" id="7"]
[ext_resource type="PackedScene" uid="uid://bwr0eqi231lf0" path="res://assets/meshes/control_pad/control_pad_location_left.tscn" id="7_2052r"]
[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="8"]
[ext_resource type="PackedScene" uid="uid://bv46odvo22fuv" path="res://scenes/poke_demo/objects/canvas.tscn" id="9"]
[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="10"]
[ext_resource type="PackedScene" uid="uid://deyk5frilshws" path="res://assets/meshes/control_pad/control_pad_location_right.tscn" id="10_3s3jo"]
[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="11"]
[ext_resource type="PackedScene" uid="uid://ca6c2h3xsflxf" path="res://assets/maps/holodeck_map.tscn" id="11_7xda8"]
[ext_resource type="PackedScene" uid="uid://bshamb3vt6ocf" path="res://scenes/poke_demo/objects/instructions.tscn" id="11_570m5"]
[ext_resource type="PackedScene" uid="uid://bwcpq6cuejbiy" path="res://assets/meshes/table/table.tscn" id="12"]
[ext_resource type="PackedScene" uid="uid://ct3p5sgwvkmva" path="res://assets/meshes/control_pad/control_pad.tscn" id="12_7jyap"]
[ext_resource type="PackedScene" uid="uid://djkjuy7wct10q" path="res://scenes/pickable_demo/objects/grab_cube.tscn" id="13"]
[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="14"]
[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="14_qyy11"]
[ext_resource type="Resource" uid="uid://ciw0f7mg4ai0k" path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" id="15_08yhv"]
[ext_resource type="Resource" uid="uid://bhvrpfo4ecbub" path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" id="16_n1x7k"]

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

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

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

[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_g6blh"]
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_66tfg"]
graph_offset = Vector2(-536, 11)
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_xl1gi")
nodes/ClosedHand1/position = Vector2(-600, 300)
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_6gubm")
nodes/ClosedHand2/position = Vector2(-360, 300)
nodes/Grip/node = SubResource("AnimationNodeBlend2_7tsba")
nodes/Grip/position = Vector2(0, 20)
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_auv36")
nodes/OpenHand/position = Vector2(-600, 100)
nodes/Trigger/node = SubResource("AnimationNodeBlend2_g6blh")
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_aac8g"]
animation = &"Grip"

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

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

[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_wdvjc"]
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_kx4vt"]
graph_offset = Vector2(-552.664, 107.301)
nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_aac8g")
nodes/ClosedHand1/position = Vector2(-600, 300)
nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_fghgc")
nodes/ClosedHand2/position = Vector2(-360, 300)
nodes/Grip/node = SubResource("AnimationNodeBlend2_l0pin")
nodes/Grip/position = Vector2(0, 40)
nodes/OpenHand/node = SubResource("AnimationNodeAnimation_m7ghb")
nodes/OpenHand/position = Vector2(-600, 100)
nodes/Trigger/node = SubResource("AnimationNodeBlend2_wdvjc")
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="BoxShape3D" id="BoxShape3D_s7l3t"]
size = Vector3(1, 0.5, 0.01)

[node name="PokeDemo" instance=ExtResource("1")]
script = ExtResource("2_sgf8o")

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

[node name="Skeleton3D" parent="XROrigin3D/LeftHand/LeftHand/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="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/LeftHand/LeftHand/Hand_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_low_L/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("7")]
transform = Transform3D(0.999999, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)

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

[node name="FunctionPoseDetector" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("4_whmmd")]

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

[node name="ControlPadLocationLeft" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("7_2052r")]

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

[node name="Skeleton3D" parent="XROrigin3D/RightHand/RightHand/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="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/RightHand/RightHand/Hand_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_low_R/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("7")]
transform = Transform3D(0.999999, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)

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

[node name="FunctionPoseDetector" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("4_whmmd")]

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

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

[node name="ControlPadLocationRight" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("10_3s3jo")]

[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("10")]

[node name="ControlPad" parent="XROrigin3D" index="4" instance=ExtResource("12_7jyap")]

[node name="HolodeckMap" parent="." index="1" instance=ExtResource("11_7xda8")]

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

[node name="Instructions" parent="." index="3" instance=ExtResource("11_570m5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4)

[node name="PokeCanvas" type="Node3D" parent="." index="4"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, -1.581)

[node name="Viewport2Din3D" parent="PokeCanvas" index="0" instance=ExtResource("8")]
screen_size = Vector2(1, 0.5)
scene = ExtResource("9")
viewport_size = Vector2(1000, 500)

[node name="HandPoseArea" parent="PokeCanvas" index="1" instance=ExtResource("14_qyy11")]
left_pose = ExtResource("15_08yhv")
right_pose = ExtResource("16_n1x7k")

[node name="CollisionShape3D" type="CollisionShape3D" parent="PokeCanvas/HandPoseArea" index="0"]
shape = SubResource("BoxShape3D_s7l3t")

[node name="Table" parent="." index="5" instance=ExtResource("12")]
transform = Transform3D(0.515726, 0, -0.856754, 0, 1, 0, 0.856754, 0, 0.515726, 2.37791, 0, -0.681984)

[node name="GrabCube01" parent="Table" index="10" instance=ExtResource("13")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.719823, 0.890771, 0.743202)

[node name="GrabCube02" parent="Table" index="11" instance=ExtResource("13")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.869139, 0.890771, 0.833084)

[node name="GrabCube03" parent="Table" index="12" instance=ExtResource("13")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.581404, 0.890771, 0.880123)

[editable path="XROrigin3D/LeftHand/LeftHand"]
[editable path="XROrigin3D/LeftHand/LeftHand/Hand_low_L"]
[editable path="XROrigin3D/RightHand/RightHand"]
[editable path="XROrigin3D/RightHand/RightHand/Hand_low_R"]
