feat: noise/plane primitiveinspectors
This commit is contained in:
parent
e22aeb49f6
commit
a1881f2af3
|
|
@ -3,6 +3,20 @@
|
||||||
[ext_resource type="PackedScene" uid="uid://bwrqsnetcn8yr" path="res://assets/models/point_handle.blend" id="1_njtj3"]
|
[ext_resource type="PackedScene" uid="uid://bwrqsnetcn8yr" path="res://assets/models/point_handle.blend" id="1_njtj3"]
|
||||||
[ext_resource type="Material" uid="uid://b4ip0oq8o76mc" path="res://assets/materials/peak_handle_depth_tested.tres" id="2_mx0s0"]
|
[ext_resource type="Material" uid="uid://b4ip0oq8o76mc" path="res://assets/materials/peak_handle_depth_tested.tres" id="2_mx0s0"]
|
||||||
|
|
||||||
|
[sub_resource type="GDScript" id="GDScript_am0ml"]
|
||||||
|
resource_name = "PointPrimitiveHandles"
|
||||||
|
script/source = "extends PointPrimitiveNode
|
||||||
|
|
||||||
|
@onready var terrain : TerrainMeshEditor = get_parent()
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
terrain.selection_changed.connect(_selection_changed)
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
func _selection_changed(primitive : TerrainPrimitive):
|
||||||
|
visible = primitive == self.get_primitive()
|
||||||
|
"
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_njtj3"]
|
[sub_resource type="GDScript" id="GDScript_njtj3"]
|
||||||
resource_name = "HeightHandle"
|
resource_name = "HeightHandle"
|
||||||
script/source = "extends Area3D
|
script/source = "extends Area3D
|
||||||
|
|
@ -136,6 +150,7 @@ height = 10000.0
|
||||||
|
|
||||||
[node name="PointPrimitiveNode" type="PointPrimitiveNode" unique_id=1472259146]
|
[node name="PointPrimitiveNode" type="PointPrimitiveNode" unique_id=1472259146]
|
||||||
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0, 0)
|
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0, 0)
|
||||||
|
script = SubResource("GDScript_am0ml")
|
||||||
|
|
||||||
[node name="point_handle" parent="." unique_id=1807952123 instance=ExtResource("1_njtj3")]
|
[node name="point_handle" parent="." unique_id=1807952123 instance=ExtResource("1_njtj3")]
|
||||||
transform = Transform3D(10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0)
|
transform = Transform3D(10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0)
|
||||||
|
|
|
||||||
|
|
@ -8,43 +8,13 @@
|
||||||
[ext_resource type="Texture2D" uid="uid://bl3gn6qruuy8w" path="res://assets/icons/plane.svg" id="4_xg7d5"]
|
[ext_resource type="Texture2D" uid="uid://bl3gn6qruuy8w" path="res://assets/icons/plane.svg" id="4_xg7d5"]
|
||||||
[ext_resource type="Texture2D" uid="uid://d1te42w7wpkrx" path="res://assets/icons/noise.svg" id="5_eqbpn"]
|
[ext_resource type="Texture2D" uid="uid://d1te42w7wpkrx" path="res://assets/icons/noise.svg" id="5_eqbpn"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bsvvhue5x4rb" path="res://ui/primitive_inspectors/point_primitive_inspector.tscn" id="8_5tm2q"]
|
[ext_resource type="PackedScene" uid="uid://bsvvhue5x4rb" path="res://ui/primitive_inspectors/point_primitive_inspector.tscn" id="8_5tm2q"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://c5desl3kt72c7" path="res://ui/primitive_inspectors/noise_primitive_inspector.tscn" id="9_3vi5u"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bl16us512blpp" path="res://ui/primitive_inspectors/base_primitive_inspector.tscn" id="9_j8y2p"]
|
[ext_resource type="PackedScene" uid="uid://bl16us512blpp" path="res://ui/primitive_inspectors/base_primitive_inspector.tscn" id="9_j8y2p"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cq25h75v1bnn1" path="res://ui/primitive_inspectors/plane_primitive_inspector.tscn" id="9_o435n"]
|
||||||
[sub_resource type="PointPrimitive" id="PointPrimitive_5tm2q"]
|
|
||||||
|
|
||||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_pxqd5"]
|
|
||||||
frequency = 0.015
|
|
||||||
fractal_octaves = 3
|
|
||||||
|
|
||||||
[sub_resource type="NoisePrimitive" id="NoisePrimitive_ba0ut"]
|
|
||||||
blend_range = 5.0
|
|
||||||
noise = SubResource("FastNoiseLite_pxqd5")
|
|
||||||
noise_amplitude = 20.0
|
|
||||||
|
|
||||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_b1cmn"]
|
|
||||||
noise_type = 0
|
|
||||||
frequency = 0.03
|
|
||||||
fractal_type = 2
|
|
||||||
metadata/_preview_in_3d_space_ = true
|
|
||||||
|
|
||||||
[sub_resource type="NoisePrimitive" id="NoisePrimitive_pxqd5"]
|
|
||||||
blend_range = 10.0
|
|
||||||
noise = SubResource("FastNoiseLite_b1cmn")
|
|
||||||
noise_amplitude = 5.0
|
|
||||||
|
|
||||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ba0ut"]
|
|
||||||
noise_type = 4
|
|
||||||
frequency = 0.588
|
|
||||||
fractal_gain = 1.0
|
|
||||||
fractal_weighted_strength = 1.0
|
|
||||||
|
|
||||||
[sub_resource type="NoisePrimitive" id="NoisePrimitive_q68jb"]
|
|
||||||
blend_mode = 1
|
|
||||||
noise = SubResource("FastNoiseLite_ba0ut")
|
|
||||||
|
|
||||||
[sub_resource type="PlanePrimitive" id="PlanePrimitive_ba0ut"]
|
[sub_resource type="PlanePrimitive" id="PlanePrimitive_ba0ut"]
|
||||||
blend_range = 20.0
|
blend_range = 1.0
|
||||||
baseline = -1.0
|
baseline = 0.0
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_b1cmn"]
|
[sub_resource type="Gradient" id="Gradient_b1cmn"]
|
||||||
interpolation_mode = 2
|
interpolation_mode = 2
|
||||||
|
|
@ -128,12 +98,17 @@ load_path = "res://.godot/imported/point.svg-e68fd7c1e788d2c48d769cc58eba6e98.ct
|
||||||
|
|
||||||
[sub_resource type="PlanePrimitive" id="PlanePrimitive_5lcyj"]
|
[sub_resource type="PlanePrimitive" id="PlanePrimitive_5lcyj"]
|
||||||
|
|
||||||
|
[sub_resource type="FastNoiseLite" id="FastNoiseLite_3vi5u"]
|
||||||
|
frequency = 0.0326
|
||||||
|
fractal_octaves = 3
|
||||||
|
|
||||||
[sub_resource type="NoisePrimitive" id="NoisePrimitive_5lcyj"]
|
[sub_resource type="NoisePrimitive" id="NoisePrimitive_5lcyj"]
|
||||||
|
noise = SubResource("FastNoiseLite_3vi5u")
|
||||||
|
|
||||||
[node name="Editor" type="Node3D" unique_id=1027707839]
|
[node name="Editor" type="Node3D" unique_id=1027707839]
|
||||||
|
|
||||||
[node name="TerrainMeshEditor" type="TerrainMeshEditor" parent="." unique_id=1382595562]
|
[node name="TerrainMeshEditor" type="TerrainMeshEditor" parent="." unique_id=1382595562]
|
||||||
primitives = [SubResource("PointPrimitive_5tm2q"), SubResource("NoisePrimitive_ba0ut"), SubResource("NoisePrimitive_pxqd5"), SubResource("NoisePrimitive_q68jb"), SubResource("PlanePrimitive_ba0ut")]
|
primitives = [SubResource("PlanePrimitive_ba0ut")]
|
||||||
vertex_color_gradient = SubResource("Gradient_b1cmn")
|
vertex_color_gradient = SubResource("Gradient_b1cmn")
|
||||||
color_gradient_end_height = 100.0
|
color_gradient_end_height = 100.0
|
||||||
chunk_count = 8
|
chunk_count = 8
|
||||||
|
|
@ -232,8 +207,8 @@ layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
inspectors = {
|
inspectors = {
|
||||||
&"ExpressionPrimitive": ExtResource("9_j8y2p"),
|
&"ExpressionPrimitive": ExtResource("9_j8y2p"),
|
||||||
&"NoisePrimitive": ExtResource("9_j8y2p"),
|
&"NoisePrimitive": ExtResource("9_3vi5u"),
|
||||||
&"PlanePrimitive": ExtResource("9_j8y2p"),
|
&"PlanePrimitive": ExtResource("9_o435n"),
|
||||||
&"PointPrimitive": ExtResource("8_5tm2q")
|
&"PointPrimitive": ExtResource("8_5tm2q")
|
||||||
}
|
}
|
||||||
terrain = NodePath("../../../TerrainMeshEditor")
|
terrain = NodePath("../../../TerrainMeshEditor")
|
||||||
|
|
|
||||||
|
|
@ -11,16 +11,10 @@ var value_before : float = 0.0
|
||||||
var dragging := false
|
var dragging := false
|
||||||
|
|
||||||
func connect_changes():
|
func connect_changes():
|
||||||
$HSlider.connect(\"drag_ended\", _drag_ended)
|
$HSlider.drag_ended.connect(_drag_ended)
|
||||||
$HSlider.connect(\"drag_started\", _drag_started)
|
$HSlider.drag_started.connect(_drag_started)
|
||||||
$HSlider.connect(\"value_changed\", _slider_value_changed)
|
$HSlider.value_changed.connect(_slider_value_changed)
|
||||||
$SpinBox.connect(\"value_changed\", _spin_value_changed)
|
$SpinBox.value_changed.connect(_spin_value_changed)
|
||||||
|
|
||||||
func disconnect_changes():
|
|
||||||
$HSlider.disconnect(\"drag_ended\", _drag_ended)
|
|
||||||
$HSlider.disconnect(\"drag_started\", _drag_started)
|
|
||||||
$HSlider.disconnect(\"value_changed\", _slider_value_changed)
|
|
||||||
$SpinBox.disconnect(\"value_changed\", _spin_value_changed)
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
primitive.changed.connect(_primitive_changed)
|
primitive.changed.connect(_primitive_changed)
|
||||||
|
|
@ -56,11 +50,16 @@ offset_bottom = 31.0
|
||||||
script = SubResource("GDScript_aclmm")
|
script = SubResource("GDScript_aclmm")
|
||||||
|
|
||||||
[node name="SpinBox" type="SpinBox" parent="." unique_id=580598896]
|
[node name="SpinBox" type="SpinBox" parent="." unique_id=580598896]
|
||||||
|
custom_minimum_size = Vector2(100, 0)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
min_value = -10000.0
|
min_value = -10000.0
|
||||||
max_value = 100000.0
|
max_value = 100000.0
|
||||||
|
step = 0.01
|
||||||
value = 10.0
|
value = 10.0
|
||||||
allow_greater = true
|
allow_greater = true
|
||||||
|
alignment = 2
|
||||||
|
custom_arrow_step = 1.0
|
||||||
|
custom_arrow_round = true
|
||||||
|
|
||||||
[node name="HSlider" type="HSlider" parent="." unique_id=163542019]
|
[node name="HSlider" type="HSlider" parent="." unique_id=163542019]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
@ -69,3 +68,4 @@ size_flags_vertical = 1
|
||||||
max_value = 300.0
|
max_value = 300.0
|
||||||
step = 0.01
|
step = 0.01
|
||||||
value = 200.0
|
value = 200.0
|
||||||
|
tick_count = 4
|
||||||
|
|
|
||||||
|
|
@ -10,13 +10,19 @@ script/source = "extends OptionButton
|
||||||
@onready var terrain : TerrainMeshEditor = $\"../../..\".terrain
|
@onready var terrain : TerrainMeshEditor = $\"../../..\".terrain
|
||||||
@onready var primitive : TerrainPrimitive = terrain.current_selected
|
@onready var primitive : TerrainPrimitive = terrain.current_selected
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
selected = primitive.blend_mode
|
||||||
|
primitive.changed.connect(_primitive_changed)
|
||||||
|
|
||||||
|
func _primitive_changed():
|
||||||
|
selected = primitive.blend_mode
|
||||||
|
|
||||||
func _on_item_selected(index: int) -> void:
|
func _on_item_selected(index: int) -> void:
|
||||||
var before : int = primitive.blend_mode
|
var before : int = primitive.blend_mode
|
||||||
EditHistory.push_action(primitive.set_blend_mode.bind(index), primitive.set_blend_mode.bind(before))
|
EditHistory.push_action(primitive.set_blend_mode.bind(index), primitive.set_blend_mode.bind(before))
|
||||||
"
|
"
|
||||||
|
|
||||||
[node name="PointPrimitive" type="MarginContainer" unique_id=905749607]
|
[node name="Primitive" type="MarginContainer" unique_id=905749607]
|
||||||
offset_right = 302.0
|
offset_right = 302.0
|
||||||
offset_bottom = 230.0
|
offset_bottom = 230.0
|
||||||
theme_override_constants/margin_left = 5
|
theme_override_constants/margin_left = 5
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
[gd_scene format=3 uid="uid://c5desl3kt72c7"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bl16us512blpp" path="res://ui/primitive_inspectors/base_primitive_inspector.tscn" id="1_xrxbf"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cwby0in0f2wi2" path="res://ui/editor_elements/float_editor.tscn" id="2_sg7mg"]
|
||||||
|
|
||||||
|
[node name="NoisePrimitive" unique_id=905749607 instance=ExtResource("1_xrxbf")]
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="0" unique_id=273381442]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Noise Scale"
|
||||||
|
|
||||||
|
[node name="FloatEditor" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="1" unique_id=1730998858 instance=ExtResource("2_sg7mg")]
|
||||||
|
layout_mode = 2
|
||||||
|
changes_value = "noise_scale"
|
||||||
|
|
||||||
|
[node name="SpinBox" parent="VBoxContainer/FloatEditor" index="0" unique_id=580598896]
|
||||||
|
min_value = 0.01
|
||||||
|
suffix = "x"
|
||||||
|
|
||||||
|
[node name="HSlider" parent="VBoxContainer/FloatEditor" index="1" unique_id=163542019]
|
||||||
|
min_value = 0.01
|
||||||
|
max_value = 100.0
|
||||||
|
value = 10.0
|
||||||
|
exp_edit = true
|
||||||
|
tick_count = 3
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="2" unique_id=1672112548]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Noise Amplitude"
|
||||||
|
|
||||||
|
[node name="FloatEditor2" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="3" unique_id=826068898 instance=ExtResource("2_sg7mg")]
|
||||||
|
layout_mode = 2
|
||||||
|
changes_value = "noise_amplitude"
|
||||||
|
|
||||||
|
[node name="SpinBox" parent="VBoxContainer/FloatEditor2" index="0" unique_id=580598896]
|
||||||
|
min_value = 0.01
|
||||||
|
prefix = "±"
|
||||||
|
suffix = "m"
|
||||||
|
|
||||||
|
[node name="HSlider" parent="VBoxContainer/FloatEditor2" index="1" unique_id=163542019]
|
||||||
|
min_value = 0.01
|
||||||
|
exp_edit = true
|
||||||
|
tick_count = 3
|
||||||
|
|
||||||
|
[editable path="VBoxContainer/FloatEditor"]
|
||||||
|
[editable path="VBoxContainer/FloatEditor2"]
|
||||||
|
[editable path="VBoxContainer/FloatEditor3"]
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
[gd_scene format=3 uid="uid://cq25h75v1bnn1"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bl16us512blpp" path="res://ui/primitive_inspectors/base_primitive_inspector.tscn" id="1_6yw1a"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cwby0in0f2wi2" path="res://ui/editor_elements/float_editor.tscn" id="2_rbqm7"]
|
||||||
|
|
||||||
|
[node name="PlanePrimitive" unique_id=905749607 instance=ExtResource("1_6yw1a")]
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="0" unique_id=1175716242]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Baseline"
|
||||||
|
|
||||||
|
[node name="FloatEditor" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="1" unique_id=1730998858 instance=ExtResource("2_rbqm7")]
|
||||||
|
layout_mode = 2
|
||||||
|
changes_value = "baseline"
|
||||||
|
|
||||||
|
[editable path="VBoxContainer/FloatEditor3"]
|
||||||
BIN
test-terrains/volcano.terrain.res
Normal file
BIN
test-terrains/volcano.terrain.res
Normal file
Binary file not shown.
Loading…
Reference in a new issue