feat: implemented basic primitive tree display

This commit is contained in:
Sara Gerretsen 2025-12-07 21:21:17 +01:00
parent 2380819e43
commit 81a4f2c83c
4 changed files with 127 additions and 44 deletions

View file

@ -9,7 +9,7 @@ slope = -0.7
height = 0.0
[sub_resource type="PointPrimitive" id="PointPrimitive_ba0ut"]
blend_range = 20.0
blend_range = 10.0
center = Vector2(50, 0)
slope = -0.7
@ -42,8 +42,8 @@ fractal_weighted_strength = 0.58
blend_mode = 1
noise = SubResource("FastNoiseLite_ba0ut")
[sub_resource type="PlanePrimitive" id="PlanePrimitive_pxqd5"]
blend_range = 10.0
[sub_resource type="PlanePrimitive" id="PlanePrimitive_ba0ut"]
blend_range = 20.0
baseline = -1.0
[sub_resource type="Gradient" id="Gradient_b1cmn"]
@ -120,20 +120,12 @@ func _unhandled_input(event: InputEvent) -> void:
global_position = (global_position - pivot).normalized() * distance + pivot
"
[sub_resource type="CylinderMesh" id="CylinderMesh_pxqd5"]
[sub_resource type="Gradient" id="Gradient_pxqd5"]
[sub_resource type="GradientTexture2D" id="GradientTexture2D_ba0ut"]
gradient = SubResource("Gradient_pxqd5")
[node name="Editor" type="Node3D" unique_id=1027707839]
[node name="TerrainMeshEditor" type="TerrainMeshEditor" parent="." unique_id=1382595562]
primitives = [SubResource("PointPrimitive_pxqd5"), SubResource("PointPrimitive_ba0ut"), SubResource("NoisePrimitive_ba0ut"), SubResource("NoisePrimitive_pxqd5"), SubResource("NoisePrimitive_q68jb"), SubResource("PlanePrimitive_pxqd5")]
primitives = [SubResource("PointPrimitive_pxqd5"), SubResource("PointPrimitive_ba0ut"), SubResource("NoisePrimitive_ba0ut"), SubResource("NoisePrimitive_pxqd5"), SubResource("NoisePrimitive_q68jb"), SubResource("PlanePrimitive_ba0ut")]
vertex_color_gradient = SubResource("Gradient_b1cmn")
color_gradient_end_height = 100.0
chunk_count = 15
chunk_scene = ExtResource("1_pxqd5")
point_primitive_object = ExtResource("1_b1cmn")
@ -153,14 +145,10 @@ fov = 57.3
far = 2000.0
script = SubResource("GDScript_b1cmn")
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=613969950]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0)
mesh = SubResource("CylinderMesh_pxqd5")
[node name="LeftPanel" type="Panel" parent="." unique_id=1768834661]
anchors_preset = 9
anchor_bottom = 1.0
offset_right = 193.0
offset_right = 258.0
grow_vertical = 2
theme = ExtResource("3_ba0ut")
@ -173,36 +161,17 @@ grow_horizontal = 2
grow_vertical = 2
current_tab = 0
[node name="ScrollContainer" type="ScrollContainer" parent="LeftPanel/TabContainer" unique_id=1323188283]
[node name="MarginContainer" type="MarginContainer" parent="LeftPanel/TabContainer" unique_id=1533578826]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
metadata/_tab_index = 0
[node name="MarginContainer" type="MarginContainer" parent="LeftPanel/TabContainer/ScrollContainer" unique_id=1533578826]
[node name="Tree" type="PrimitiveLayerList" parent="LeftPanel/TabContainer/MarginContainer" unique_id=797700186 node_paths=PackedStringArray("terrain")]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="LeftPanel/TabContainer/ScrollContainer/MarginContainer" unique_id=326791130]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="HBoxContainer" type="HBoxContainer" parent="LeftPanel/TabContainer/ScrollContainer/MarginContainer/VBoxContainer" unique_id=247007395]
layout_mode = 2
size_flags_vertical = 2
[node name="TextureRect" type="TextureRect" parent="LeftPanel/TabContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=313030843]
layout_mode = 2
size_flags_horizontal = 0
texture = SubResource("GradientTexture2D_ba0ut")
expand_mode = 2
stretch_mode = 4
[node name="RichTextLabel" type="RichTextLabel" parent="LeftPanel/TabContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=1765888481]
layout_mode = 2
size_flags_horizontal = 3
bbcode_enabled = true
text = "Layer 1"
fit_content = true
columns = 4
drop_mode_flags = 2
select_mode = 1
terrain = NodePath("../../../../TerrainMeshEditor")
[connection signal="primitives_changed" from="TerrainMeshEditor" to="TerrainMeshEditor" method="_on_primitives_changed"]