diff --git a/assets/Midevel/door.gd b/assets/Midevel/door.gd new file mode 100644 index 0000000..17ead4a --- /dev/null +++ b/assets/Midevel/door.gd @@ -0,0 +1,4 @@ +extends StaticBody3D + +func _on_riddel_cube_board_solution_correct() -> void: + queue_free() diff --git a/assets/Midevel/door.gd.uid b/assets/Midevel/door.gd.uid new file mode 100644 index 0000000..dc78c18 --- /dev/null +++ b/assets/Midevel/door.gd.uid @@ -0,0 +1 @@ +uid://btjwoudtrpk18 diff --git a/assets/Midevel/room_1.tscn b/assets/Midevel/room_1.tscn index 76c4f21..48deefa 100644 --- a/assets/Midevel/room_1.tscn +++ b/assets/Midevel/room_1.tscn @@ -1,10 +1,12 @@ -[gd_scene load_steps=27 format=3 uid="uid://dtcuaadd2wrys"] +[gd_scene load_steps=29 format=3 uid="uid://dtcuaadd2wrys"] [ext_resource type="PackedScene" uid="uid://d3foohm3asqek" path="res://assets/Space/zone_base.tscn" id="1_hrfef"] [ext_resource type="PackedScene" uid="uid://bidp3paljsym7" path="res://import_scene/escape-room-szene-room.tscn" id="2_gg573"] [ext_resource type="Animation" uid="uid://nq3xh1olqipq" path="res://addons/godot-xr-tools/hands/animations/left/Grip Shaft.res" id="3_qj6my"] [ext_resource type="Script" uid="uid://dvobm6vcfnqe8" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="4_vvkbb"] [ext_resource type="Animation" uid="uid://c8dghcftg1thx" path="res://addons/godot-xr-tools/hands/animations/right/Grip Shaft.res" id="5_pd4dd"] +[ext_resource type="Script" uid="uid://btjwoudtrpk18" path="res://assets/Midevel/door.gd" id="6_vvkbb"] +[ext_resource type="PackedScene" uid="uid://33ohbl8cmtth" path="res://assets/Midevel/teleport_area.tscn" id="7_cqmfl"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_hrfef"] sky_top_color = Color(0.13930686, 0.16966733, 0.21217196, 1) @@ -204,10 +206,34 @@ hand_pose = SubResource("Resource_pryl2") [node name="MeshInstance3D3" parent="Node3D/Interactions/CubeTable/RiddleCube8/XRToolsHighlightVisible" index="1"] visible = true +[node name="RiddelCubeBoard" parent="Node3D/Interactions/CubeTable" index="10"] +correct_solution = "68215437" + [node name="Box" parent="Node3D/Interactions/CubeTable/RiddelCubeBoard" index="9"] transform = Transform3D(0.9997049, 0, -0.024292598, 0, 1, 0, 0.024292598, 0, 0.9997049, 0.008849144, 1.7908573, 0) size = Vector3(0.4, 0.50423586, 1.5) +[node name="Door" parent="Node3D" index="7"] +script = ExtResource("6_vvkbb") + +[node name="Label3D" parent="Node3D/BookHolder/MeshInstance3D2" index="1"] +transform = Transform3D(1, 0, 0, 0, 0.71869695, 0.69532347, 0, -0.69532347, 0.71869695, 0.0069310963, 0.79094446, 0.459099) +text = "Reisender, +Ich fand die Zahlenfolge, +6821 +5437 +doch mir fehlt noch etwas +um durch die Tür zu kommen. + +\"Kommuniziert miteinader +um das Siegel brechen!“ + + +" +font_size = 11 +outline_size = 3 +horizontal_alignment = 1 + [node name="StaticBody3D" type="StaticBody3D" parent="." index="4"] transform = Transform3D(0.9999648, 0, -0.008394934, 0, 1, 0, 0.008394934, 0, 0.9999648, -7.767475, 1.791698, -5.2399845) @@ -283,6 +309,15 @@ text = "⁓" transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.075683594, 0.262146, -0.51770544) shape = SubResource("BoxShape3D_is5ow") +[node name="OmniLight3D" type="OmniLight3D" parent="." index="5"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.2770333, 1.687937, 9.864775) + +[node name="TeleportArea" parent="." index="6" instance=ExtResource("7_cqmfl")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5508242, -0.02803725, 10.182404) +target_szene = "uid://bni72mm8xa0fp" + +[connection signal="solution_correct" from="Node3D/Interactions/CubeTable/RiddelCubeBoard" to="Node3D/Door" method="_on_riddel_cube_board_solution_correct"] + [editable path="Node3D"] [editable path="Node3D/Interactions/CubeTable/RiddleCube"] [editable path="Node3D/Interactions/CubeTable/RiddleCube/diamonds2"] @@ -309,3 +344,5 @@ shape = SubResource("BoxShape3D_is5ow") [editable path="Node3D/Interactions/CubeTable/RiddelCubeBoard/cubePos_6"] [editable path="Node3D/Interactions/CubeTable/RiddelCubeBoard/cubePos_7"] [editable path="Node3D/Interactions/CubeTable/RiddelCubeBoard/cubePos_8"] +[editable path="Node3D/BookHolder"] +[editable path="TeleportArea"] diff --git a/assets/Midevel/teleport_area.gd b/assets/Midevel/teleport_area.gd index 8814b4e..c3cbbf6 100644 --- a/assets/Midevel/teleport_area.gd +++ b/assets/Midevel/teleport_area.gd @@ -1,4 +1,5 @@ extends Area3D +class_name Teleport_Area ## Target festlegen @export_file("*.tscn") var target_szene : String diff --git a/assets/Midevel/teleport_area.tscn b/assets/Midevel/teleport_area.tscn index 0f57d59..6bdfc8c 100644 --- a/assets/Midevel/teleport_area.tscn +++ b/assets/Midevel/teleport_area.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=7 format=3 uid="uid://33ohbl8cmtth"] -[ext_resource type="Script" uid="uid://sw703dbm20q3" path="res://teleport_area.gd" id="1_jmqdr"] +[ext_resource type="Script" uid="uid://g25etdmumtlk" path="res://assets/Midevel/teleport_area.gd" id="1_y2sb0"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_80q2c"] transparency = 1 @@ -23,7 +23,7 @@ radius = 0.55 [node name="TeleportArea" type="Area3D"] collision_layer = 524288 collision_mask = 524288 -script = ExtResource("1_jmqdr") +script = ExtResource("1_y2sb0") [node name="MeshInstance3D" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, 0) diff --git a/assets/Space/Space-Room.tscn b/assets/Space/Space-Room.tscn index f4a4eac..6e4a51c 100644 --- a/assets/Space/Space-Room.tscn +++ b/assets/Space/Space-Room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=42 format=3 uid="uid://bcvysxds78qa2"] +[gd_scene load_steps=46 format=3 uid="uid://bcvysxds78qa2"] [ext_resource type="Script" uid="uid://177gygw2xqqu" path="res://addons/godot-xr-tools/staging/scene_base.gd" id="1_jge5j"] [ext_resource type="PackedScene" uid="uid://bvuu54l2us43f" path="res://assets/Space/SpaceRoom.tscn" id="2_uidku"] @@ -16,6 +16,8 @@ [ext_resource type="PackedScene" uid="uid://raeeicvvindd" path="res://addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn" id="13_0u6ep"] [ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="14_cscob"] [ext_resource type="PackedScene" uid="uid://cgue6x2lkbduf" path="res://import_scene/book_holder.tscn" id="16_1pnxa"] +[ext_resource type="Script" uid="uid://dun34x3n2cqnm" path="res://assets/Space/portal.gd" id="17_csc38"] +[ext_resource type="PackedScene" uid="uid://33ohbl8cmtth" path="res://assets/Midevel/teleport_area.tscn" id="18_ovbjo"] [sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_5gj4w"] rayleigh_coefficient = 1.2 @@ -164,6 +166,13 @@ size = Vector3(0.3, 1.5, 3) [sub_resource type="BoxShape3D" id="BoxShape3D_1pnxa"] size = Vector3(0.8486328, 1.524292, 2.895996) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1pnxa"] +shading_mode = 0 +albedo_color = Color(1, 0, 0.72300434, 1) + +[sub_resource type="QuadMesh" id="QuadMesh_csc38"] +material = SubResource("StandardMaterial3D_1pnxa") + [node name="Node3D" type="Node3D"] script = ExtResource("1_jge5j") @@ -183,7 +192,7 @@ collision_mask = 7 mass = 1000.0 [node name="CollisionShape3D" type="CollisionShape3D" parent="CubeTable2"] -transform = Transform3D(0.43884167, 0, 0.8985644, 0, 1, 0, -0.8985644, 0, 0.43884167, 12.276003, 0.276712, 6.0666146) +transform = Transform3D(0.95987386, 0, 0.2804322, 0, 1, 0, -0.2804322, 0, 0.95987386, 11.196708, 0.276712, 3.5593052) shape = SubResource("BoxShape3D_mcinn") [node name="CSGBox3D" type="CSGBox3D" parent="CubeTable2"] @@ -195,7 +204,7 @@ size = Vector3(1, 0.3249634, 0.5) transform = Transform3D(0.95735484, 0, 0.28891483, 0, 1, 0, -0.28891483, 0, 0.95735484, 10.854718, 0.54382396, 3.5149474) [node name="CubeNumber" parent="CubeTable2/RiddleCube" index="1"] -cubeNumber = "1" +cubeNumber = "⁓ " [node name="GrabPointHandLeft" parent="CubeTable2/RiddleCube" index="2"] hand_pose = SubResource("Resource_o4poo") @@ -207,7 +216,7 @@ hand_pose = SubResource("Resource_wq7iv") transform = Transform3D(0.95735484, 0, 0.28891483, 0, 1, 0, -0.28891483, 0, 0.95735484, 11.0279045, 0.54382396, 3.4626813) [node name="CubeNumber" parent="CubeTable2/RiddleCube2" index="1"] -cubeNumber = "2" +cubeNumber = "ϕ" [node name="GrabPointHandLeft" parent="CubeTable2/RiddleCube2" index="2"] hand_pose = SubResource("Resource_je5jv") @@ -219,7 +228,7 @@ hand_pose = SubResource("Resource_xrfem") transform = Transform3D(0.95735484, 0, 0.28891483, 0, 1, 0, -0.28891483, 0, 0.95735484, 11.212161, 0.54382396, 3.4070764) [node name="CubeNumber" parent="CubeTable2/RiddleCube3" index="1"] -cubeNumber = "3" +cubeNumber = "▧" [node name="GrabPointHandLeft" parent="CubeTable2/RiddleCube3" index="2"] hand_pose = SubResource("Resource_mjydb") @@ -231,7 +240,7 @@ hand_pose = SubResource("Resource_gpnsa") transform = Transform3D(0.95735484, 0, 0.28891483, 0, 1, 0, -0.28891483, 0, 0.95735484, 11.407493, 0.54382396, 3.3481283) [node name="CubeNumber" parent="CubeTable2/RiddleCube4" index="1"] -cubeNumber = "4" +cubeNumber = "X" [node name="GrabPointHandLeft" parent="CubeTable2/RiddleCube4" index="2"] hand_pose = SubResource("Resource_moyp0") @@ -243,7 +252,7 @@ hand_pose = SubResource("Resource_576jm") transform = Transform3D(0.95735484, 0, 0.28891483, 0, 1, 0, -0.28891483, 0, 0.95735484, 11.476757, 0.54382396, 3.6173854) [node name="CubeNumber" parent="CubeTable2/RiddleCube5" index="1"] -cubeNumber = "5" +cubeNumber = "⨙" [node name="GrabPointHandLeft" parent="CubeTable2/RiddleCube5" index="2"] hand_pose = SubResource("Resource_alwgh") @@ -255,7 +264,7 @@ hand_pose = SubResource("Resource_r2yo1") transform = Transform3D(0.95735484, 0, 0.28891483, 0, 1, 0, -0.28891483, 0, 0.95735484, 11.288032, 0.54382396, 3.6743398) [node name="CubeNumber" parent="CubeTable2/RiddleCube6" index="1"] -cubeNumber = "6" +cubeNumber = "⫔" [node name="GrabPointHandLeft" parent="CubeTable2/RiddleCube6" index="2"] hand_pose = SubResource("Resource_e33y1") @@ -267,7 +276,7 @@ hand_pose = SubResource("Resource_lglgo") transform = Transform3D(0.95735484, 0, 0.28891483, 0, 1, 0, -0.28891483, 0, 0.95735484, 11.124348, 0.54382396, 3.7237372) [node name="CubeNumber" parent="CubeTable2/RiddleCube7" index="1"] -cubeNumber = "7" +cubeNumber = "⁖" [node name="GrabPointHandLeft" parent="CubeTable2/RiddleCube7" index="2"] hand_pose = SubResource("Resource_01v31") @@ -279,7 +288,7 @@ hand_pose = SubResource("Resource_lvv10") transform = Transform3D(0.95735484, 0, 0.28891483, 0, 1, 0, -0.28891483, 0, 0.95735484, 10.946004, 0.54382396, 3.7775588) [node name="CubeNumber" parent="CubeTable2/RiddleCube8" index="1"] -cubeNumber = "8" +cubeNumber = "§" [node name="GrabPointHandLeft" parent="CubeTable2/RiddleCube8" index="2"] hand_pose = SubResource("Resource_34578") @@ -289,6 +298,7 @@ hand_pose = SubResource("Resource_v8jd1") [node name="RiddelCubeBoard" parent="CubeTable2" instance=ExtResource("7_wti6a")] transform = Transform3D(-0.8990999, 0, 0.43774337, 0, 1, 0, -0.43774337, 0, -0.8990999, 18.105413, 1.0031731, 11.166063) +correct_solution = "21538764" [node name="StaticBody3D" parent="CubeTable2/RiddelCubeBoard" index="0"] transform = Transform3D(1, 0, -3.5527137e-15, 0, 1, 0, 3.5527137e-15, 0, 1, 0, 0, 0) @@ -555,6 +565,36 @@ shape = SubResource("BoxShape3D_1pnxa") [node name="BookHolder" parent="." instance=ExtResource("16_1pnxa")] transform = Transform3D(0.51390064, 0, -0.8578497, 0, 1, 0, 0.8578497, 0, 0.51390064, 11.8715725, 1.4773932, 8.206276) +[node name="Label3D" parent="BookHolder/MeshInstance3D2" index="1"] +transform = Transform3D(-0.99995923, -0.0062862337, 0.006497532, 0, 0.7186969, 0.6953234, -0.009040594, 0.69529504, -0.7186675, 0.004073903, 0.8739773, -0.43620953) +text = "Leibe Kollegen, +um das Protal zu aktiviren +gilt folgende Zahlenfolge, +2153 +8764 +doch leider fehlt noch etwas +um die ziffern den symbolen +zuzuorden. + +\"Kommuniziert miteinader +um das Portal zu aktiviren!“" +font_size = 10 +outline_size = 4 +horizontal_alignment = 1 + +[node name="MeshInstance3D" type="MeshInstance3D" parent="." node_paths=PackedStringArray("spawnPoint")] +transform = Transform3D(-2.6895318, -0.0018127755, -0.01060915, -0.0032325436, 2.345761, 0.04456945, 0.027110923, 0.09985861, -1.0471658, 13.74557, 3.8464398, 10.073657) +mesh = SubResource("QuadMesh_csc38") +script = ExtResource("17_csc38") +spawnPoint = NodePath("Marker3D") +teleport_scene = ExtResource("18_ovbjo") +target_szene = "uid://bni72mm8xa0fp" + +[node name="Marker3D" type="Marker3D" parent="MeshInstance3D"] +transform = Transform3D(1, -4.3655746e-10, 4.1909516e-09, -2.3283064e-10, 0.9999999, 0, 1.8626451e-08, -7.450581e-09, 1.0000002, -0.0020041466, -0.84229064, 0.6517706) + +[connection signal="solution_correct" from="CubeTable2/RiddelCubeBoard" to="MeshInstance3D" method="_on_riddel_cube_board_solution_correct"] + [editable path="CubeTable2/RiddleCube"] [editable path="CubeTable2/RiddleCube2"] [editable path="CubeTable2/RiddleCube3"] @@ -572,3 +612,4 @@ transform = Transform3D(0.51390064, 0, -0.8578497, 0, 1, 0, 0.8578497, 0, 0.5139 [editable path="CubeTable2/RiddelCubeBoard/cubePos_6"] [editable path="CubeTable2/RiddelCubeBoard/cubePos_7"] [editable path="CubeTable2/RiddelCubeBoard/cubePos_8"] +[editable path="BookHolder"] diff --git a/assets/Space/portal.gd b/assets/Space/portal.gd new file mode 100644 index 0000000..4c25aa0 --- /dev/null +++ b/assets/Space/portal.gd @@ -0,0 +1,24 @@ +extends MeshInstance3D + +var _is_visible = false +@export var spawnPoint:Marker3D +@export var teleport_scene:PackedScene +@export_file("*.tscn") var target_szene : String + + +func _ready() -> void: + hide() + +func _on_riddel_cube_board_solution_correct() -> void: + show() + spawn_object() + + +func spawn_object(): + var instance = teleport_scene.instantiate() + + if instance is Teleport_Area: + instance.target_szene = target_szene + + instance.position = spawnPoint.position + add_child(instance) diff --git a/assets/Space/portal.gd.uid b/assets/Space/portal.gd.uid new file mode 100644 index 0000000..7cb01c5 --- /dev/null +++ b/assets/Space/portal.gd.uid @@ -0,0 +1 @@ +uid://dun34x3n2cqnm diff --git a/import_scene/riddel_cube_board.gd b/import_scene/riddel_cube_board.gd index e1c9f15..f7d1cb6 100644 --- a/import_scene/riddel_cube_board.gd +++ b/import_scene/riddel_cube_board.gd @@ -198,6 +198,8 @@ func on_correct_solution(): if has_node("AnimationGeheimgang"): $AnimationGeheimgang.play("hide_box") + solution_correct.emit() + # Mache alle platzierten Cubes unsichtbar await get_tree().create_timer(1).timeout for i in range(1, 9):