From 7893870520873a0e10251c7272342c43feea8eb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20Struh=C3=A1r?= Date: Wed, 12 Feb 2025 13:22:59 +0100 Subject: [PATCH] Semafor screen --- NOTES.md | 7 ++ level_3_rooms.tscn | 94 +++++++++++++++++++++++++++ menu.gd | 4 ++ menu.tscn | 5 ++ models/portal_square_2by2.glb | Bin 0 -> 1656 bytes models/portal_square_2by2.glb.import | 37 +++++++++++ 6 files changed, 147 insertions(+) create mode 100644 level_3_rooms.tscn create mode 100644 models/portal_square_2by2.glb create mode 100644 models/portal_square_2by2.glb.import diff --git a/NOTES.md b/NOTES.md index b7d1832..054c519 100644 --- a/NOTES.md +++ b/NOTES.md @@ -13,3 +13,10 @@ venkovního úhlu. Protože reálně jsem od něj mega daleko, takže portálov - Dolní collider jsem musel hodně zvětšit aby skrz něj hráč neproletěl během 1 physics framu +### Semafor + +3 místnosti do čtverce + +- Zkusil jsem vymodelovat vlastní mesh v blenderu. Moc to nefunguje, Godot je asi zmatený z toho +že on má Y-up a Blender používá Z-up. V portal repu je k tomu poznámka ale nepochopil jsem to asi. + - Divně se na ten mesh pak projektuje ta textura kamery?? diff --git a/level_3_rooms.tscn b/level_3_rooms.tscn new file mode 100644 index 0000000..521726f --- /dev/null +++ b/level_3_rooms.tscn @@ -0,0 +1,94 @@ +[gd_scene load_steps=10 format=3 uid="uid://27pb62xwsqd8"] + +[ext_resource type="MeshLibrary" uid="uid://bedqgubx1g1uf" path="res://prototypes.tres" id="1_mqqdr"] +[ext_resource type="Script" uid="uid://d2bvvjsibau8c" path="res://addons/simple-portal-system/scripts/portal.gd" id="2_b14t7"] +[ext_resource type="ArrayMesh" uid="uid://bqilnvlfws6xh" path="res://portal-mesh.tres" id="2_cgnft"] +[ext_resource type="PackedScene" uid="uid://cgdlowfuuorvi" path="res://player.tscn" id="3_b0o0q"] +[ext_resource type="Script" uid="uid://bkv7t4hw21byg" path="res://addons/simple-portal-system/scripts/simple_portal_teleport.gd" id="4_snwvi"] + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_b0o0q"] +sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1) +ground_horizon_color = Color(0.662243, 0.671743, 0.686743, 1) + +[sub_resource type="Sky" id="Sky_cgnft"] +sky_material = SubResource("ProceduralSkyMaterial_b0o0q") + +[sub_resource type="Environment" id="Environment_snwvi"] +background_mode = 2 +sky = SubResource("Sky_cgnft") +glow_enabled = true + +[sub_resource type="BoxShape3D" id="BoxShape3D_cgnft"] +size = Vector3(2, 2, 0.5) + +[node name="level_3rooms" type="Node3D"] + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_snwvi") + +[node name="GridMap" type="GridMap" parent="."] +mesh_library = ExtResource("1_mqqdr") +cell_size = Vector3(1, 1, 1) +data = { +"cells": PackedInt32Array(65530, 6, 0, 65531, 6, 0, 65532, 6, 0, 65533, 6, 0, 65534, 6, 0, 65535, 6, 0, 0, 6, 0, 1, 6, 0, 2, 6, 0, 3, 6, 0, 4, 6, 0, 5, 6, 0, 5, 5, 0, 6, 5, 0, 6, 4, 0, 6, 3, 0, 6, 1, 0, 6, 2, 0, 5, 3, 0, 5, 4, 0, 6, 6, 0, 5, 2, 0, 6, 0, 0, 65535, 65529, 0, 65534, 65529, 0, 65533, 65529, 0, 65532, 65529, 0, 65531, 65529, 0, 65530, 65529, 0, 65529, 65529, 0, 65529, 65530, 0, 65529, 65531, 0, 65528, 65531, 0, 65528, 65532, 0, 65528, 65533, 0, 65528, 65534, 0, 65528, 65535, 0, 65528, 0, 0, 65528, 1, 0, 65528, 2, 0, 65528, 3, 0, 65528, 4, 0, 65528, 5, 0, 65528, 6, 0, 65529, 6, 0, 65529, 1, 0, 65529, 0, 0, 65529, 65535, 0, 65529, 65534, 0, 65529, 65533, 0, 65530, 65535, 0, 65530, 0, 0, 65530, 1, 0, 65530, 2, 0, 65530, 3, 0, 65529, 3, 0, 65529, 4, 0, 65529, 5, 0, 65530, 4, 0, 65530, 5, 0, 65531, 5, 0, 65529, 2, 0, 65530, 65534, 0, 65530, 65533, 0, 65529, 65532, 0, 65530, 65530, 0, 65531, 65530, 0, 65531, 65531, 0, 65531, 65532, 0, 65531, 65533, 0, 65530, 65532, 0, 65528, 65530, 0, 65528, 65529, 0, 65530, 65531, 0, 65534, 65530, 0, 65535, 65530, 0, 65534, 65531, 0, 65533, 65531, 0, 65532, 65531, 0, 65532, 65530, 0, 65533, 65530, 0, 5, 1, 0, 5, 0, 0, 4, 0, 0, 4, 1, 0, 4, 2, 0, 3, 2, 0, 3, 3, 0, 3, 4, 0, 3, 5, 0, 4, 5, 0, 4, 4, 0, 4, 3, 0, 0, 5, 0, 1, 5, 0, 2, 5, 0, 65535, 5, 0, 65534, 5, 0, 65533, 5, 0, 65532, 5, 0, 65531, 4, 0, 65532, 4, 0, 65533, 4, 0, 65534, 4, 0, 65535, 3, 0, 0, 3, 0, 0, 4, 0, 1, 4, 0, 1, 3, 0, 2, 3, 0, 2, 4, 0, 65535, 4, 0, 65534, 3, 0, 65533, 3, 0, 65532, 3, 0, 65531, 3, 0, 65531, 2, 0, 65532, 2, 0, 65533, 2, 0, 65534, 2, 0, 65535, 2, 0, 0, 2, 0, 1, 2, 0, 2, 2, 0, 3, 1, 0, 2, 1, 0, 1, 1, 0, 0, 1, 0, 65535, 1, 0, 65534, 1, 0, 65533, 1, 0, 65532, 1, 0, 65531, 1, 0, 65531, 0, 0, 65531, 65535, 0, 65532, 0, 0, 65533, 0, 0, 65534, 0, 0, 65535, 0, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 1, 0, 0, 65535, 65531, 0, 65534, 65532, 0, 65535, 65532, 0, 65535, 65533, 0, 65535, 65534, 0, 65535, 65535, 0, 65534, 65535, 0, 65534, 65534, 0, 65533, 65533, 0, 65533, 65532, 0, 65532, 65532, 0, 65532, 65533, 0, 65532, 65534, 0, 65533, 65534, 0, 65533, 65535, 0, 65532, 65535, 0, 65531, 65534, 0, 65534, 65533, 0, 0, 65535, 0, 1, 65535, 0, 2, 65535, 0, 3, 65535, 0, 4, 65535, 0, 5, 65535, 0, 6, 65535, 0, 65528, 65528, 0, 65529, 65528, 0, 65530, 65528, 0, 65531, 65528, 0, 65532, 65528, 0, 65533, 65528, 0, 65534, 65528, 0, 65535, 65528, 0, 131064, 6, 0, 131065, 6, 0, 131066, 6, 0, 131067, 6, 0, 131068, 6, 0, 131069, 6, 0, 131070, 6, 0, 131071, 6, 0, 65536, 6, 0, 65537, 6, 0, 65538, 6, 0, 65539, 6, 0, 65540, 6, 0, 65541, 6, 0, 65542, 6, 0, 131064, 5, 0, 131064, 4, 0, 131064, 3, 0, 131064, 2, 0, 131064, 1, 0, 131064, 0, 0, 131064, 65535, 0, 131064, 65534, 0, 131064, 65533, 0, 131064, 65532, 0, 131064, 65531, 0, 131064, 65530, 0, 131064, 65529, 0, 131064, 65528, 0, 131065, 65528, 0, 131066, 65528, 0, 131067, 65528, 0, 131068, 65528, 0, 131069, 65528, 0, 131070, 65528, 0, 131071, 65528, 0, 131065, 65535, 0, 131066, 65535, 0, 131069, 65535, 0, 131070, 65535, 0, 131071, 65535, 0, 131071, 65534, 0, 131071, 65533, 0, 131071, 65530, 0, 131071, 65529, 0, 131071, 0, 0, 131071, 1, 0, 131071, 4, 0, 131071, 5, 0, 65536, 65535, 0, 65537, 65535, 0, 65542, 65535, 0, 65542, 0, 0, 65542, 1, 0, 65542, 5, 0, 65542, 4, 0, 65542, 3, 0, 65542, 2, 0, 65541, 65535, 0, 65540, 65535, 0, 196600, 0, 1, 196600, 1, 1, 196600, 2, 1, 196600, 3, 1, 196600, 4, 1, 196600, 5, 1, 196600, 6, 1, 196601, 6, 1, 196602, 6, 1, 196603, 6, 1, 196604, 6, 1, 196605, 6, 1, 196606, 6, 1, 131072, 6, 3, 131073, 6, 3, 131074, 6, 3, 131075, 6, 3, 131076, 6, 3, 131077, 6, 3, 131078, 6, 3, 131078, 5, 3, 131078, 4, 3, 131078, 3, 3, 131078, 2, 3, 131078, 1, 3, 131078, 0, 3, 196600, 65533, 5, 196600, 65534, 5, 196600, 65532, 5, 196600, 65531, 5, 196600, 65530, 5, 196600, 65529, 5, 196600, 65528, 5, 196601, 65528, 5, 196602, 65528, 5, 196603, 65528, 5, 196604, 65528, 5, 196605, 65528, 5, 196606, 65528, 5, 196600, 65535, 0, 196601, 65535, 0, 196602, 65535, 0, 196605, 65535, 0, 196606, 65535, 0, 196607, 65535, 0, 131072, 65535, 0, 131073, 65535, 0, 196607, 1, 0, 196607, 0, 0, 196607, 65534, 0, 196607, 65533, 0, 131078, 65535, 0, 131077, 65535, 0, 131076, 65535, 0, 196607, 65528, 0, 196607, 65529, 0, 196607, 65530, 0, 262143, 65528, 0, 262142, 65528, 0, 262141, 65528, 0, 262140, 65528, 0, 262139, 65528, 0, 262138, 65528, 0, 262137, 65528, 0, 262136, 65528, 0, 262136, 65529, 0, 262136, 65530, 0, 262136, 65531, 0, 262136, 65532, 0, 262136, 65533, 0, 262136, 65534, 0, 262136, 65535, 0, 262136, 0, 0, 262136, 1, 0, 262136, 2, 0, 262136, 3, 0, 262136, 4, 0, 262136, 5, 0, 262137, 6, 0, 262136, 6, 0, 262138, 6, 0, 262139, 6, 0, 262140, 6, 0, 262141, 6, 0, 262142, 6, 0, 196607, 4, 0, 196607, 5, 0, 196607, 6, 0, 262143, 6, 0, 196608, 6, 0, 196609, 6, 0, 196610, 6, 0, 196611, 6, 0, 196612, 6, 0, 196613, 6, 0, 196614, 6, 0, 196614, 5, 0, 196614, 4, 0, 196614, 3, 0, 196614, 2, 0, 196614, 1, 0, 196614, 0, 0, 196614, 65535, 0, 196613, 65535, 0, 196612, 65535, 0, 196609, 65535, 0, 196608, 65535, 0, 262143, 65535, 0, 262142, 65535, 0, 262141, 65535, 0, 262143, 1, 0, 262143, 0, 0, 262143, 65534, 0, 262143, 65533, 0, 262143, 65530, 0, 262143, 65529, 0, 262137, 65535, 0, 262138, 65535, 0, 262143, 5, 0, 262143, 4, 0, 262143, 3, 0, 262143, 2, 0, 262143, 65532, 0, 262143, 65531, 0, 262140, 65535, 0, 262139, 65535, 0, 196611, 65535, 0, 196610, 65535, 0) +} +metadata/_editor_floor_ = Vector3(0, 3, 0) + +[node name="Portal_red" type="MeshInstance3D" parent="." node_paths=PackedStringArray("exit_portal")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.5, 2, -4) +mesh = ExtResource("2_cgnft") +skeleton = NodePath("") +script = ExtResource("2_b14t7") +vertical_viewport_resolution = 1080 +disable_viewport_distance = 32.0 +fade_out_distance_max = 30.0 +fade_out_distance_min = 28.0 +fade_out_color = Color(0, 0, 0, 1) +exit_portal = NodePath("../Portal_orange") + +[node name="Teleport" type="Area3D" parent="Portal_red"] +script = ExtResource("4_snwvi") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Portal_red/Teleport"] +transform = Transform3D(1, 0, 4.72511e-13, 0, 1, 0, -4.72511e-13, 0, 1, 0, 0, -0.250244) +shape = SubResource("BoxShape3D_cgnft") + +[node name="Portal_orange" type="MeshInstance3D" parent="." node_paths=PackedStringArray("exit_portal")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 2, -0.5) +mesh = ExtResource("2_cgnft") +skeleton = NodePath("") +script = ExtResource("2_b14t7") +vertical_viewport_resolution = 1080 +disable_viewport_distance = 32.0 +fade_out_distance_max = 30.0 +fade_out_distance_min = 28.0 +fade_out_color = Color(0, 0, 0, 1) +exit_portal = NodePath("../Portal_red") + +[node name="Teleport" type="Area3D" parent="Portal_orange"] +script = ExtResource("4_snwvi") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Portal_orange/Teleport"] +transform = Transform3D(1, 0, 4.72511e-13, 0, 1, 0, -4.72511e-13, 0, 1, 0, 0, -0.250244) +shape = SubResource("BoxShape3D_cgnft") + +[node name="Player" parent="." instance=ExtResource("3_b0o0q")] +transform = Transform3D(0.727006, 0, 0.686631, 0, 1, 0, -0.686631, 0, 0.727006, 4.51826, 1.08552, 4.0716) + +[node name="OmniLight3D" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 3, -4) +light_color = Color(1, 0.362897, 0.340022, 1) +light_energy = 3.0 +omni_range = 4.0 + +[node name="OmniLight3D2" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 3, 3) +light_color = Color(0, 0.729686, 0.363492, 1) +light_energy = 3.0 +omni_range = 4.0 + +[node name="OmniLight3D3" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 3, 3) +light_color = Color(0.887552, 0.489512, 0.22965, 1) +light_energy = 3.0 +omni_range = 4.0 diff --git a/menu.gd b/menu.gd index 150c990..cc117dc 100644 --- a/menu.gd +++ b/menu.gd @@ -2,9 +2,13 @@ extends Control const LEVEL_5_ROOMS = preload("res://level_5rooms.tscn") const LEVEL_PLATFORMER = preload("res://level_platformer.tscn") +const LEVEL_3_ROOMS = preload("res://level_3_rooms.tscn") func _on_level_button_1_pressed() -> void: get_tree().change_scene_to_packed(LEVEL_5_ROOMS) func _on_level_button_2_pressed() -> void: + get_tree().change_scene_to_packed(LEVEL_3_ROOMS) + +func _on_level_button_3_pressed() -> void: get_tree().change_scene_to_packed(LEVEL_PLATFORMER) diff --git a/menu.tscn b/menu.tscn index 1e4cc4c..aa4edd7 100644 --- a/menu.tscn +++ b/menu.tscn @@ -36,7 +36,12 @@ text = "Square rooms" [node name="LevelButton_2" type="Button" parent="CenterContainer/ItemsContainer"] layout_mode = 2 +text = "Semafor" + +[node name="LevelButton_3" type="Button" parent="CenterContainer/ItemsContainer"] +layout_mode = 2 text = "Platformer" [connection signal="pressed" from="CenterContainer/ItemsContainer/LevelButton_1" to="." method="_on_level_button_1_pressed"] [connection signal="pressed" from="CenterContainer/ItemsContainer/LevelButton_2" to="." method="_on_level_button_2_pressed"] +[connection signal="pressed" from="CenterContainer/ItemsContainer/LevelButton_3" to="." method="_on_level_button_3_pressed"] diff --git a/models/portal_square_2by2.glb b/models/portal_square_2by2.glb new file mode 100644 index 0000000000000000000000000000000000000000..07629a023590c0bb724925edd22d8d9b96d954b3 GIT binary patch literal 1656 zcmb7D-Hy^g6h1Dy=<2%u-FQjn&ZOW_N?}P1vbZKF(hZP}3E7we16zfbv;}uVNQ_V7 zD|oNL2he!wtyeyP`T(Apw!5XG>^7M>XU?4OJ9EC7_6N2$ebeq_4D@!I&w+Gwp`s6Ra!Ka zrQ*x(s8mrEB`+m0=1u4bM$RJ&oK_B)Mz%3DTw~(z>aJ@W?Xk<3Q?jo$D$R;k6Gy0N z^=G9jDWoOR+#AWA=f;UJIU%H5^$c zGu`IN2sOy2WmO^_Yiy$0GO9Gxk5P%VM5Q!pF*H!hRx-`|p?;?{r(|h1PgN<&Q(VDA z4))3!)O$+8_3*H(>irKcUj#1yRXwu|E`p-l40h{RZ<9U1PqEw&au)m_-(JqYe6D`v_8fjO zloR!fJ`azt@_DTwXTj$kz29sV@4j81<0x`pw7D3cFNt%^vV6g{EZ^hxbomDswc_7} za+aPg!n2SQ@OxI=Gxi)<4|z6wX9+N0AKrWL9mg{J>(#i(<6-*~V|*R8zcKa+bE9?( tZoqBW!m$b0;VNw4yaAVB8?NDzwsEY%9k>ZGoMUhquD~sb;~a-|_yc4e?L+_o literal 0 HcmV?d00001 diff --git a/models/portal_square_2by2.glb.import b/models/portal_square_2by2.glb.import new file mode 100644 index 0000000..b58b629 --- /dev/null +++ b/models/portal_square_2by2.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://cwllvfuk3j13q" +path="res://.godot/imported/portal_square_2by2.glb-8ad549727dc9334c841cf24c5d44c0bd.scn" + +[deps] + +source_file="res://models/portal_square_2by2.glb" +dest_files=["res://.godot/imported/portal_square_2by2.glb-8ad549727dc9334c841cf24c5d44c0bd.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +gltf/naming_version=1 +gltf/embedded_image_handling=1