feat: embed tile height placeholder inside arena .tscn files and bake terrain transform shifts natively instead of using code hacks

This commit is contained in:
2026-07-06 18:08:06 +08:00
parent c114dd5175
commit 4fd46af3c0
4 changed files with 59 additions and 36 deletions
+16 -4
View File
@@ -1,6 +1,6 @@
[gd_scene format=3 uid="uid://bx5a31fqhw8h8"]
[gd_scene format=3]
[ext_resource type="PackedScene" uid="uid://h84tka1n1alg" path="res://assets/models/arena/candy_survival/candy_survival_terrain.gltf" id="1_86fyc"]
[ext_resource type="PackedScene" path="res://assets/models/arena/candy_survival/candy_survival_terrain.gltf" id="1_86fyc"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_floor"]
albedo_color = Color(0.2, 0.2, 0.2, 1)
@@ -24,10 +24,18 @@ albedo_color = Color(0.4973, 0.6, 0.12599999, 1)
material = SubResource("StandardMaterial3D_86fyc")
size = Vector2(50, 50)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q8eld"]
transparency = 1
albedo_color = Color(1, 0, 1, 0.5)
[sub_resource type="BoxMesh" id="BoxMesh_l6h1c"]
material = SubResource("StandardMaterial3D_q8eld")
size = Vector3(1, 0.05, 1)
[node name="Candy Survival" type="Node3D" unique_id=1063002869]
[node name="PlaceholderFloor" type="MeshInstance3D" parent="." unique_id=932640085]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 10)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, -0.3, 10)
visible = false
mesh = SubResource("PlaneMesh_floor")
@@ -36,8 +44,12 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.5, 0.5, 9.5)
visible = false
mesh = SubResource("BoxMesh_cannon")
[node name="Candy Survival terrain" parent="." unique_id=193457353 instance=ExtResource("1_86fyc")]
[node name="Candy Survival terrain" type="Node3D" parent="." unique_id=193457353 instance=ExtResource("1_86fyc")]
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1749367969]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.192932, 0, 9.441385)
mesh = SubResource("PlaneMesh_ugtui")
[node name="EditorTileReference" type="MeshInstance3D" parent="." unique_id=1116403213]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
mesh = SubResource("BoxMesh_l6h1c")