1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-31 23:49:47 +00:00
Pixelorama/src/Tools/3DShapeEdit.tscn

823 lines
24 KiB
Plaintext
Raw Normal View History

Implement 3D layers (#840) * Implement 3D layers * Remove unneeded files * Fix bug where a single hidden layer would ignore all of the layers on top when exporting * Fix pxo loading * Remove junk nodes from 3DShapeEdit Seems like they were created when I copied from the old 3D Options.tscn panel to the new 3D Shape Edit tool. * Make light gizmos half the size, and hide gizmos when rotating * Fix crash when using the 3D shape edit tool on a group layer * Remove unneeded code in Canvas.gd * Add torus in the Cel3DObject.Type enumerator Torus isn't currently supported in Godot 3.5, but it is in 3.6 and 4.0, so this is just future-proofing. May break compatibility with .pxo files that were exported with 3D layers before this change. * Toggle 3D object visibility * Change texts and some variable names * Fill translation strings * Fix crash on group blending, and make the code in Export.blend_layers() more general * Fix errors when attempting to draw on a 3D cel Can occur when multiple cels are selected, some of them 3D and some of them pixel * Make scene properties and objects be per-cel instead of per-layer Breaks compatibility with previous .pxo files that had 3D layers. Also introduces serialize() and deserialize() methods to BaseCel * Use if not layer is get_script() in GroupLayer.blend_children() * Flip the condition in GroupLayer.blend_children() * Fix bug where locked/invisible layers could get drawn Regression from c2f6bf0f3f2ec1fad8e0fff38cad2a2d6052b4b4 * Move gizmo code to 3DShapeEdit's draw_start(), move some undo/redo logic to 3DShapeEdit * Move all of the undo/redo code to 3DShapeEdit, simplify code in Cel3D * Store Cel3D image data to pxo, for easy usage by external software This makes importing projects with 3D layers to other software, such as Godot using godot_pixelorama_importer easier. * Make the linter happy * Fix bug where the previously selected object would remain selected when it got removed with undo
2023-03-31 18:58:56 +00:00
[gd_scene load_steps=10 format=2]
[ext_resource path="res://src/Tools/BaseTool.tscn" type="PackedScene" id=1]
[ext_resource path="res://src/Tools/3DShapeEdit.gd" type="Script" id=2]
[ext_resource path="res://src/UI/Nodes/ValueSliderV2.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/UI/Nodes/ValueSlider.tscn" type="PackedScene" id=4]
[ext_resource path="res://src/UI/Nodes/ValueSlider.gd" type="Script" id=5]
[ext_resource path="res://src/UI/Nodes/CollapsibleContainer.gd" type="Script" id=6]
[ext_resource path="res://src/UI/Nodes/ValueSliderV3.tscn" type="PackedScene" id=7]
[sub_resource type="InputEventAction" id=33]
action = "delete"
[sub_resource type="ShortCut" id=34]
shortcut = SubResource( 33 )
[node name="3DShapeEdit" instance=ExtResource( 1 )]
script = ExtResource( 2 )
[node name="ColorRect" parent="." index="0"]
margin_right = 223.0
[node name="Label" parent="." index="1"]
margin_right = 223.0
[node name="HandleObjects" type="GridContainer" parent="." index="2"]
margin_top = 26.0
margin_right = 223.0
margin_bottom = 70.0
columns = 2
[node name="Label" type="Label" parent="HandleObjects" index="0"]
margin_top = 3.0
margin_right = 111.0
margin_bottom = 17.0
size_flags_horizontal = 3
text = "Selected object:"
[node name="ObjectOptionButton" type="OptionButton" parent="HandleObjects" index="1"]
unique_name_in_owner = true
margin_left = 115.0
margin_right = 223.0
margin_bottom = 20.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
text = "None"
items = [ "None", null, false, 0, null ]
selected = 0
[node name="NewObjectMenuButton" type="MenuButton" parent="HandleObjects" index="2"]
unique_name_in_owner = true
margin_top = 24.0
margin_right = 111.0
margin_bottom = 44.0
focus_mode = 2
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
text = "Add new object"
align = 0
[node name="RemoveObject" type="Button" parent="HandleObjects" index="3"]
unique_name_in_owner = true
margin_left = 115.0
margin_top = 24.0
margin_right = 223.0
margin_bottom = 44.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
disabled = true
shortcut = SubResource( 34 )
text = "Remove object"
[node name="CelOptions" type="VBoxContainer" parent="." index="3"]
unique_name_in_owner = true
margin_top = 74.0
margin_right = 223.0
margin_bottom = 226.0
size_flags_vertical = 3
[node name="CameraOptions" type="VBoxContainer" parent="CelOptions" index="0"]
margin_right = 223.0
margin_bottom = 128.0
theme_type_variation = "CollapsibleContainer"
script = ExtResource( 6 )
text = "Camera"
visible_content = true
[node name="GridContainer" type="GridContainer" parent="CelOptions/CameraOptions" index="1"]
margin_top = 24.0
margin_right = 223.0
margin_bottom = 128.0
columns = 2
[node name="ProjectionLabel" type="Label" parent="CelOptions/CameraOptions/GridContainer" index="0"]
margin_top = 3.0
margin_right = 110.0
margin_bottom = 17.0
size_flags_horizontal = 3
text = "Projection:"
[node name="ProjectionOptionButton" type="OptionButton" parent="CelOptions/CameraOptions/GridContainer" index="1"]
unique_name_in_owner = true
margin_left = 114.0
margin_right = 223.0
margin_bottom = 20.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
text = "Perspective"
items = [ "Perspective", null, false, 0, null, "Orthogonal", null, false, 1, null, "Frustum", null, false, 2, null ]
selected = 0
[node name="RotationLabel" type="Label" parent="CelOptions/CameraOptions/GridContainer" index="2"]
margin_top = 24.0
margin_right = 110.0
margin_bottom = 38.0
size_flags_horizontal = 3
size_flags_vertical = 0
text = "Rotation:"
[node name="CameraRotation" parent="CelOptions/CameraOptions/GridContainer" index="3" instance=ExtResource( 7 )]
unique_name_in_owner = true
margin_left = 114.0
margin_top = 24.0
margin_right = 223.0
margin_bottom = 104.0
size_flags_horizontal = 3
min_value = Vector3( -180, -180, -180 )
max_value = Vector3( 180, 180, 180 )
step = 0.1
suffix_x = "°"
suffix_y = "°"
suffix_z = "°"
[node name="EnvironmentOptions" type="VBoxContainer" parent="CelOptions" index="1"]
margin_top = 132.0
margin_right = 223.0
margin_bottom = 152.0
theme_type_variation = "CollapsibleContainer"
script = ExtResource( 6 )
text = "Environment"
[node name="GridContainer" type="GridContainer" parent="CelOptions/EnvironmentOptions" index="1"]
visible = false
margin_right = 1266.0
margin_bottom = 48.0
columns = 2
[node name="AmbientColorLabel" type="Label" parent="CelOptions/EnvironmentOptions/GridContainer" index="0"]
margin_top = 3.0
margin_right = 631.0
margin_bottom = 17.0
size_flags_horizontal = 3
text = "Ambient color:"
[node name="AmbientColorPickerButton" type="ColorPickerButton" parent="CelOptions/EnvironmentOptions/GridContainer" index="1"]
unique_name_in_owner = true
margin_left = 635.0
margin_right = 1266.0
margin_bottom = 20.0
size_flags_horizontal = 3
edit_alpha = false
[node name="AmbientEnergyLabel" type="Label" parent="CelOptions/EnvironmentOptions/GridContainer" index="2"]
margin_top = 29.0
margin_right = 631.0
margin_bottom = 43.0
size_flags_horizontal = 3
text = "Ambient color energy:"
[node name="AmbientEnergy" parent="CelOptions/EnvironmentOptions/GridContainer" index="3" instance=ExtResource( 4 )]
unique_name_in_owner = true
margin_left = 635.0
margin_top = 24.0
margin_right = 1266.0
margin_bottom = 48.0
max_value = 16.0
step = 0.01
value = 1.0
allow_greater = true
[node name="ObjectOptions" type="VBoxContainer" parent="." index="4"]
unique_name_in_owner = true
visible = false
margin_top = 408.0
margin_right = 1266.0
margin_bottom = 800.0
size_flags_vertical = 3
[node name="GlobalOptions" type="GridContainer" parent="ObjectOptions" index="0"]
margin_right = 40.0
margin_bottom = 40.0
columns = 2
[node name="VisibleLabel" type="Label" parent="ObjectOptions/GlobalOptions" index="0"]
margin_right = 40.0
margin_bottom = 14.0
size_flags_horizontal = 3
text = "Visible:"
[node name="VisibleCheckBox" type="CheckBox" parent="ObjectOptions/GlobalOptions" index="1"]
unique_name_in_owner = true
margin_right = 71.0
margin_bottom = 24.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
text = "On"
[node name="TransformOptions" type="VBoxContainer" parent="ObjectOptions" index="1"]
margin_right = 1266.0
margin_bottom = 272.0
theme_type_variation = "CollapsibleContainer"
script = ExtResource( 6 )
text = "Transform"
visible_content = true
[node name="GridContainer" type="GridContainer" parent="ObjectOptions/TransformOptions" index="1"]
margin_top = 24.0
margin_right = 1266.0
margin_bottom = 272.0
columns = 2
[node name="PositionLabel" type="Label" parent="ObjectOptions/TransformOptions/GridContainer" index="0"]
margin_right = 631.0
margin_bottom = 80.0
size_flags_horizontal = 3
size_flags_vertical = 1
text = "Position:"
[node name="ObjectPosition" parent="ObjectOptions/TransformOptions/GridContainer" index="1" instance=ExtResource( 7 )]
unique_name_in_owner = true
size_flags_horizontal = 3
min_value = Vector3( -20, -20, -20 )
max_value = Vector3( 20, 20, 20 )
step = 0.01
allow_greater = true
allow_lesser = true
suffix_x = "m"
suffix_y = "m"
suffix_z = "m"
[node name="RotationLabel" type="Label" parent="ObjectOptions/TransformOptions/GridContainer" index="2"]
margin_top = 84.0
margin_right = 631.0
margin_bottom = 164.0
size_flags_horizontal = 3
size_flags_vertical = 1
text = "Rotation:"
[node name="ObjectRotation" parent="ObjectOptions/TransformOptions/GridContainer" index="3" instance=ExtResource( 7 )]
unique_name_in_owner = true
margin_top = -226.0
margin_right = 631.0
margin_bottom = -146.0
size_flags_horizontal = 3
min_value = Vector3( -180, -180, -180 )
max_value = Vector3( 180, 180, 180 )
step = 0.1
suffix_x = "°"
suffix_y = "°"
suffix_z = "°"
[node name="ScaleLabel" type="Label" parent="ObjectOptions/TransformOptions/GridContainer" index="4"]
margin_top = 168.0
margin_right = 631.0
margin_bottom = 248.0
size_flags_horizontal = 3
size_flags_vertical = 1
text = "Scale:"
[node name="ObjectScale" parent="ObjectOptions/TransformOptions/GridContainer" index="5" instance=ExtResource( 7 )]
unique_name_in_owner = true
margin_bottom = 80.0
size_flags_horizontal = 3
value = Vector3( 100, 100, 100 )
step = 0.01
allow_greater = true
allow_lesser = true
show_ratio = true
suffix_x = "%"
suffix_y = "%"
suffix_z = "%"
[node name="MeshOptions" type="VBoxContainer" parent="ObjectOptions" index="2"]
unique_name_in_owner = true
margin_top = 276.0
margin_right = 1266.0
margin_bottom = 296.0
theme_type_variation = "CollapsibleContainer"
script = ExtResource( 6 )
text = "Mesh"
[node name="GridContainer" type="GridContainer" parent="ObjectOptions/MeshOptions" index="1"]
visible = false
margin_top = 24.0
margin_right = 1266.0
margin_bottom = 104.0
columns = 2
[node name="MeshSizeLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="0"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Size:"
[node name="MeshSize" parent="ObjectOptions/MeshOptions/GridContainer" index="1" instance=ExtResource( 7 )]
unique_name_in_owner = true
size_flags_horizontal = 3
max_value = Vector3( 10, 10, 10 )
step = 0.01
allow_greater = true
show_ratio = true
[node name="MeshSizeLabel2" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="2"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Size:"
[node name="MeshSizeV2" parent="ObjectOptions/MeshOptions/GridContainer" index="3" instance=ExtResource( 3 )]
unique_name_in_owner = true
margin_right = 52.0
size_flags_horizontal = 3
max_value = Vector2( 10, 10 )
allow_greater = true
show_ratio = true
snap_step = 0.01
[node name="MeshLeftToRightLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="4"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Left to right:"
[node name="MeshLeftToRight" type="TextureProgress" parent="ObjectOptions/MeshOptions/GridContainer" index="5"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
min_value = -2.0
max_value = 2.0
step = 0.1
value = 0.5
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="MeshRadiusLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="6"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Radius:"
[node name="MeshRadius" type="TextureProgress" parent="ObjectOptions/MeshOptions/GridContainer" index="7"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
min_value = 0.001
max_value = 10.0
step = 0.01
value = 1.0
allow_greater = true
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="MeshHeightLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="8"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Height:"
[node name="MeshHeight" type="TextureProgress" parent="ObjectOptions/MeshOptions/GridContainer" index="9"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
min_value = 0.001
max_value = 10.0
step = 0.01
value = 2.0
allow_greater = true
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="MeshRadialSegmentsLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="10"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Radial segments:"
[node name="MeshRadialSegments" type="TextureProgress" parent="ObjectOptions/MeshOptions/GridContainer" index="11"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
min_value = 4.0
max_value = 640.0
value = 64.0
allow_greater = true
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="MeshRingsLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="12"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Rings:"
[node name="MeshRings" type="TextureProgress" parent="ObjectOptions/MeshOptions/GridContainer" index="13"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
min_value = 1.0
max_value = 320.0
value = 32.0
allow_greater = true
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="MeshIsHemisphereLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="14"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Is hemisphere:"
[node name="MeshIsHemisphere" type="CheckBox" parent="ObjectOptions/MeshOptions/GridContainer" index="15"]
unique_name_in_owner = true
margin_right = 24.0
margin_bottom = 24.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
text = "On"
[node name="MeshMidHeightLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="16"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Height:"
[node name="MeshMidHeight" type="TextureProgress" parent="ObjectOptions/MeshOptions/GridContainer" index="17"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
min_value = 0.001
max_value = 10.0
step = 0.01
value = 1.0
allow_greater = true
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="MeshTopRadiusLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="18"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Top radius:"
[node name="MeshTopRadius" type="TextureProgress" parent="ObjectOptions/MeshOptions/GridContainer" index="19"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
max_value = 10.0
step = 0.01
value = 1.0
allow_greater = true
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="MeshBottomRadiusLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="20"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Bottom radius:"
[node name="MeshBottomRadius" type="TextureProgress" parent="ObjectOptions/MeshOptions/GridContainer" index="21"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
max_value = 10.0
step = 0.01
value = 1.0
allow_greater = true
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="MeshTextLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="22"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Text:"
[node name="MeshText" type="LineEdit" parent="ObjectOptions/MeshOptions/GridContainer" index="23"]
unique_name_in_owner = true
margin_right = 58.0
margin_bottom = 24.0
size_flags_horizontal = 3
[node name="MeshPixelSizeLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="24"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Pixel size:"
[node name="MeshPixelSize" type="TextureProgress" parent="ObjectOptions/MeshOptions/GridContainer" index="25"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
min_value = 0.001
max_value = 10.0
step = 0.001
value = 0.01
allow_greater = true
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
snap_step = 0.01
[node name="MeshCurveStepLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="26"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Curve step:"
[node name="MeshCurveStep" type="TextureProgress" parent="ObjectOptions/MeshOptions/GridContainer" index="27"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
min_value = 0.1
max_value = 10.0
step = 0.1
value = 0.5
allow_greater = true
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="MeshHorizontalAlignmentLabel" type="Label" parent="ObjectOptions/MeshOptions/GridContainer" index="28"]
margin_top = -583.0
margin_right = 631.0
margin_bottom = -569.0
size_flags_horizontal = 3
text = "Horizontal alignment:"
[node name="MeshHorizontalAlignment" type="OptionButton" parent="ObjectOptions/MeshOptions/GridContainer" index="29"]
unique_name_in_owner = true
margin_left = 635.0
margin_top = -586.0
margin_right = 1266.0
margin_bottom = -566.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
text = "Center"
items = [ "Left", null, false, 0, null, "Center", null, false, 1, null, "Right", null, false, 2, null ]
selected = 1
[node name="LightOptions" type="VBoxContainer" parent="ObjectOptions" index="3"]
unique_name_in_owner = true
margin_top = 276.0
margin_right = 1266.0
margin_bottom = 296.0
theme_type_variation = "CollapsibleContainer"
script = ExtResource( 6 )
text = "Light"
[node name="GridContainer" type="GridContainer" parent="ObjectOptions/LightOptions" index="1"]
visible = false
margin_top = 24.0
margin_right = 1266.0
margin_bottom = 104.0
columns = 2
[node name="LightColorLabel" type="Label" parent="ObjectOptions/LightOptions/GridContainer" index="0"]
margin_top = -499.0
margin_right = 631.0
margin_bottom = -485.0
size_flags_horizontal = 3
text = "Color:"
[node name="LightColor" type="ColorPickerButton" parent="ObjectOptions/LightOptions/GridContainer" index="1"]
unique_name_in_owner = true
margin_left = 635.0
margin_top = -502.0
margin_right = 1266.0
margin_bottom = -482.0
size_flags_horizontal = 3
color = Color( 1, 1, 1, 1 )
edit_alpha = false
[node name="LightEnergyLabel" type="Label" parent="ObjectOptions/LightOptions/GridContainer" index="2"]
margin_top = -473.0
margin_right = 631.0
margin_bottom = -459.0
size_flags_horizontal = 3
text = "Energy:"
[node name="LightEnergy" parent="ObjectOptions/LightOptions/GridContainer" index="3" instance=ExtResource( 4 )]
unique_name_in_owner = true
margin_left = 635.0
margin_top = -478.0
margin_right = 1266.0
margin_bottom = -454.0
max_value = 16.0
step = 0.01
value = 1.0
allow_greater = true
[node name="LightNegativeLabel" type="Label" parent="ObjectOptions/LightOptions/GridContainer" index="4"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Negative:"
[node name="LightNegative" type="CheckBox" parent="ObjectOptions/LightOptions/GridContainer" index="5"]
unique_name_in_owner = true
margin_right = 47.0
margin_bottom = 24.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
text = "On"
[node name="ShadowEnabledLabel" type="Label" parent="ObjectOptions/LightOptions/GridContainer" index="6"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Shadow:"
[node name="ShadowEnabled" type="CheckBox" parent="ObjectOptions/LightOptions/GridContainer" index="7"]
unique_name_in_owner = true
margin_right = 47.0
margin_bottom = 24.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
text = "On"
[node name="ShadowColorLabel" type="Label" parent="ObjectOptions/LightOptions/GridContainer" index="8"]
margin_top = -499.0
margin_right = 631.0
margin_bottom = -485.0
size_flags_horizontal = 3
text = "Shadow color:"
[node name="ShadowColor" type="ColorPickerButton" parent="ObjectOptions/LightOptions/GridContainer" index="9"]
unique_name_in_owner = true
margin_left = 635.0
margin_top = -502.0
margin_right = 1266.0
margin_bottom = -482.0
size_flags_horizontal = 3
edit_alpha = false
[node name="OmniRangeLabel" type="Label" parent="ObjectOptions/LightOptions/GridContainer" index="10"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Range:"
[node name="OmniRange" type="TextureProgress" parent="ObjectOptions/LightOptions/GridContainer" index="11"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
max_value = 4096.0
step = 0.01
value = 5.0
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="SpotRangeLabel" type="Label" parent="ObjectOptions/LightOptions/GridContainer" index="12"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Range:"
[node name="SpotRange" type="TextureProgress" parent="ObjectOptions/LightOptions/GridContainer" index="13"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
max_value = 4096.0
step = 0.01
value = 5.0
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="SpotAngleLabel" type="Label" parent="ObjectOptions/LightOptions/GridContainer" index="14"]
margin_top = 33.0
margin_right = 631.0
margin_bottom = 47.0
size_flags_horizontal = 3
text = "Angle:"
[node name="SpotAngle" type="TextureProgress" parent="ObjectOptions/LightOptions/GridContainer" index="15"]
unique_name_in_owner = true
margin_right = 6.0
margin_bottom = 6.0
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
max_value = 180.0
step = 0.01
value = 45.0
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 5 )
[node name="UndoRedoTimer" type="Timer" parent="." index="5"]
wait_time = 0.2
one_shot = true
[node name="LoadModelDialog" type="FileDialog" parent="." index="6"]
margin_top = 590.0
margin_right = 515.0
margin_bottom = 938.0
rect_min_size = Vector2( 515, 348 )
window_title = "Open File(s)"
resizable = true
mode = 1
access = 2
filters = PoolStringArray( "*.obj" )
show_hidden_files = true
[connection signal="item_selected" from="HandleObjects/ObjectOptionButton" to="." method="_on_ObjectOptionButton_item_selected"]
[connection signal="pressed" from="HandleObjects/RemoveObject" to="." method="_on_RemoveObject_pressed"]
[connection signal="timeout" from="UndoRedoTimer" to="." method="_on_UndoRedoTimer_timeout"]
[connection signal="files_selected" from="LoadModelDialog" to="." method="_on_LoadModelDialog_files_selected"]
[connection signal="popup_hide" from="LoadModelDialog" to="." method="_on_LoadModelDialog_popup_hide"]