Reuse portal prefab, new icon
Using the portal like this makes it easier to change defaults
This commit is contained in:
parent
18d407ace7
commit
3a2047fd2d
58
components/portal_prefab.tscn
Normal file
58
components/portal_prefab.tscn
Normal file
@ -0,0 +1,58 @@
|
||||
[gd_scene load_steps=6 format=4 uid="uid://dl3qjl3fwwvlm"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cw1r4c1d7beyv" path="res://addons/portals/scripts/portal_3d.gd" id="1_1cbrx"]
|
||||
[ext_resource type="Material" uid="uid://dcfkcyddxkglf" path="res://addons/portals/materials/editor-preview-portal-material.tres" id="2_rfxbf"]
|
||||
[ext_resource type="Script" uid="uid://bxcel82b180o3" path="res://addons/portals/scripts/portal_boxmesh.gd" id="3_xuvre"]
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_o6p8a"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1, -1, -1, 2, 2, 1),
|
||||
"attribute_data": PackedByteArray("AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AACAPwAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAIA/AACAPw=="),
|
||||
"format": 34359742487,
|
||||
"index_count": 36,
|
||||
"index_data": PackedByteArray("AAABAAQABAABAAUAAQADAAUABQADAAcAAwACAAcABwACAAYAAgAAAAYABgAAAAQABAAFAAYABgAFAAcAAAABAAIAAgABAAMA"),
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 8,
|
||||
"vertex_data": PackedByteArray("AACAvwAAgD8AAAAAAACAPwAAgD8AAAAAAACAvwAAgL8AAAAAAACAPwAAgL8AAAAAAACAvwAAgD8AAIC/AACAPwAAgD8AAIC/AACAvwAAgL8AAIC/AACAPwAAgL8AAIC//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("3_xuvre")
|
||||
size = Vector3(2, 2, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_godo4"]
|
||||
size = Vector3(2, 2, 1)
|
||||
|
||||
[node name="PortalPrefab" type="Node3D" groups=["portals"]]
|
||||
process_priority = 100
|
||||
process_physics_priority = 100
|
||||
script = ExtResource("1_1cbrx")
|
||||
_portal_mesh_path = NodePath("Portal3D_Mesh")
|
||||
_teleport_area_path = NodePath("TeleportArea")
|
||||
_teleport_collider_path = NodePath("TeleportArea/Collider")
|
||||
portal_size = Vector2(2, 2)
|
||||
portal_render_layer = 524288
|
||||
portal_frame_width = 0.0
|
||||
viewport_size_mode = 1
|
||||
_viewport_size_max_width_absolute = 1920
|
||||
view_direction = 1
|
||||
is_teleport = true
|
||||
teleport_direction = 0
|
||||
rigidbody_boost = 0.0
|
||||
teleport_collision_mask = 32768
|
||||
teleport_tolerance = 0.5
|
||||
teleport_interactions = 0
|
||||
start_deactivated = false
|
||||
metadata/_custom_type_script = "uid://cw1r4c1d7beyv"
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Portal3D_Mesh" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.05, 0, 0, 0)
|
||||
layers = 524288
|
||||
material_override = ExtResource("2_rfxbf")
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_o6p8a")
|
||||
|
||||
[node name="TeleportArea" type="Area3D" parent="."]
|
||||
|
||||
[node name="Collider" type="CollisionShape3D" parent="TeleportArea"]
|
||||
shape = SubResource("BoxShape3D_godo4")
|
34
icon.png.import
Normal file
34
icon.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dys7bqm5frcfe"
|
||||
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.png"
|
||||
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
@ -14,11 +14,13 @@ portals/gizmo_forward_color=Color(0.464396, 2.33434e-06, 0.285212, 1)
|
||||
|
||||
[application]
|
||||
|
||||
config/name="AntichamberStairs"
|
||||
config/name="Many Paths To Nowhere"
|
||||
config/description="This is a recreation of an Antichamber puzzle called Many Paths To Nowhere. It serves as a showcase of my portal plugin."
|
||||
config/version="1.0.0"
|
||||
config/tags=PackedStringArray("demo", "dp", "game")
|
||||
run/main_scene="uid://by4fsuj02uyb3"
|
||||
config/features=PackedStringArray("4.4", "Forward Plus")
|
||||
config/icon="res://icon.svg"
|
||||
config/icon="uid://dys7bqm5frcfe"
|
||||
|
||||
[display]
|
||||
|
||||
|
197
world.tscn
197
world.tscn
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=20 format=4 uid="uid://by4fsuj02uyb3"]
|
||||
[gd_scene load_steps=16 format=3 uid="uid://by4fsuj02uyb3"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://7uicahbwx5vb" path="res://scripts/antichamber.gd" id="1_2o6r5"]
|
||||
[ext_resource type="Script" uid="uid://bdclx4q3c332j" path="res://scripts/player.gd" id="1_f3sb7"]
|
||||
@ -10,9 +10,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://dg8u30dpogytq" path="res://meshes/Hall-Win.glb" id="8_ioo17"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwox38sbk15lq" path="res://meshes/Hall-AfterStairs-Outline.glb" id="9_hiqwa"]
|
||||
[ext_resource type="PackedScene" uid="uid://bxbrle74hc0x7" path="res://meshes/Hall-Win-Outline.glb" id="9_wse8f"]
|
||||
[ext_resource type="Script" uid="uid://cw1r4c1d7beyv" path="res://addons/portals/scripts/portal_3d.gd" id="10_ic0uy"]
|
||||
[ext_resource type="Material" uid="uid://dcfkcyddxkglf" path="res://addons/portals/materials/editor-preview-portal-material.tres" id="11_2o6r5"]
|
||||
[ext_resource type="Script" uid="uid://bxcel82b180o3" path="res://addons/portals/scripts/portal_boxmesh.gd" id="11_k3n1d"]
|
||||
[ext_resource type="PackedScene" uid="uid://dl3qjl3fwwvlm" path="res://components/portal_prefab.tscn" id="11_ic0uy"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_f3sb7"]
|
||||
sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
|
||||
@ -34,44 +32,12 @@ glow_enabled = true
|
||||
radius = 0.375
|
||||
height = 1.5
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_70uel"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1, -1, -1, 2, 2, 1),
|
||||
"attribute_data": PackedByteArray("AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AACAPwAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAIA/AACAPw=="),
|
||||
"format": 34359742487,
|
||||
"index_count": 36,
|
||||
"index_data": PackedByteArray("AAABAAQABAABAAUAAQADAAUABQADAAcAAwACAAcABwACAAYAAgAAAAYABgAAAAQABAAFAAYABgAFAAcAAAABAAIAAgABAAMA"),
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 8,
|
||||
"vertex_data": PackedByteArray("AACAvwAAgD8AAAAAAACAPwAAgD8AAAAAAACAvwAAgL8AAAAAAACAPwAAgL8AAAAAAACAvwAAgD8AAIC/AACAPwAAgD8AAIC/AACAvwAAgL8AAIC/AACAPwAAgL8AAIC//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("11_k3n1d")
|
||||
size = Vector3(2, 2, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_hiqwa"]
|
||||
size = Vector3(2, 2, 1)
|
||||
|
||||
[node name="World" type="Node3D"]
|
||||
script = ExtResource("1_2o6r5")
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_tlwt5")
|
||||
|
||||
[node name="Player" type="CharacterBody3D" parent="." node_paths=PackedStringArray("camera")]
|
||||
transform = Transform3D(1, 0, -1.58933e-08, 0, 1, 0, 1.58933e-08, 0, 1, -4.42657, 1.05097, 10.9577)
|
||||
collision_layer = 32769
|
||||
floor_max_angle = 0.872665
|
||||
script = ExtResource("1_f3sb7")
|
||||
camera = NodePath("Camera3D")
|
||||
SPEED = 3.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Player"]
|
||||
shape = SubResource("CapsuleShape3D_f3sb7")
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="Player"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
|
||||
|
||||
[node name="Hall-BeforeStairs" parent="." instance=ExtResource("2_fj7yv")]
|
||||
|
||||
[node name="Hall-BeforeStairs-Outline" parent="Hall-BeforeStairs" instance=ExtResource("3_ioo17")]
|
||||
@ -173,157 +139,40 @@ omni_attenuation = -1.25
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 2.8)
|
||||
text = "YOU WIN!!!"
|
||||
|
||||
[node name="StairsPortal" type="Node3D" parent="." node_paths=PackedStringArray("exit_portal") groups=["portals"]]
|
||||
[node name="Player" type="CharacterBody3D" parent="." node_paths=PackedStringArray("camera")]
|
||||
transform = Transform3D(1, 0, -1.58933e-08, 0, 1, 0, 1.58933e-08, 0, 1, -4.42657, 1.05097, 10.9577)
|
||||
collision_layer = 32769
|
||||
floor_max_angle = 0.872665
|
||||
script = ExtResource("1_f3sb7")
|
||||
camera = NodePath("Camera3D")
|
||||
SPEED = 3.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Player"]
|
||||
shape = SubResource("CapsuleShape3D_f3sb7")
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="Player"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
|
||||
near = 0.001
|
||||
|
||||
[node name="StairsPortal" parent="." node_paths=PackedStringArray("exit_portal") instance=ExtResource("11_ic0uy")]
|
||||
unique_name_in_owner = true
|
||||
process_priority = 100
|
||||
process_physics_priority = 100
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -6, 1, 3)
|
||||
script = ExtResource("10_ic0uy")
|
||||
_portal_mesh_path = NodePath("Portal3D_Mesh")
|
||||
_teleport_area_path = NodePath("TeleportArea")
|
||||
_teleport_collider_path = NodePath("TeleportArea/Collider")
|
||||
portal_size = Vector2(2, 2)
|
||||
transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, -6, 1, 3)
|
||||
exit_portal = NodePath("../StartPortal")
|
||||
portal_render_layer = 524288
|
||||
portal_frame_width = 0.0
|
||||
viewport_size_mode = 1
|
||||
_viewport_size_max_width_absolute = 1920
|
||||
view_direction = 0
|
||||
is_teleport = true
|
||||
teleport_direction = 2
|
||||
rigidbody_boost = 0.0
|
||||
teleport_collision_mask = 32768
|
||||
teleport_tolerance = 0.5
|
||||
teleport_interactions = 3
|
||||
start_deactivated = false
|
||||
metadata/_custom_type_script = "uid://cw1r4c1d7beyv"
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Portal3D_Mesh" type="MeshInstance3D" parent="StairsPortal"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.05, 0, 0, 0)
|
||||
layers = 524288
|
||||
material_override = ExtResource("11_2o6r5")
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_70uel")
|
||||
|
||||
[node name="TeleportArea" type="Area3D" parent="StairsPortal"]
|
||||
|
||||
[node name="Collider" type="CollisionShape3D" parent="StairsPortal/TeleportArea"]
|
||||
shape = SubResource("BoxShape3D_hiqwa")
|
||||
|
||||
[node name="StartPortal" type="Node3D" parent="." node_paths=PackedStringArray("exit_portal") groups=["portals"]]
|
||||
[node name="StartPortal" parent="." node_paths=PackedStringArray("exit_portal") instance=ExtResource("11_ic0uy")]
|
||||
unique_name_in_owner = true
|
||||
process_priority = 100
|
||||
process_physics_priority = 100
|
||||
transform = Transform3D(1, 0, 1.74846e-07, 0, 1, 0, -1.74846e-07, 0, 1, -10, 1, 6.9)
|
||||
script = ExtResource("10_ic0uy")
|
||||
_portal_mesh_path = NodePath("Portal3D_Mesh")
|
||||
_teleport_area_path = NodePath("TeleportArea")
|
||||
_teleport_collider_path = NodePath("TeleportArea/Collider")
|
||||
portal_size = Vector2(2, 2)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 1, 6.9)
|
||||
exit_portal = NodePath("../StairsPortal")
|
||||
portal_render_layer = 524288
|
||||
portal_frame_width = 0.0
|
||||
viewport_size_mode = 1
|
||||
_viewport_size_max_width_absolute = 1920
|
||||
view_direction = 0
|
||||
is_teleport = true
|
||||
teleport_direction = 2
|
||||
rigidbody_boost = 0.0
|
||||
teleport_collision_mask = 32768
|
||||
teleport_tolerance = 0.5
|
||||
teleport_interactions = 3
|
||||
start_deactivated = false
|
||||
metadata/_custom_type_script = "uid://cw1r4c1d7beyv"
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Portal3D_Mesh" type="MeshInstance3D" parent="StartPortal"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.05, 0, 0, 0)
|
||||
layers = 524288
|
||||
material_override = ExtResource("11_2o6r5")
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_70uel")
|
||||
|
||||
[node name="TeleportArea" type="Area3D" parent="StartPortal"]
|
||||
|
||||
[node name="Collider" type="CollisionShape3D" parent="StartPortal/TeleportArea"]
|
||||
shape = SubResource("BoxShape3D_hiqwa")
|
||||
|
||||
[node name="BluePortal" type="Node3D" parent="." node_paths=PackedStringArray("exit_portal") groups=["portals"]]
|
||||
[node name="BluePortal" parent="." node_paths=PackedStringArray("exit_portal") instance=ExtResource("11_ic0uy")]
|
||||
unique_name_in_owner = true
|
||||
process_priority = 100
|
||||
process_physics_priority = 100
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 3.2, 2.1)
|
||||
script = ExtResource("10_ic0uy")
|
||||
_portal_mesh_path = NodePath("Portal3D_Mesh")
|
||||
_teleport_area_path = NodePath("TeleportArea")
|
||||
_teleport_collider_path = NodePath("TeleportArea/Collider")
|
||||
portal_size = Vector2(2, 2)
|
||||
exit_portal = NodePath("../StairsPortal")
|
||||
portal_render_layer = 524288
|
||||
portal_frame_width = 0.0
|
||||
viewport_size_mode = 1
|
||||
_viewport_size_max_width_absolute = 1920
|
||||
view_direction = 0
|
||||
is_teleport = true
|
||||
teleport_direction = 2
|
||||
rigidbody_boost = 0.0
|
||||
teleport_collision_mask = 32768
|
||||
teleport_tolerance = 0.5
|
||||
teleport_interactions = 3
|
||||
start_deactivated = false
|
||||
metadata/_custom_type_script = "uid://cw1r4c1d7beyv"
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Portal3D_Mesh" type="MeshInstance3D" parent="BluePortal"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.05, 0, 0, 0)
|
||||
layers = 524288
|
||||
material_override = ExtResource("11_2o6r5")
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_70uel")
|
||||
|
||||
[node name="TeleportArea" type="Area3D" parent="BluePortal"]
|
||||
|
||||
[node name="Collider" type="CollisionShape3D" parent="BluePortal/TeleportArea"]
|
||||
shape = SubResource("BoxShape3D_hiqwa")
|
||||
|
||||
[node name="RedPortal" type="Node3D" parent="." node_paths=PackedStringArray("exit_portal") groups=["portals"]]
|
||||
[node name="RedPortal" parent="." node_paths=PackedStringArray("exit_portal") instance=ExtResource("11_ic0uy")]
|
||||
unique_name_in_owner = true
|
||||
process_priority = 100
|
||||
process_physics_priority = 100
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, -1.2, -2.38419e-07)
|
||||
script = ExtResource("10_ic0uy")
|
||||
_portal_mesh_path = NodePath("Portal3D_Mesh")
|
||||
_teleport_area_path = NodePath("TeleportArea")
|
||||
_teleport_collider_path = NodePath("TeleportArea/Collider")
|
||||
portal_size = Vector2(2, 2)
|
||||
exit_portal = NodePath("../StairsPortal")
|
||||
portal_render_layer = 524288
|
||||
portal_frame_width = 0.0
|
||||
viewport_size_mode = 1
|
||||
_viewport_size_max_width_absolute = 1920
|
||||
view_direction = 0
|
||||
is_teleport = true
|
||||
teleport_direction = 2
|
||||
rigidbody_boost = 0.0
|
||||
teleport_collision_mask = 32768
|
||||
teleport_tolerance = 0.5
|
||||
teleport_interactions = 3
|
||||
start_deactivated = false
|
||||
metadata/_custom_type_script = "uid://cw1r4c1d7beyv"
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Portal3D_Mesh" type="MeshInstance3D" parent="RedPortal"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.05, 0, 0, 0)
|
||||
layers = 524288
|
||||
material_override = ExtResource("11_2o6r5")
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("ArrayMesh_70uel")
|
||||
|
||||
[node name="TeleportArea" type="Area3D" parent="RedPortal"]
|
||||
|
||||
[node name="Collider" type="CollisionShape3D" parent="RedPortal/TeleportArea"]
|
||||
shape = SubResource("BoxShape3D_hiqwa")
|
||||
|
||||
[connection signal="on_teleport" from="BluePortal" to="." method="_on_blue_portal_on_teleport"]
|
||||
[connection signal="on_teleport" from="RedPortal" to="." method="_on_red_portal_on_teleport"]
|
||||
|
Loading…
Reference in New Issue
Block a user