199 lines
6.5 KiB
Plaintext
199 lines
6.5 KiB
Plaintext
[gd_scene load_steps=3 format=3 uid="uid://xp1820rv0uy"]
|
|
|
|
[ext_resource type="Script" path="res://addons/lightmap_probe_grid/UI.gd" id="1_4a60v"]
|
|
[ext_resource type="StyleBox" uid="uid://4nfudftbnexo" path="res://addons/lightmap_probe_grid/style_box_flat.tres" id="2_rdj4j"]
|
|
|
|
[node name="RootContainer" type="VBoxContainer" node_paths=PackedStringArray("probes_x", "probes_y", "probes_z", "planned_probes", "generate_button", "far_distance", "object_size")]
|
|
offset_right = 257.0
|
|
offset_bottom = 346.0
|
|
script = ExtResource("1_4a60v")
|
|
probes_x = NodePath("ProbesContainer/ProbesX")
|
|
probes_y = NodePath("ProbesContainer/ProbesY")
|
|
probes_z = NodePath("ProbesContainer/ProbesZ")
|
|
planned_probes = NodePath("PlannedLabel")
|
|
generate_button = NodePath("GenerateProbes")
|
|
far_distance = NodePath("CutFarProbesContainer/Distance")
|
|
object_size = NodePath("CutInsideContainer/Size")
|
|
|
|
[node name="ProbesLabel" type="Label" parent="."]
|
|
clip_contents = true
|
|
layout_mode = 2
|
|
tooltip_text = "Number of probes on each axis"
|
|
mouse_filter = 0
|
|
text = "Number of Probes"
|
|
vertical_alignment = 1
|
|
|
|
[node name="ProbesContainer" type="HBoxContainer" parent="."]
|
|
layout_mode = 2
|
|
|
|
[node name="ProbesX" type="SpinBox" parent="ProbesContainer"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
tooltip_text = "Minimum is 2"
|
|
min_value = 2.0
|
|
max_value = 250.0
|
|
value = 2.0
|
|
alignment = 2
|
|
prefix = "x:"
|
|
select_all_on_focus = true
|
|
|
|
[node name="ProbesY" type="SpinBox" parent="ProbesContainer"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
tooltip_text = "Minimum is 2"
|
|
min_value = 2.0
|
|
max_value = 250.0
|
|
value = 2.0
|
|
alignment = 2
|
|
prefix = "y:"
|
|
select_all_on_focus = true
|
|
|
|
[node name="ProbesZ" type="SpinBox" parent="ProbesContainer"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
tooltip_text = "Minimum is 2"
|
|
min_value = 2.0
|
|
max_value = 250.0
|
|
value = 2.0
|
|
alignment = 2
|
|
prefix = "z:"
|
|
select_all_on_focus = true
|
|
|
|
[node name="PlannedLabel" type="RichTextLabel" parent="."]
|
|
layout_mode = 2
|
|
tooltip_text = "Maximum is xxxx"
|
|
bbcode_enabled = true
|
|
text = "Planned Probes: xxxx"
|
|
fit_content = true
|
|
|
|
[node name="GenerateProbes" type="Button" parent="."]
|
|
layout_mode = 2
|
|
theme_override_styles/normal = ExtResource("2_rdj4j")
|
|
text = "Generate Probes"
|
|
|
|
[node name="HSeparator" type="HSeparator" parent="."]
|
|
layout_mode = 2
|
|
|
|
[node name="ObscuredLabel" type="Label" parent="."]
|
|
layout_mode = 2
|
|
tooltip_text = "Test from center to each probe,
|
|
and cut the probe if the path is obstructed by an object.
|
|
|
|
Use Collision Mask to filter objects."
|
|
mouse_filter = 0
|
|
text = "Probes obscured from center"
|
|
vertical_alignment = 1
|
|
|
|
[node name="Cut by Mask" type="Button" parent="."]
|
|
layout_mode = 2
|
|
tooltip_text = "Test from center to each probe,
|
|
and cut the probe if the path is obstructed by an object.
|
|
|
|
Use Collision Mask to filter objects."
|
|
theme_override_styles/normal = ExtResource("2_rdj4j")
|
|
text = "Cut Obstructed Probes"
|
|
|
|
[node name="HSeparator2" type="HSeparator" parent="."]
|
|
layout_mode = 2
|
|
|
|
[node name="Label" type="Label" parent="."]
|
|
layout_mode = 2
|
|
tooltip_text = "For each probe, test if there is any object within an Max distance.
|
|
If there isn't any object the probe is cut.
|
|
|
|
Use Collision Mask to filter objects."
|
|
mouse_filter = 0
|
|
text = "Probes far from any object"
|
|
|
|
[node name="CutFarProbesContainer" type="HBoxContainer" parent="."]
|
|
layout_mode = 2
|
|
alignment = 1
|
|
|
|
[node name="DistanceLabel" type="Label" parent="CutFarProbesContainer"]
|
|
custom_minimum_size = Vector2(67, 0)
|
|
layout_mode = 2
|
|
tooltip_text = "The distance from the probe that objects will be detected"
|
|
mouse_filter = 0
|
|
text = "Max distance"
|
|
|
|
[node name="Distance" type="SpinBox" parent="CutFarProbesContainer"]
|
|
layout_mode = 2
|
|
tooltip_text = "The distance from the probe that objects will be detected"
|
|
step = 0.0
|
|
value = 1.0
|
|
allow_greater = true
|
|
suffix = "m"
|
|
custom_arrow_step = 1.0
|
|
select_all_on_focus = true
|
|
|
|
[node name="CutFarProbes" type="Button" parent="."]
|
|
custom_minimum_size = Vector2(148, 0)
|
|
layout_mode = 2
|
|
tooltip_text = "For each probe, test if there is any object within an Max distance.
|
|
If there isn't any object the probe is cut.
|
|
|
|
Use Collision Mask to filter objects."
|
|
theme_override_styles/normal = ExtResource("2_rdj4j")
|
|
text = "Cut Far Probes"
|
|
|
|
[node name="HSeparator3" type="HSeparator" parent="."]
|
|
layout_mode = 2
|
|
|
|
[node name="Label2" type="Label" parent="."]
|
|
layout_mode = 2
|
|
tooltip_text = "For each probe, test if the same object is intercepted by the yellow lines.
|
|
|
|
If the same object is detected 4 times or more,
|
|
the probe is considered to be inside and will be cut.
|
|
|
|
Only 4 lines are tested instead of 6 because is common for
|
|
objects to not have 2 faces, like pillars.
|
|
|
|
Use Collision Mask to filter objects."
|
|
mouse_filter = 0
|
|
text = "Probes inside objects"
|
|
|
|
[node name="CutInsideContainer" type="HBoxContainer" parent="."]
|
|
layout_mode = 2
|
|
alignment = 1
|
|
|
|
[node name="SizeLabel" type="Label" parent="CutInsideContainer"]
|
|
layout_mode = 2
|
|
tooltip_text = "Distance tested from the probes (size of yellow lines)"
|
|
mouse_filter = 0
|
|
text = "Max object size"
|
|
|
|
[node name="Size" type="SpinBox" parent="CutInsideContainer"]
|
|
layout_mode = 2
|
|
tooltip_text = "Distance tested from the probes (size of yellow lines)"
|
|
step = 0.0
|
|
value = 1.0
|
|
allow_greater = true
|
|
suffix = "m"
|
|
custom_arrow_step = 1.0
|
|
|
|
[node name="CutInsideObjects" type="Button" parent="."]
|
|
custom_minimum_size = Vector2(148, 0)
|
|
layout_mode = 2
|
|
tooltip_text = "For each probe, test if the same object is intercepted by the yellow lines.
|
|
|
|
If the same object is detected 4 times or more,
|
|
the probe is considered to be inside and will be cut.
|
|
|
|
Only 4 lines are tested instead of 6 because is common for
|
|
objects to not have 2 faces, like pillars.
|
|
|
|
Use Collision Mask to filter objects."
|
|
theme_override_styles/normal = ExtResource("2_rdj4j")
|
|
text = "Cut Inside Objects"
|
|
|
|
[connection signal="value_changed" from="ProbesContainer/ProbesX" to="." method="_set_probes_number"]
|
|
[connection signal="value_changed" from="ProbesContainer/ProbesY" to="." method="_set_probes_number"]
|
|
[connection signal="value_changed" from="ProbesContainer/ProbesZ" to="." method="_set_probes_number"]
|
|
[connection signal="pressed" from="GenerateProbes" to="." method="_on_generate_probes_pressed"]
|
|
[connection signal="pressed" from="Cut by Mask" to="." method="_on_cut_by_mask_pressed"]
|
|
[connection signal="value_changed" from="CutFarProbesContainer/Distance" to="." method="_set_far_distance"]
|
|
[connection signal="pressed" from="CutFarProbes" to="." method="_cut_far_probes"]
|
|
[connection signal="value_changed" from="CutInsideContainer/Size" to="." method="_set_object_size"]
|
|
[connection signal="pressed" from="CutInsideObjects" to="." method="_cut_inside"]
|