Test level for viewport frame delay

These viewports are NOT delayed. What am I doing wrong? Is it that they
are created programmatically???
This commit is contained in:
Vojtěch Struhár 2025-03-04 19:04:48 +01:00
parent eba916fb81
commit 5e8725eefc
2 changed files with 160 additions and 1 deletions

View File

@ -0,0 +1,159 @@
[gd_scene load_steps=19 format=4 uid="uid://b2c27cvkqvhbi"]
[ext_resource type="Material" uid="uid://bx6qeabdhq2s" path="res://addons/kenney_prototype_tools/materials/dark/material_01.tres" id="1_kvwhs"]
[ext_resource type="PackedScene" uid="uid://b5x7fmpwck335" path="res://hud.tscn" id="2_hpe2j"]
[ext_resource type="PackedScene" uid="uid://cgdlowfuuorvi" path="res://player.tscn" id="3_mc50s"]
[ext_resource type="Script" uid="uid://d2bvvjsibau8c" path="res://addons/simple-portal-system/scripts/portal.gd" id="4_hg00i"]
[ext_resource type="PackedScene" uid="uid://d1dtxvwk86ple" path="res://procedural_mesh_maker.tscn" id="5_ka6qt"]
[ext_resource type="PackedScene" uid="uid://cxopylew5786r" path="res://portal_environment_adapter.tscn" id="6_ka6qt"]
[ext_resource type="PackedScene" uid="uid://dn8qt0qwx4sfs" path="res://addons/kenney_prototype_tools/scenes/orange/orange_02.tscn" id="7_o2k5d"]
[ext_resource type="Material" uid="uid://uylhy3ucrinn" path="res://addons/kenney_prototype_tools/materials/purple/material_04.tres" id="8_25cs0"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_sjb6i"]
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_o2k5d"]
sky_material = SubResource("ProceduralSkyMaterial_sjb6i")
[sub_resource type="Environment" id="Environment_25cs0"]
background_mode = 2
sky = SubResource("Sky_o2k5d")
tonemap_mode = 2
glow_enabled = true
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_fdix6"]
points = PackedVector3Array(-10, -0.5, -10, -10, 0.5, -10, 10, -0.5, -10, -10, -0.5, 10, -10, 0.5, 10, 10, 0.5, -10, 10, -0.5, 10, 10, 0.5, 10)
[sub_resource type="BoxMesh" id="BoxMesh_hpe2j"]
size = Vector3(20, 1, 20)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_hg00i"]
data = PackedVector3Array(-1, -1.125, -0.25, -1, -1.125, 0.25, -0.75, -1.125, -0.25, 0.75, 0.875, 0.25, 1, 1.125, 0.25, 0.75, -1.125, 0.25, -1, -1.125, 0.25, -1, -1.125, -0.25, -1, 1.125, -0.25, -0.75, -1.125, -0.25, -1, -1.125, 0.25, -0.75, -1.125, 0.25, -0.75, -1.125, 0.25, -1, -1.125, 0.25, -0.75, 0.875, 0.25, -0.75, 0.875, -0.25, -1, 1.125, -0.25, -0.75, -1.125, -0.25, -0.75, 0.875, -0.25, 1, 1.125, -0.25, -1, 1.125, -0.25, -1, 1.125, -0.25, -1, 1.125, 0.25, -1, -1.125, 0.25, -1, 1.125, 0.25, -0.75, 0.875, 0.25, -1, -1.125, 0.25, -1, 1.125, -0.25, 1, 1.125, 0.25, -1, 1.125, 0.25, -0.75, 0.875, 0.25, -1, 1.125, 0.25, 0.75, 0.875, 0.25, 1, -1.125, -0.25, 0.75, -1.125, -0.25, 1, -1.125, 0.25, -1, -1.125, -0.25, -0.75, -1.125, -0.25, -1, 1.125, -0.25, 0.75, -1.125, -0.25, 1, -1.125, -0.25, 0.75, 0.875, -0.25, 1, -1.125, 0.25, 0.75, -1.125, -0.25, 0.75, -1.125, 0.25, 1, -1.125, 0.25, 1, 1.125, 0.25, 1, -1.125, -0.25, 1, -1.125, 0.25, 0.75, -1.125, 0.25, 1, 1.125, 0.25, 0.75, 0.875, -0.25, 1, 1.125, -0.25, -0.75, 0.875, -0.25, 1, 1.125, -0.25, 1, 1.125, 0.25, -1, 1.125, -0.25, 1, 1.125, -0.25, 0.75, 0.875, -0.25, 1, -1.125, -0.25, 1, 1.125, 0.25, 1, 1.125, -0.25, 1, -1.125, -0.25, 0.75, 0.875, 0.25, -1, 1.125, 0.25, 1, 1.125, 0.25, -0.75, 0.875, 0.25, -0.75, -1.125, -0.25, -0.75, -1.125, 0.25, -0.75, -1.125, -0.25, -0.75, 0.875, 0.25, -0.75, 0.875, -0.25, 0.75, 0.875, -0.25, 0.75, -1.125, 0.25, 0.75, -1.125, -0.25, 0.75, 0.875, 0.25, 0.75, 0.875, -0.25, -0.75, 0.875, -0.25, 0.75, -1.125, 0.25, 0.75, 0.875, -0.25, 0.75, 0.875, 0.25, -0.75, 0.875, -0.25, -0.75, 0.875, 0.25, 0.75, 0.875, 0.25)
[sub_resource type="ArrayMesh" id="ArrayMesh_ka6qt"]
_surfaces = [{
"aabb": AABB(-1, -1.125, -0.25, 2, 2.25, 0.5),
"attribute_data": PackedByteArray("AACAPwAAAAAAAAAAAAAAAAAAgD8AAAA+AAAAPjmO4z0AAAAAAAAAAAAAAD4AAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAAD4AAAAAAAAAAAAAAAAAAAA+AABgPwAAgD8AAIA/AACAPwAAYD85juM9AABgPzmOYz8AAIA/AACAPwAAYD8AAAAAAABgPzmOYz8AAAAAAACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAGA/OY7jPQAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AABgPzmO4z0AAIA/AAAAAAAAAD45juM9AACAPwAAgD8AAIA/AABgPwAAAAAAAIA/AACAPwAAAAAAAGA/AAAAAAAAgD8AAIA/AAAAPgAAAAAAAAAAAAAAAAAAAD45jmM/AAAAAAAAgD8AAIA/AABgPwAAAAAAAGA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAAA+AACAPwAAAAAAAAAAAAAAPjmOYz8AAAAAAACAPwAAYD85jmM/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAAA+OY5jPwAAAAAAAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AAAAPjmO4z0AAIA/AAAAAAAAAAAAAAAAAAAAAAAAQD8AAIA/AACAPgAAgD8AAEA/AACAPwAAgD4AAAAAAABAPwAAAAAAAIA+AAAAAAAAQD8AAIA/AACAPgAAgD8AAEA/AACAPgAAAAAAAEA/AAAAAAAAQD8AAIA/AACAPwAAgD4AAAAAAABAPwAAAAAAAIA+AABAPwAAgD8AAIA+AACAPwAAgD4AAAAA"),
"format": 34359738391,
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 84,
"vertex_data": PackedByteArray("AACAvwAAkL8AAIC+AACAvwAAkL8AAIA+AABAvwAAkL8AAIC+AABAPwAAYD8AAIA+AACAPwAAkD8AAIA+AABAPwAAkL8AAIA+AACAvwAAkL8AAIA+AACAvwAAkL8AAIC+AACAvwAAkD8AAIC+AABAvwAAkL8AAIC+AACAvwAAkL8AAIA+AABAvwAAkL8AAIA+AABAvwAAkL8AAIA+AACAvwAAkL8AAIA+AABAvwAAYD8AAIA+AABAvwAAYD8AAIC+AACAvwAAkD8AAIC+AABAvwAAkL8AAIC+AABAvwAAYD8AAIC+AACAPwAAkD8AAIC+AACAvwAAkD8AAIC+AACAvwAAkD8AAIC+AACAvwAAkD8AAIA+AACAvwAAkL8AAIA+AACAvwAAkD8AAIA+AABAvwAAYD8AAIA+AACAvwAAkL8AAIA+AACAvwAAkD8AAIC+AACAPwAAkD8AAIA+AACAvwAAkD8AAIA+AABAvwAAYD8AAIA+AACAvwAAkD8AAIA+AABAPwAAYD8AAIA+AACAPwAAkL8AAIC+AABAPwAAkL8AAIC+AACAPwAAkL8AAIA+AACAvwAAkL8AAIC+AABAvwAAkL8AAIC+AACAvwAAkD8AAIC+AABAPwAAkL8AAIC+AACAPwAAkL8AAIC+AABAPwAAYD8AAIC+AACAPwAAkL8AAIA+AABAPwAAkL8AAIC+AABAPwAAkL8AAIA+AACAPwAAkL8AAIA+AACAPwAAkD8AAIA+AACAPwAAkL8AAIC+AACAPwAAkL8AAIA+AABAPwAAkL8AAIA+AACAPwAAkD8AAIA+AABAPwAAYD8AAIC+AACAPwAAkD8AAIC+AABAvwAAYD8AAIC+AACAPwAAkD8AAIC+AACAPwAAkD8AAIA+AACAvwAAkD8AAIC+AACAPwAAkD8AAIC+AABAPwAAYD8AAIC+AACAPwAAkL8AAIC+AACAPwAAkD8AAIA+AACAPwAAkD8AAIC+AACAPwAAkL8AAIC+AABAPwAAYD8AAIA+AACAvwAAkD8AAIA+AACAPwAAkD8AAIA+AABAvwAAYD8AAIA+AABAvwAAkL8AAIC+AABAvwAAkL8AAIA+AABAvwAAkL8AAIC+AABAvwAAYD8AAIA+AABAvwAAYD8AAIC+AABAPwAAYD8AAIC+AABAPwAAkL8AAIA+AABAPwAAkL8AAIC+AABAPwAAYD8AAIA+AABAPwAAYD8AAIC+AABAvwAAYD8AAIC+AABAPwAAkL8AAIA+AABAPwAAYD8AAIC+AABAPwAAYD8AAIA+AABAvwAAYD8AAIC+AABAvwAAYD8AAIA+AABAPwAAYD8AAIA+/38AAP//AAD/fwAA//8AAP9/AAD//wAA/3//fwAA/z//f/9/AAD/P/9//38AAP8/AAD/f/9//n8AAP9//3/+fwAA/3//f/5//38AAP//AAD/fwAA//8AAP9/AAD//wAA/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//38AAP//AAD/fwAA//8AAP9/AAD//wAA/////wAA/z//////AAD/P/////8AAP8//////wAA/z//////AAD/P/////8AAP8//38AAP//AAD/fwAA//8AAP9/AAD//wAA////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/////f/9/AID///9//38AgP///3//fwCA////f/9/AID///9//38AgP///3//fwCAAAD/f/9/AIAAAP9//38AgAAA/3//fwCA/38AAP//////fwAA//////9/AAD/////AAD/f/9/AIAAAP9//38AgAAA/3//fwCA/38AAP//////fwAA//////9/AAD/////")
}]
[sub_resource type="ArrayMesh" id="ArrayMesh_hg00i"]
_surfaces = [{
"aabb": AABB(-0.75, -1, -0.1, 1.5, 2, 0.1),
"attribute_data": PackedByteArray("AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AACAPwAAgD+JiIg9zcxMPe/ubj/NzEw9iYiIPTMzcz/v7m4/MzNzPw=="),
"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("AABAvwAAgD8AAAAAAABAPwAAgD8AAAAAAABAvwAAgL8AAAAAAABAPwAAgL8AAAAAZmYmv2ZmZj/NzMy9ZmYmP2ZmZj/NzMy9ZmYmv2ZmZr/NzMy9ZmYmP2ZmZr/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_sjb6i"]
_surfaces = [{
"aabb": AABB(-0.75, -1, -0.1, 1.5, 2, 0.1),
"attribute_data": PackedByteArray("AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AACAPwAAgD+JiIg9zcxMPe/ubj/NzEw9iYiIPTMzcz/v7m4/MzNzPw=="),
"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("AABAvwAAgD8AAAAAAABAPwAAgD8AAAAAAABAvwAAgL8AAAAAAABAPwAAgL8AAAAAZmYmv2ZmZj/NzMy9ZmYmP2ZmZj/NzMy9ZmYmv2ZmZr/NzMy9ZmYmP2ZmZr/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="SphereMesh" id="SphereMesh_xuajm"]
[node name="level_test_portal_delay" type="Node3D"]
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_25cs0")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(-0.866023, -0.433016, 0.250001, 0, 0.499998, 0.866027, -0.500003, 0.749999, -0.43301, 0, 0, 0)
shadow_enabled = true
[node name="StaticBody3D" type="StaticBody3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
shape = SubResource("ConvexPolygonShape3D_fdix6")
[node name="Ground" type="MeshInstance3D" parent="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
material_override = ExtResource("1_kvwhs")
mesh = SubResource("BoxMesh_hpe2j")
skeleton = NodePath("../..")
[node name="HUD" parent="." instance=ExtResource("2_hpe2j")]
[node name="Player" parent="." instance=ExtResource("3_mc50s")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.96416, 0, 3.38931)
[node name="PortalFrame" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.374685, 0)
[node name="CSGBakedCollisionShape3D" type="CollisionShape3D" parent="PortalFrame"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
shape = SubResource("ConcavePolygonShape3D_hg00i")
[node name="CSGBakedMeshInstance3D" type="MeshInstance3D" parent="PortalFrame"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
material_override = ExtResource("1_kvwhs")
cast_shadow = 0
mesh = SubResource("ArrayMesh_ka6qt")
skeleton = NodePath("../..")
[node name="Portal_A" type="MeshInstance3D" parent="PortalFrame" node_paths=PackedStringArray("exit_portal")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.37468, 0)
cast_shadow = 0
mesh = SubResource("ArrayMesh_hg00i")
skeleton = NodePath("../..")
script = ExtResource("4_hg00i")
exit_portal = NodePath("../../PortalFrame2/Portal_B")
[node name="PortalFrame2" type="StaticBody3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 3, -0.375, -2.5)
[node name="CSGBakedCollisionShape3D" type="CollisionShape3D" parent="PortalFrame2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
shape = SubResource("ConcavePolygonShape3D_hg00i")
[node name="CSGBakedMeshInstance3D" type="MeshInstance3D" parent="PortalFrame2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
material_override = ExtResource("1_kvwhs")
cast_shadow = 0
mesh = SubResource("ArrayMesh_ka6qt")
skeleton = NodePath("../..")
[node name="Portal_B" type="MeshInstance3D" parent="PortalFrame2" node_paths=PackedStringArray("exit_portal")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.375, 0)
cast_shadow = 0
mesh = SubResource("ArrayMesh_sjb6i")
skeleton = NodePath("../..")
script = ExtResource("4_hg00i")
exit_portal = NodePath("../../PortalFrame/Portal_A")
[node name="ProceduralMeshMaker" parent="." node_paths=PackedStringArray("portal") instance=ExtResource("5_ka6qt")]
portal = NodePath("../PortalFrame2/Portal_B")
width = 1.5
[node name="PortalEnvironmentAdapter" parent="." node_paths=PackedStringArray("base") instance=ExtResource("6_ka6qt")]
base = NodePath("../WorldEnvironment")
[node name="Cube" parent="." instance=ExtResource("7_o2k5d")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, -4)
[node name="Mesh" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.5, 3)
material_override = ExtResource("8_25cs0")
mesh = SubResource("SphereMesh_xuajm")
skeleton = NodePath("")

View File

@ -9,7 +9,7 @@ var _generate_portal_mesh: Callable = generate_portal_mesh
var _remove_mesh: Callable = func(): portal.mesh = null
@export var portal: MyPortal
@export var portal: Portal
@export_range(0.1, 10, 0.01) var height: float = 2.0:
set(v):