[gd_scene load_steps=18 format=4 uid="uid://d2d7xy8ash3kk"] [ext_resource type="PackedScene" uid="uid://b5x7fmpwck335" path="res://hud.tscn" id="1_ghyw7"] [ext_resource type="Material" uid="uid://bx6qeabdhq2s" path="res://addons/kenney_prototype_tools/materials/dark/material_01.tres" id="1_gpwe8"] [ext_resource type="Texture2D" uid="uid://cvxwlhcjdg7u7" path="res://textures/kloppenheim_06_puresky_2k.exr" id="1_i8fn5"] [ext_resource type="PackedScene" uid="uid://cgdlowfuuorvi" path="res://player.tscn" id="2_84t5d"] [ext_resource type="Script" uid="uid://d2bvvjsibau8c" path="res://addons/simple-portal-system/scripts/portal.gd" id="5_jfr1b"] [ext_resource type="Script" uid="uid://s5kb624h26hs" path="res://models/portal_mesh.gd" id="6_gnq53"] [ext_resource type="Script" uid="uid://cili3lyodjqel" path="res://portal_environment_adapter.gd" id="6_jdap8"] [ext_resource type="PackedScene" uid="uid://d1dtxvwk86ple" path="res://procedural_mesh_maker.tscn" id="7_mq505"] [sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_ghyw7"] panorama = ExtResource("1_i8fn5") [sub_resource type="Sky" id="Sky_jfr1b"] sky_material = SubResource("PanoramaSkyMaterial_ghyw7") [sub_resource type="Environment" id="Environment_jdap8"] background_mode = 2 sky = SubResource("Sky_jfr1b") tonemap_mode = 1 tonemap_exposure = 0.53 glow_enabled = true [sub_resource type="BoxShape3D" id="BoxShape3D_gpwe8"] size = Vector3(30, 1, 30) [sub_resource type="BoxMesh" id="BoxMesh_84t5d"] material = ExtResource("1_gpwe8") size = Vector3(30, 1, 30) [sub_resource type="ArrayMesh" id="ArrayMesh_mq505"] _surfaces = [{ "aabb": AABB(-1, -1.5, -0.1, 2, 3, 0.1), "attribute_data": PackedByteArray("AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AACAPwAAgD/NzEw9iYgIPTMzcz+JiAg9zcxMPXd3dz8zM3M/d3d3Pw=="), "format": 34359742487, "index_count": 30, "index_data": PackedByteArray("AAABAAQABAABAAUAAQADAAUABQADAAcAAwACAAcABwACAAYAAgAAAAYABgAAAAQABAAFAAYABgAFAAcA"), "name": "Portal Material", "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), "vertex_count": 8, "vertex_data": PackedByteArray("AACAvwAAwD8AAAAAAACAPwAAwD8AAAAAAACAvwAAwL8AAAAAAACAPwAAwL8AAAAAZmZmvzMzsz/NzMy9ZmZmPzMzsz/NzMy9ZmZmvzMzs7/NzMy9ZmZmPzMzs7/NzMy9/3//f/9/AID/f/9//38AgP9//3//fwCA/3//f/9/AID/f/9//38AgP9//3//fwCA/3//f/9/AID/f/9//38AgA==") }] [sub_resource type="ArrayMesh" id="ArrayMesh_jhkhy"] _surfaces = [{ "aabb": AABB(-1, -1.5, -0.05, 2, 3, 0.05), "attribute_data": PackedByteArray("AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AACAPwAAgD/NzMw8iYiIPJqZeT+JiIg8zczMPLy7ez+amXk/vLt7Pw=="), "format": 34359742487, "index_count": 30, "index_data": PackedByteArray("AAABAAQABAABAAUAAQADAAUABQADAAcAAwACAAcABwACAAYAAgAAAAYABgAAAAQABAAFAAYABgAFAAcA"), "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), "vertex_count": 8, "vertex_data": PackedByteArray("AACAvwAAwD8AAAAAAACAPwAAwD8AAAAAAACAvwAAwL8AAAAAAACAPwAAwL8AAAAAMzNzv5qZuT/NzEy9MzNzP5qZuT/NzEy9MzNzv5qZub/NzEy9MzNzP5qZub/NzEy9/3//f/9/AID/f/9//38AgP9//3//fwCA/3//f/9/AID/f/9//38AgP9//3//fwCA/3//f/9/AID/f/9//38AgA==") }] script = ExtResource("6_gnq53") height = 3.0 width = 2.0 indent = 0.05 metadata/_custom_type_script = "uid://s5kb624h26hs" [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gnq53"] albedo_color = Color(0, 0, 0, 1) [sub_resource type="ArrayMesh" id="ArrayMesh_gnq53"] _surfaces = [{ "aabb": AABB(-1.1, -1.6, -0.125, 2.2, 3.2, 0.25), "attribute_data": PackedByteArray("F110PwSA1TwAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAF110PwSA1TwAAIA/AAAAAI4uOj0EgNU8AAAAAAAAAAAAAIA/AACAPwAAgD8AAAAAF110PwBUeT8AAIA/AACAPxdddD8CAAA9F110PwBUeT8AAAAAAACAPwAAgD8AAIA/F110PwAAeD8AAIA/AACAPxdddD8EgNU8F110PwAAeD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/F110PwIAAD0AAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/F110PwIAAD0AAIA/AAAAAI4uOj0CAAA9ji46PQSA1TwAAIA/AAAAAAAAAAAAAAAAji46PQSA1TwAAAAAAAAAAI4uOj0AAHg/AAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/ji46PQBUeT8AAAAAAACAPxdddD8AVHk/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/ji46PQBUeT8AAAAAAAAAAAAAAAAAAIA/ji46PQAAeD8AAAAAAACAPxdddD8AAHg/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/ji46PQAAeD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/ji46PQIAAD0AAIA/AAAAAAAAAAAAAAAAji46PQIAAD0AAAAAAAAAAI4uOj0AVHk/AADAPgAAAAAAACA/AAAAAAAAID8AAIA/AAAAAAAAID8AAIA/AADAPgAAgD8AACA/AACAPwAAwD4AAAAAAAAgPwAAAAAAAMA+AAAgPwAAgD8AAMA+AACAPwAAwD4AAAAAAAAAAAAAID8AAIA/AADAPgAAgD8AACA/AAAgPwAAgD8AAMA+AACAPwAAwD4AAAAAAADAPgAAAAAAACA/AAAAAAAAID8AAIA/AACAPwAAwD4AAAAAAAAgPwAAAAAAAMA+"), "format": 34359738391, "material": SubResource("StandardMaterial3D_gnq53"), "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), "vertex_count": 96, "vertex_data": PackedByteArray("AACAvwAgwr8AAAC+zcyMv83MzD8AAAC+zcyMv83MzL8AAAC+zcyMv83MzL8AAAA+zcyMv83MzL8AAAC+zcyMv83MzD8AAAC+AACAvwAgwr8AAAC+zcyMv83MzL8AAAC+AACAPwAgwr8AAAC+zcyMv83MzL8AAAA+zcyMP83MzL8AAAC+zcyMv83MzL8AAAC+AACAvwAgwr8AAAA+zcyMv83MzL8AAAA+AACAvwAAwD8AAAA+AACAvwAgwr8AAAA+zcyMP83MzL8AAAA+zcyMv83MzL8AAAA+AACAvwAAwD8AAAC+zcyMv83MzD8AAAC+AACAvwAgwr8AAAC+AACAvwAAwD8AAAC+zcyMP83MzD8AAAC+zcyMv83MzD8AAAC+zcyMv83MzD8AAAC+zcyMv83MzD8AAAA+zcyMv83MzL8AAAA+AACAvwAAwD8AAAA+zcyMv83MzL8AAAA+zcyMv83MzD8AAAA+zcyMv83MzD8AAAC+zcyMP83MzD8AAAA+zcyMv83MzD8AAAA+AACAvwAAwD8AAAA+zcyMv83MzD8AAAA+AACAPwAAwD8AAAA+AACAPwAgwr8AAAC+zcyMv83MzL8AAAC+zcyMP83MzL8AAAC+AACAPwAgwr8AAAC+zcyMP83MzL8AAAC+AACAPwAAwD8AAAC+zcyMv83MzL8AAAA+zcyMP83MzL8AAAA+zcyMP83MzL8AAAC+AACAPwAgwr8AAAA+zcyMP83MzL8AAAA+AACAvwAgwr8AAAA+zcyMP83MzL8AAAA+zcyMP83MzD8AAAA+zcyMP83MzL8AAAC+AACAPwAgwr8AAAA+zcyMP83MzD8AAAA+zcyMP83MzL8AAAA+AACAPwAAwD8AAAC+zcyMP83MzD8AAAC+AACAvwAAwD8AAAC+zcyMP83MzD8AAAC+zcyMP83MzD8AAAA+zcyMv83MzD8AAAC+AACAPwAAwD8AAAC+zcyMP83MzL8AAAC+zcyMP83MzD8AAAC+zcyMP83MzD8AAAA+zcyMP83MzD8AAAC+zcyMP83MzL8AAAC+AACAPwAAwD8AAAA+zcyMv83MzD8AAAA+zcyMP83MzD8AAAA+AACAPwAAwD8AAAA+zcyMP83MzD8AAAA+AACAPwAgwr8AAAA+AACAvwAgwr8AAAA+AACAvwAgwr8AAAC+AACAPwAgwr8AAAC+AACAvwAAwD8AAAA+AACAvwAgwr8AAAC+AACAvwAgwr8AAAA+AACAvwAgwr8AAAC+AACAvwAAwD8AAAA+AACAvwAAwD8AAAC+AACAvwAAwD8AAAC+AACAvwAAwD8AAAA+AACAPwAAwD8AAAA+AACAPwAAwD8AAAC+AACAPwAgwr8AAAA+AACAPwAgwr8AAAC+AACAPwAgwr8AAAC+AACAPwAgwr8AAAA+AACAvwAgwr8AAAA+AACAPwAAwD8AAAA+AACAPwAAwD8AAAC+AACAvwAAwD8AAAC+AACAPwAgwr8AAAA+AACAPwAAwD8AAAC+AACAPwAAwD8AAAA+/////wAA/z//////AAD/P/////8AAP8/AAD/f/9//n8AAP9//3/+fwAA/3//f/5//////wAA/z//////AAD/P/////8AAP8//38AAP//AAD/fwAA//8AAP9/AAD//wAA/3//fwAA/z//f/9/AAD/P/9//38AAP8//3//fwAA/z//f/9/AAD/P/9//38AAP8//////wAA/z//////AAD/P/////8AAP8//////wAA/z//////AAD/P/////8AAP8/AAD/f/9//n8AAP9//3/+fwAA/3//f/5//3//fwAA/z//f/9/AAD/P/9//38AAP8//3//////AAD/f/////8AAP9//////wAA/3//fwAA/z//f/9/AAD/P/9//38AAP8//////wAA/z//////AAD/P/////8AAP8//////wAA/z//////AAD/P/////8AAP8//38AAP//AAD/fwAA//8AAP9/AAD//wAA/3//fwAA/z//f/9/AAD/P/9//38AAP8/////f/9//n////9//3/+f////3//f/5//3//fwAA/z//f/9/AAD/P/9//38AAP8//////wAA/z//////AAD/P/////8AAP8//3//////AAD/f/////8AAP9//////wAA/////wAA/z//////AAD/P/////8AAP8/////f/9//n////9//3/+f////3//f/5//3//fwAA/z//f/9/AAD/P/9//38AAP8//3//fwAA/z//f/9/AAD/P/9//38AAP8//3//////////f/////////9/////////////f/9/AID///9//38AgP///3//fwCA////f/9/AID///9//38AgP///3//fwCA/38AAP//////fwAA//////9/AAD/////AAD/f/9/AIAAAP9//38AgAAA/3//fwCA/3//////////f/////////9//////////38AAP//////fwAA//////9/AAD/////AAD/f/9/AIAAAP9//38AgAAA/3//fwCA") }] [node name="level_cube_portals" type="Node3D"] [node name="HUD" parent="." instance=ExtResource("1_ghyw7")] offset_right = 219.0 offset_bottom = 77.0 [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] transform = Transform3D(0.901453, 0.27592, -0.333544, -0.158086, 0.927146, 0.339718, 0.402979, -0.253511, 0.879398, 0, 2.37678, 0) shadow_enabled = true [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_jdap8") [node name="StaticBody3D" type="StaticBody3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] shape = SubResource("BoxShape3D_gpwe8") [node name="Ground" type="MeshInstance3D" parent="StaticBody3D"] mesh = SubResource("BoxMesh_84t5d") skeleton = NodePath("../..") [node name="Player" parent="." instance=ExtResource("2_84t5d")] [node name="Portal A" type="MeshInstance3D" parent="." node_paths=PackedStringArray("exit_portal")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -6) mesh = SubResource("ArrayMesh_mq505") script = ExtResource("5_jfr1b") destroy_disabled_viewport = false fade_out_distance_max = 100.0 fade_out_distance_min = 95.0 fade_out_color = Color(1, 0, 1, 1) exit_portal = NodePath("../Portal B") [node name="Label3D" type="Label3D" parent="Portal A"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.89275, 0) billboard = 2 text = "Portal A" [node name="Portal B" type="MeshInstance3D" parent="." node_paths=PackedStringArray("exit_portal")] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1, 6) mesh = SubResource("ArrayMesh_jhkhy") script = ExtResource("5_jfr1b") destroy_disabled_viewport = false fade_out_distance_max = 100.0 fade_out_distance_min = 95.0 fade_out_color = Color(1, 0, 1, 1) exit_portal = NodePath("../Portal A") [node name="Label3D" type="Label3D" parent="Portal B"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.89275, 0) billboard = 2 text = "Portal B" [node name="PortalEnvironmentAdapter" type="Node" parent="." node_paths=PackedStringArray("base")] script = ExtResource("6_jdap8") base = NodePath("../WorldEnvironment") [node name="ProceduralMeshMaker" parent="." node_paths=PackedStringArray("portal") instance=ExtResource("7_mq505")] height = 3.0 width = 2.0 portal = NodePath("../Portal B") [node name="Outer" type="CSGBox3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 6) visible = false size = Vector3(2.2, 3.2, 0.25) [node name="CSGCombiner3D" type="CSGCombiner3D" parent="Outer"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) operation = 2 [node name="Inner" type="CSGBox3D" parent="Outer/CSGCombiner3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.991699, 0) size = Vector3(2, 3.0166, 1) [node name="Frame" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 6) mesh = SubResource("ArrayMesh_gnq53") [node name="Frame2" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -6) mesh = SubResource("ArrayMesh_gnq53")