diff --git a/.gitattributes b/.gitattributes index 591b8c9e..19833c9a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,5 +6,7 @@ /addons !export-ignore /addons/rmsmartshape !export-ignore /addons/rmsmartshape/** !export-ignore +/examples !export-ignore +/examples/** !export-ignore /README.md !export-ignore /LICENSE !export-ignore diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/metal_tile.tres b/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/metal_tile.tres deleted file mode 100644 index 7c50aaf3..00000000 --- a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/metal_tile.tres +++ /dev/null @@ -1,22 +0,0 @@ -[gd_resource type="Resource" script_class="SS2D_Material_Edge" load_steps=7 format=3 uid="uid://c8q2nrxnbopbb"] - -[ext_resource type="Script" path="res://addons/rmsmartshape/materials/edge_material.gd" id="1_5g7uv"] -[ext_resource type="Texture2D" uid="uid://b3aqa3bj1osvp" path="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_outline.png" id="2_pxyir"] -[ext_resource type="Texture2D" uid="uid://bobwi3r6aiiqg" path="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner.png" id="3_l0a0f"] -[ext_resource type="Texture2D" uid="uid://bc34cuc50as8f" path="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner_outer.png" id="4_3mpsa"] -[ext_resource type="Texture2D" uid="uid://jc3g5qsmnpdd" path="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_left.png" id="5_j1beu"] -[ext_resource type="Texture2D" uid="uid://cdnfaf3bslk38" path="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_right.png" id="6_1j2bs"] - -[resource] -script = ExtResource("1_5g7uv") -textures = Array[Texture2D]([ExtResource("2_pxyir")]) -textures_corner_outer = Array[Texture2D]([ExtResource("4_3mpsa")]) -textures_corner_inner = Array[Texture2D]([ExtResource("3_l0a0f")]) -textures_taper_left = Array[Texture2D]([]) -textures_taper_right = Array[Texture2D]([]) -textures_taper_corner_left = Array[Texture2D]([ExtResource("5_j1beu")]) -textures_taper_corner_right = Array[Texture2D]([ExtResource("6_1j2bs")]) -randomize_texture = false -use_corner_texture = true -use_taper_texture = false -fit_mode = 0 diff --git a/examples/edge_shader/edge_shader.gdshader b/examples/edge_shader/edge_shader.gdshader new file mode 100644 index 00000000..a2def85a --- /dev/null +++ b/examples/edge_shader/edge_shader.gdshader @@ -0,0 +1,16 @@ +shader_type canvas_item; +/** + * This shader fixes normal textures looking wrong when used with SmartShape2D. + * See: https://github.com/SirRamEsq/SmartShape2D/blob/master/addons/rmsmartshape/documentation/Normals.md + */ + +varying mat2 NORMAL_MATRIX; + +void vertex() { + NORMAL_MATRIX = mat2(COLOR.rg, COLOR.ba) * 2.0 - mat2(vec2(1.0), vec2(1.0)); +} + +void fragment() { + NORMAL.xy = NORMAL_MATRIX * NORMAL.xy; + COLOR = texture(TEXTURE, UV); +} diff --git a/examples/edge_shader/material_edge_shader.tres b/examples/edge_shader/material_edge_shader.tres new file mode 100644 index 00000000..0bda5c42 --- /dev/null +++ b/examples/edge_shader/material_edge_shader.tres @@ -0,0 +1,6 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://dpec5hjpflmri"] + +[ext_resource type="Shader" path="res://examples/edge_shader/edge_shader.gdshader" id="1_akl0v"] + +[resource] +shader = ExtResource("1_akl0v") diff --git a/examples/sharp_corner_tapering/assets/mat_edge_metal.tres b/examples/sharp_corner_tapering/assets/mat_edge_metal.tres new file mode 100644 index 00000000..aacc59b3 --- /dev/null +++ b/examples/sharp_corner_tapering/assets/mat_edge_metal.tres @@ -0,0 +1,22 @@ +[gd_resource type="Resource" script_class="SS2D_Material_Edge" load_steps=7 format=3 uid="uid://c8q2nrxnbopbb"] + +[ext_resource type="Script" path="res://addons/rmsmartshape/materials/edge_material.gd" id="1_lbfns"] +[ext_resource type="Texture2D" uid="uid://b3aqa3bj1osvp" path="res://examples/sharp_corner_tapering/assets/tex_metal_edge.png" id="2_bmjh3"] +[ext_resource type="Texture2D" uid="uid://bobwi3r6aiiqg" path="res://examples/sharp_corner_tapering/assets/tex_metal_corner_inner.png" id="3_n1i1s"] +[ext_resource type="Texture2D" uid="uid://bc34cuc50as8f" path="res://examples/sharp_corner_tapering/assets/tex_metal_corner_outer.png" id="4_ml2u7"] +[ext_resource type="Texture2D" uid="uid://jc3g5qsmnpdd" path="res://examples/sharp_corner_tapering/assets/tex_metal_taper_corner_left.png" id="5_244mn"] +[ext_resource type="Texture2D" uid="uid://cdnfaf3bslk38" path="res://examples/sharp_corner_tapering/assets/tex_metal_taper_corner_right.png" id="6_1c2na"] + +[resource] +script = ExtResource("1_lbfns") +textures = Array[Texture2D]([ExtResource("2_bmjh3")]) +textures_corner_outer = Array[Texture2D]([ExtResource("4_ml2u7")]) +textures_corner_inner = Array[Texture2D]([ExtResource("3_n1i1s")]) +textures_taper_left = Array[Texture2D]([]) +textures_taper_right = Array[Texture2D]([]) +textures_taper_corner_left = Array[Texture2D]([ExtResource("5_244mn")]) +textures_taper_corner_right = Array[Texture2D]([ExtResource("6_1c2na")]) +randomize_texture = false +use_corner_texture = true +use_taper_texture = false +fit_mode = 0 diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner.png b/examples/sharp_corner_tapering/assets/tex_metal_corner_inner.png similarity index 100% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner.png rename to examples/sharp_corner_tapering/assets/tex_metal_corner_inner.png diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner.png.import b/examples/sharp_corner_tapering/assets/tex_metal_corner_inner.png.import similarity index 63% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner.png.import rename to examples/sharp_corner_tapering/assets/tex_metal_corner_inner.png.import index 93d8635f..835818b7 100644 --- a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner.png.import +++ b/examples/sharp_corner_tapering/assets/tex_metal_corner_inner.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bobwi3r6aiiqg" -path="res://.godot/imported/tex_metal_tiling_corner.png-c4964e5436e9bd8e78dac43ec5706855.ctex" +path="res://.godot/imported/tex_metal_corner_inner.png-cdfd7b81c523bc5bb5c7863d7307007e.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner.png" -dest_files=["res://.godot/imported/tex_metal_tiling_corner.png-c4964e5436e9bd8e78dac43ec5706855.ctex"] +source_file="res://examples/sharp_corner_tapering/assets/tex_metal_corner_inner.png" +dest_files=["res://.godot/imported/tex_metal_corner_inner.png-cdfd7b81c523bc5bb5c7863d7307007e.ctex"] [params] diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner_outer.png b/examples/sharp_corner_tapering/assets/tex_metal_corner_outer.png similarity index 100% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner_outer.png rename to examples/sharp_corner_tapering/assets/tex_metal_corner_outer.png diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner_outer.png.import b/examples/sharp_corner_tapering/assets/tex_metal_corner_outer.png.import similarity index 62% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner_outer.png.import rename to examples/sharp_corner_tapering/assets/tex_metal_corner_outer.png.import index 6edbbe9c..10587db8 100644 --- a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner_outer.png.import +++ b/examples/sharp_corner_tapering/assets/tex_metal_corner_outer.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bc34cuc50as8f" -path="res://.godot/imported/tex_metal_tiling_corner_outer.png-3181412620eed5afff36f70bbfe7f3ed.ctex" +path="res://.godot/imported/tex_metal_corner_outer.png-6ea6aecab21ef2cdfa9c20ae8389ee06.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner_outer.png" -dest_files=["res://.godot/imported/tex_metal_tiling_corner_outer.png-3181412620eed5afff36f70bbfe7f3ed.ctex"] +source_file="res://examples/sharp_corner_tapering/assets/tex_metal_corner_outer.png" +dest_files=["res://.godot/imported/tex_metal_corner_outer.png-6ea6aecab21ef2cdfa9c20ae8389ee06.ctex"] [params] diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_outline.png b/examples/sharp_corner_tapering/assets/tex_metal_edge.png similarity index 100% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_outline.png rename to examples/sharp_corner_tapering/assets/tex_metal_edge.png diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_outline.png.import b/examples/sharp_corner_tapering/assets/tex_metal_edge.png.import similarity index 63% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_outline.png.import rename to examples/sharp_corner_tapering/assets/tex_metal_edge.png.import index f1d82916..4e4b107a 100644 --- a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_outline.png.import +++ b/examples/sharp_corner_tapering/assets/tex_metal_edge.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://b3aqa3bj1osvp" -path="res://.godot/imported/tex_metal_tiling_outline.png-ab71193ffc59be44c448090243b6c921.ctex" +path="res://.godot/imported/tex_metal_edge.png-5aaf6e458197a953a7afeee0e270fea4.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_outline.png" -dest_files=["res://.godot/imported/tex_metal_tiling_outline.png-ab71193ffc59be44c448090243b6c921.ctex"] +source_file="res://examples/sharp_corner_tapering/assets/tex_metal_edge.png" +dest_files=["res://.godot/imported/tex_metal_edge.png-5aaf6e458197a953a7afeee0e270fea4.ctex"] [params] diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_fill.png b/examples/sharp_corner_tapering/assets/tex_metal_fill.png similarity index 100% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_fill.png rename to examples/sharp_corner_tapering/assets/tex_metal_fill.png diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_fill.png.import b/examples/sharp_corner_tapering/assets/tex_metal_fill.png.import similarity index 63% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_fill.png.import rename to examples/sharp_corner_tapering/assets/tex_metal_fill.png.import index ae2150e2..2b1eb9c3 100644 --- a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_fill.png.import +++ b/examples/sharp_corner_tapering/assets/tex_metal_fill.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bj658oli0klj3" -path="res://.godot/imported/tex_metal_tiling_fill.png-968e36f9c9db74105d19f64fabf90b81.ctex" +path="res://.godot/imported/tex_metal_fill.png-307d5ebcedc9e8c4f154a2c09687cb41.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_fill.png" -dest_files=["res://.godot/imported/tex_metal_tiling_fill.png-968e36f9c9db74105d19f64fabf90b81.ctex"] +source_file="res://examples/sharp_corner_tapering/assets/tex_metal_fill.png" +dest_files=["res://.godot/imported/tex_metal_fill.png-307d5ebcedc9e8c4f154a2c09687cb41.ctex"] [params] diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_left.png b/examples/sharp_corner_tapering/assets/tex_metal_taper_corner_left.png similarity index 100% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_left.png rename to examples/sharp_corner_tapering/assets/tex_metal_taper_corner_left.png diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_left.png.import b/examples/sharp_corner_tapering/assets/tex_metal_taper_corner_left.png.import similarity index 62% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_left.png.import rename to examples/sharp_corner_tapering/assets/tex_metal_taper_corner_left.png.import index 6d343d6c..5315f40c 100644 --- a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_left.png.import +++ b/examples/sharp_corner_tapering/assets/tex_metal_taper_corner_left.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://jc3g5qsmnpdd" -path="res://.godot/imported/tex_metal_tiling_taper_left.png-b2ad027e151707409097674e4d32a3cc.ctex" +path="res://.godot/imported/tex_metal_taper_corner_left.png-735fbf01b6fc0725b32a91fb24aae5d5.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_left.png" -dest_files=["res://.godot/imported/tex_metal_tiling_taper_left.png-b2ad027e151707409097674e4d32a3cc.ctex"] +source_file="res://examples/sharp_corner_tapering/assets/tex_metal_taper_corner_left.png" +dest_files=["res://.godot/imported/tex_metal_taper_corner_left.png-735fbf01b6fc0725b32a91fb24aae5d5.ctex"] [params] diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_right.png b/examples/sharp_corner_tapering/assets/tex_metal_taper_corner_right.png similarity index 100% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_right.png rename to examples/sharp_corner_tapering/assets/tex_metal_taper_corner_right.png diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_right.png.import b/examples/sharp_corner_tapering/assets/tex_metal_taper_corner_right.png.import similarity index 62% rename from addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_right.png.import rename to examples/sharp_corner_tapering/assets/tex_metal_taper_corner_right.png.import index 0e46d975..7adf36e5 100644 --- a/addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_right.png.import +++ b/examples/sharp_corner_tapering/assets/tex_metal_taper_corner_right.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cdnfaf3bslk38" -path="res://.godot/imported/tex_metal_tiling_taper_right.png-a4c055f51129d7fec053741dc9380f05.ctex" +path="res://.godot/imported/tex_metal_taper_corner_right.png-75d13fe99bb8e540489390ee64c63ea5.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_taper_right.png" -dest_files=["res://.godot/imported/tex_metal_tiling_taper_right.png-a4c055f51129d7fec053741dc9380f05.ctex"] +source_file="res://examples/sharp_corner_tapering/assets/tex_metal_taper_corner_right.png" +dest_files=["res://.godot/imported/tex_metal_taper_corner_right.png-75d13fe99bb8e540489390ee64c63ea5.ctex"] [params] diff --git a/addons/rmsmartshape/examples/sharp_corner_tapering/sharp_corner_taper_example.tscn b/examples/sharp_corner_tapering/sharp_corner_tapering.tscn similarity index 94% rename from addons/rmsmartshape/examples/sharp_corner_tapering/sharp_corner_taper_example.tscn rename to examples/sharp_corner_tapering/sharp_corner_tapering.tscn index 9b9c4662..ecbfeb04 100644 --- a/addons/rmsmartshape/examples/sharp_corner_tapering/sharp_corner_taper_example.tscn +++ b/examples/sharp_corner_tapering/sharp_corner_tapering.tscn @@ -4,15 +4,15 @@ [ext_resource type="Script" path="res://addons/rmsmartshape/vertex_properties.gd" id="2_yp1d2"] [ext_resource type="Script" path="res://addons/rmsmartshape/shapes/point.gd" id="3_edpr6"] [ext_resource type="Script" path="res://addons/rmsmartshape/shapes/point_array.gd" id="4_udfgv"] -[ext_resource type="Texture2D" uid="uid://bj658oli0klj3" path="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_fill.png" id="6_ry0x0"] +[ext_resource type="Texture2D" uid="uid://bj658oli0klj3" path="res://examples/sharp_corner_tapering/assets/tex_metal_fill.png" id="6_ry0x0"] [ext_resource type="Script" path="res://addons/rmsmartshape/materials/shape_material.gd" id="7_ncdby"] -[ext_resource type="Resource" uid="uid://c8q2nrxnbopbb" path="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/metal_tile.tres" id="8_uwntg"] +[ext_resource type="Resource" uid="uid://c8q2nrxnbopbb" path="res://examples/sharp_corner_tapering/assets/mat_edge_metal.tres" id="8_uwntg"] [ext_resource type="Script" path="res://addons/rmsmartshape/normal_range.gd" id="9_tqu3h"] [ext_resource type="Script" path="res://addons/rmsmartshape/materials/edge_material.gd" id="10_55l7o"] [ext_resource type="Script" path="res://addons/rmsmartshape/materials/edge_material_metadata.gd" id="10_umoay"] -[ext_resource type="Texture2D" uid="uid://b3aqa3bj1osvp" path="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_outline.png" id="11_jc4po"] -[ext_resource type="Texture2D" uid="uid://bobwi3r6aiiqg" path="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner.png" id="12_va43u"] -[ext_resource type="Texture2D" uid="uid://bc34cuc50as8f" path="res://addons/rmsmartshape/examples/sharp_corner_tapering/gfx/metal_tile/textures/tex_metal_tiling_corner_outer.png" id="13_f7yxr"] +[ext_resource type="Texture2D" uid="uid://b3aqa3bj1osvp" path="res://examples/sharp_corner_tapering/assets/tex_metal_edge.png" id="11_jc4po"] +[ext_resource type="Texture2D" uid="uid://bobwi3r6aiiqg" path="res://examples/sharp_corner_tapering/assets/tex_metal_corner_inner.png" id="12_va43u"] +[ext_resource type="Texture2D" uid="uid://bc34cuc50as8f" path="res://examples/sharp_corner_tapering/assets/tex_metal_corner_outer.png" id="13_f7yxr"] [sub_resource type="Resource" id="Resource_2r7x3"] script = ExtResource("2_yp1d2") diff --git a/ss2d_edge_shader.material b/ss2d_edge_shader.material deleted file mode 100644 index 45432adf..00000000 Binary files a/ss2d_edge_shader.material and /dev/null differ diff --git a/test.tscn b/test.tscn deleted file mode 100644 index 65d45427..00000000 --- a/test.tscn +++ /dev/null @@ -1,3 +0,0 @@ -[gd_scene format=3 uid="uid://0an32oe0rbsm"] - -[node name="test" type="Node2D"] diff --git a/tests/scenes/assets/tex_short_edge_alt.png b/tests/scenes/assets/tex_short_edge_alt.png new file mode 100644 index 00000000..c98fbb60 Binary files /dev/null and b/tests/scenes/assets/tex_short_edge_alt.png differ diff --git a/tests/scenes/assets/tex_short_edge_alt.png.import b/tests/scenes/assets/tex_short_edge_alt.png.import new file mode 100644 index 00000000..b8f1e70a --- /dev/null +++ b/tests/scenes/assets/tex_short_edge_alt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dnsphlyfdp58f" +path="res://.godot/imported/tex_short_edge_alt.png-76eba76e929c894d37f32caa24d62c54.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://tests/scenes/assets/tex_short_edge_alt.png" +dest_files=["res://.godot/imported/tex_short_edge_alt.png-76eba76e929c894d37f32caa24d62c54.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tests/scenes/test_corners.tscn b/tests/scenes/test_corners.tscn new file mode 100644 index 00000000..69ae9bf2 --- /dev/null +++ b/tests/scenes/test_corners.tscn @@ -0,0 +1,749 @@ +[gd_scene load_steps=111 format=3 uid="uid://cfjhsxfxqfbmd"] + +[ext_resource type="Script" path="res://addons/rmsmartshape/shapes/shape.gd" id="1_mcb7j"] +[ext_resource type="Script" path="res://addons/rmsmartshape/vertex_properties.gd" id="2_w2nue"] +[ext_resource type="Script" path="res://addons/rmsmartshape/shapes/point.gd" id="3_6k30c"] +[ext_resource type="Script" path="res://addons/rmsmartshape/shapes/point_array.gd" id="4_4ppdy"] +[ext_resource type="Script" path="res://addons/rmsmartshape/materials/edge_material.gd" id="5_t4dn2"] +[ext_resource type="Texture2D" uid="uid://b3aqa3bj1osvp" path="res://examples/sharp_corner_tapering/assets/tex_metal_edge.png" id="6_26tue"] +[ext_resource type="Texture2D" uid="uid://bobwi3r6aiiqg" path="res://examples/sharp_corner_tapering/assets/tex_metal_corner_inner.png" id="7_wb8cu"] +[ext_resource type="Texture2D" uid="uid://bc34cuc50as8f" path="res://examples/sharp_corner_tapering/assets/tex_metal_corner_outer.png" id="8_0efe8"] +[ext_resource type="Texture2D" uid="uid://jc3g5qsmnpdd" path="res://examples/sharp_corner_tapering/assets/tex_metal_taper_corner_left.png" id="9_np7v4"] +[ext_resource type="Texture2D" uid="uid://cdnfaf3bslk38" path="res://examples/sharp_corner_tapering/assets/tex_metal_taper_corner_right.png" id="10_lean2"] +[ext_resource type="Script" path="res://addons/rmsmartshape/normal_range.gd" id="11_5nuna"] +[ext_resource type="Script" path="res://addons/rmsmartshape/materials/edge_material_metadata.gd" id="12_5k2e4"] +[ext_resource type="Texture2D" uid="uid://bj658oli0klj3" path="res://examples/sharp_corner_tapering/assets/tex_metal_fill.png" id="13_2kui3"] +[ext_resource type="Script" path="res://addons/rmsmartshape/materials/shape_material.gd" id="14_e05h7"] + +[sub_resource type="Resource" id="Resource_lygk8"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_vpbfx"] +script = ExtResource("3_6k30c") +position = Vector2(83.365, 45.3257) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_lygk8") + +[sub_resource type="Resource" id="Resource_jcxgb"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_w5cbt"] +script = ExtResource("3_6k30c") +position = Vector2(263.601, 615.758) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_jcxgb") + +[sub_resource type="Resource" id="Resource_h14mo"] +script = ExtResource("2_w2nue") +texture_idx = -2 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_j5l1j"] +script = ExtResource("3_6k30c") +position = Vector2(1143.91, 658.765) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_h14mo") + +[sub_resource type="Resource" id="Resource_hdslu"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_324cb"] +script = ExtResource("3_6k30c") +position = Vector2(671.139, 5.00433) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_hdslu") + +[sub_resource type="Resource" id="Resource_cih33"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_p3ja8"] +script = ExtResource("3_6k30c") +position = Vector2(83.365, 45.3257) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_cih33") + +[sub_resource type="Resource" id="Resource_xagfk"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_qjb65"] +script = ExtResource("3_6k30c") +position = Vector2(828.177, 480.513) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_xagfk") + +[sub_resource type="Resource" id="Resource_5ln5m"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_w1ohc"] +script = ExtResource("3_6k30c") +position = Vector2(619.207, 312.154) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_5ln5m") + +[sub_resource type="Resource" id="Resource_fh83h"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_tlf23"] +script = ExtResource("3_6k30c") +position = Vector2(1115.16, 338.568) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_fh83h") + +[sub_resource type="Resource" id="Resource_bcjqe"] +script = ExtResource("2_w2nue") +texture_idx = 3 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_86kx1"] +script = ExtResource("3_6k30c") +position = Vector2(544.104, 38.4804) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_bcjqe") + +[sub_resource type="Resource" id="Resource_0g8q4"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_eqyck"] +script = ExtResource("3_6k30c") +position = Vector2(293.278, 51.6277) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_0g8q4") + +[sub_resource type="Resource" id="Resource_mmxou"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_1wyqg"] +script = ExtResource("3_6k30c") +position = Vector2(765.401, 307.007) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_mmxou") + +[sub_resource type="Resource" id="Resource_fpnhi"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_2owaw"] +script = ExtResource("3_6k30c") +position = Vector2(239.115, 334.66) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_fpnhi") + +[sub_resource type="Resource" id="Resource_fn351"] +script = ExtResource("2_w2nue") +texture_idx = -6 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_kc8gv"] +script = ExtResource("3_6k30c") +position = Vector2(1079.09, 237.084) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_fn351") + +[sub_resource type="Resource" id="Resource_upw2t"] +script = ExtResource("2_w2nue") +texture_idx = 1 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_8t751"] +script = ExtResource("3_6k30c") +position = Vector2(1004.87, 375.001) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_upw2t") + +[sub_resource type="Resource" id="Resource_yrp1t"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_tj2dw"] +script = ExtResource("3_6k30c") +position = Vector2(925.413, 774.367) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_yrp1t") + +[sub_resource type="Resource" id="Resource_qhwuv"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_pcj5v"] +script = ExtResource("3_6k30c") +position = Vector2(739.024, 465.922) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_qhwuv") + +[sub_resource type="Resource" id="Resource_8dhdk"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_pwgg2"] +script = ExtResource("3_6k30c") +position = Vector2(644.309, 532.628) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_8dhdk") + +[sub_resource type="Resource" id="Resource_7rchc"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_54gk6"] +script = ExtResource("3_6k30c") +position = Vector2(791.554, 665.714) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_7rchc") + +[sub_resource type="Resource" id="Resource_abdq1"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_5prdl"] +script = ExtResource("3_6k30c") +position = Vector2(701.885, 772.372) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_abdq1") + +[sub_resource type="Resource" id="Resource_weicq"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_6nwk8"] +script = ExtResource("3_6k30c") +position = Vector2(574.463, 651.556) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_weicq") + +[sub_resource type="Resource" id="Resource_xx7m3"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_p37vd"] +script = ExtResource("3_6k30c") +position = Vector2(522.549, 702.525) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_xx7m3") + +[sub_resource type="Resource" id="Resource_qpvp3"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_1vc1y"] +script = ExtResource("3_6k30c") +position = Vector2(417.779, 593.98) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_qpvp3") + +[sub_resource type="Resource" id="Resource_hiwju"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_4ykol"] +script = ExtResource("3_6k30c") +position = Vector2(334.718, 686.479) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_hiwju") + +[sub_resource type="Resource" id="Resource_0sxaf"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_dxsy6"] +script = ExtResource("3_6k30c") +position = Vector2(70.5502, 170.869) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_0sxaf") + +[sub_resource type="Resource" id="Resource_nueym"] +script = ExtResource("2_w2nue") +texture_idx = -3 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_nsda3"] +script = ExtResource("3_6k30c") +position = Vector2(849.36, 287.583) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_nueym") + +[sub_resource type="Resource" id="Resource_5juv8"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_xyx8x"] +script = ExtResource("3_6k30c") +position = Vector2(809.1, 165.745) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_5juv8") + +[sub_resource type="Resource" id="Resource_eysjo"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_wru4b"] +script = ExtResource("3_6k30c") +position = Vector2(898.095, 144.555) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_eysjo") + +[sub_resource type="Resource" id="Resource_g5gr0"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_penbo"] +script = ExtResource("3_6k30c") +position = Vector2(910.717, 435.035) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_g5gr0") + +[sub_resource type="Resource" id="Resource_o2w6y"] +script = ExtResource("4_4ppdy") +_points = { +0: SubResource("Resource_vpbfx"), +1: SubResource("Resource_w5cbt"), +2: SubResource("Resource_j5l1j"), +3: SubResource("Resource_324cb"), +4: SubResource("Resource_p3ja8"), +6: SubResource("Resource_qjb65"), +8: SubResource("Resource_w1ohc"), +9: SubResource("Resource_tlf23"), +10: SubResource("Resource_86kx1"), +11: SubResource("Resource_eqyck"), +12: SubResource("Resource_1wyqg"), +13: SubResource("Resource_2owaw"), +18: SubResource("Resource_kc8gv"), +19: SubResource("Resource_8t751"), +20: SubResource("Resource_tj2dw"), +21: SubResource("Resource_pcj5v"), +22: SubResource("Resource_pwgg2"), +23: SubResource("Resource_54gk6"), +24: SubResource("Resource_5prdl"), +25: SubResource("Resource_6nwk8"), +26: SubResource("Resource_p37vd"), +27: SubResource("Resource_1vc1y"), +28: SubResource("Resource_4ykol"), +29: SubResource("Resource_dxsy6"), +33: SubResource("Resource_nsda3"), +34: SubResource("Resource_xyx8x"), +35: SubResource("Resource_wru4b"), +36: SubResource("Resource_penbo") +} +_point_order = PackedInt32Array(4, 11, 8, 10, 3, 12, 33, 34, 35, 18, 9, 19, 2, 36, 20, 6, 21, 22, 23, 24, 25, 26, 27, 28, 1, 13, 29, 0) +_constraints = { +Vector2i(0, 4): 15 +} +_next_key = 37 +_material_overrides = {} +tessellation_stages = 5 +tessellation_tolerance = 4.0 +curve_bake_interval = 20.0 + +[sub_resource type="Resource" id="Resource_jhedi"] +script = ExtResource("5_t4dn2") +textures = Array[Texture2D]([ExtResource("6_26tue")]) +textures_corner_outer = Array[Texture2D]([ExtResource("8_0efe8")]) +textures_corner_inner = Array[Texture2D]([ExtResource("7_wb8cu")]) +textures_taper_left = Array[Texture2D]([]) +textures_taper_right = Array[Texture2D]([]) +textures_taper_corner_left = Array[Texture2D]([ExtResource("9_np7v4")]) +textures_taper_corner_right = Array[Texture2D]([ExtResource("10_lean2")]) +randomize_texture = false +use_corner_texture = true +use_taper_texture = true +fit_mode = 0 + +[sub_resource type="Resource" id="Resource_wiqfm"] +script = ExtResource("11_5nuna") +begin = 0.0 +distance = 360.0 +edgeRendering = Vector2(0, 0) + +[sub_resource type="Resource" id="Resource_u4by3"] +script = ExtResource("12_5k2e4") +edge_material = SubResource("Resource_jhedi") +normal_range = SubResource("Resource_wiqfm") +weld = true +taper_sharp_corners = true +render = true +z_index = 0 +z_as_relative = true +offset = 0.0 + +[sub_resource type="Resource" id="Resource_07ymf"] +script = ExtResource("14_e05h7") +_edge_meta_materials = Array[ExtResource("12_5k2e4")]([SubResource("Resource_u4by3")]) +fill_textures = Array[Texture2D]([ExtResource("13_2kui3")]) +fill_texture_z_index = -10 +fill_texture_show_behind_parent = false +fill_texture_scale = 1.0 +fill_texture_absolute_position = false +fill_texture_absolute_rotation = false +fill_texture_offset = Vector2(0, 0) +fill_texture_angle_offset = 0.0 +fill_mesh_offset = 0.0 +render_offset = 0.0 + +[sub_resource type="Resource" id="Resource_3nh0b"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_tvfh8"] +script = ExtResource("3_6k30c") +position = Vector2(1834, 734.84) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_3nh0b") + +[sub_resource type="Resource" id="Resource_ofrvi"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_baw6f"] +script = ExtResource("3_6k30c") +position = Vector2(1158.47, 781.752) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_ofrvi") + +[sub_resource type="Resource" id="Resource_3d55y"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_1fpjb"] +script = ExtResource("3_6k30c") +position = Vector2(1271.52, 1089.89) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_3d55y") + +[sub_resource type="Resource" id="Resource_i3wm6"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_3o06x"] +script = ExtResource("3_6k30c") +position = Vector2(1501.41, 1030.88) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_i3wm6") + +[sub_resource type="Resource" id="Resource_21f4a"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_nlf4a"] +script = ExtResource("3_6k30c") +position = Vector2(1965.13, 1088.61) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_21f4a") + +[sub_resource type="Resource" id="Resource_i05n7"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_ci0dl"] +script = ExtResource("3_6k30c") +position = Vector2(1903.85, 912.288) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_i05n7") + +[sub_resource type="Resource" id="Resource_1ec56"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_foxns"] +script = ExtResource("3_6k30c") +position = Vector2(1834, 734.84) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_1ec56") + +[sub_resource type="Resource" id="Resource_0wyp8"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_xjiv4"] +script = ExtResource("3_6k30c") +position = Vector2(1584.88, 1227.06) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_0wyp8") + +[sub_resource type="Resource" id="Resource_axjns"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_edrll"] +script = ExtResource("3_6k30c") +position = Vector2(1382.82, 712.62) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_axjns") + +[sub_resource type="Resource" id="Resource_5umc1"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_yp6wn"] +script = ExtResource("3_6k30c") +position = Vector2(1407.19, 847.172) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_5umc1") + +[sub_resource type="Resource" id="Resource_isv0v"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_e2ghg"] +script = ExtResource("3_6k30c") +position = Vector2(1590.16, 782.848) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_isv0v") + +[sub_resource type="Resource" id="Resource_xewxi"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_1jvtu"] +script = ExtResource("3_6k30c") +position = Vector2(1532.2, 599.258) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_xewxi") + +[sub_resource type="Resource" id="Resource_xx3ki"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_t6b65"] +script = ExtResource("3_6k30c") +position = Vector2(1800.59, 525.086) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_xx3ki") + +[sub_resource type="Resource" id="Resource_v2n6k"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_fu5b6"] +script = ExtResource("3_6k30c") +position = Vector2(1739.73, 1174.58) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_v2n6k") + +[sub_resource type="Resource" id="Resource_8m5d5"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_o06ra"] +script = ExtResource("3_6k30c") +position = Vector2(1685.85, 1012.94) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_8m5d5") + +[sub_resource type="Resource" id="Resource_ytgpq"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_pdb0p"] +script = ExtResource("3_6k30c") +position = Vector2(1817.18, 971.411) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_ytgpq") + +[sub_resource type="Resource" id="Resource_uckja"] +script = ExtResource("2_w2nue") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_840qt"] +script = ExtResource("3_6k30c") +position = Vector2(1873.3, 1134.17) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_uckja") + +[sub_resource type="Resource" id="Resource_357de"] +script = ExtResource("4_4ppdy") +_points = { +0: SubResource("Resource_tvfh8"), +1: SubResource("Resource_baw6f"), +2: SubResource("Resource_1fpjb"), +3: SubResource("Resource_3o06x"), +4: SubResource("Resource_nlf4a"), +5: SubResource("Resource_ci0dl"), +6: SubResource("Resource_foxns"), +8: SubResource("Resource_xjiv4"), +9: SubResource("Resource_edrll"), +10: SubResource("Resource_yp6wn"), +11: SubResource("Resource_e2ghg"), +12: SubResource("Resource_1jvtu"), +13: SubResource("Resource_t6b65"), +14: SubResource("Resource_fu5b6"), +15: SubResource("Resource_o06ra"), +16: SubResource("Resource_pdb0p"), +17: SubResource("Resource_840qt") +} +_point_order = PackedInt32Array(6, 5, 4, 17, 16, 15, 14, 8, 3, 2, 1, 9, 10, 11, 12, 13, 0) +_constraints = { +Vector2i(6, 0): 15 +} +_next_key = 18 +_material_overrides = {} +tessellation_stages = 5 +tessellation_tolerance = 4.0 +curve_bake_interval = 20.0 + +[node name="Node2D" type="Node2D"] + +[node name="WithTapering" type="Node2D" parent="."] +texture_repeat = 2 +position = Vector2(-431, 86) +script = ExtResource("1_mcb7j") +_points = SubResource("Resource_o2w6y") +shape_material = SubResource("Resource_07ymf") +tessellation_stages = 5 +tessellation_tolerence = 4.0 + +[node name="WithTapering2" type="Node2D" parent="."] +texture_repeat = 2 +position = Vector2(-470, -514) +script = ExtResource("1_mcb7j") +_points = SubResource("Resource_357de") +shape_material = SubResource("Resource_07ymf") +tessellation_stages = 5 +tessellation_tolerence = 4.0 + +[node name="Msg" type="Label" parent="."] +offset_left = 345.0 +offset_top = 15.0 +offset_right = 914.0 +offset_bottom = 90.0 +text = "CORNER TEXTURES +Note: Corners should not introduce distortions to mesh geometry. +" +horizontal_alignment = 1 diff --git a/test_large_curvy.tscn b/tests/scenes/test_large_curvy.tscn similarity index 100% rename from test_large_curvy.tscn rename to tests/scenes/test_large_curvy.tscn diff --git a/tests/scenes/test_mirrored.tscn b/tests/scenes/test_mirrored.tscn new file mode 100644 index 00000000..b4ae69e2 --- /dev/null +++ b/tests/scenes/test_mirrored.tscn @@ -0,0 +1,208 @@ +[gd_scene load_steps=30 format=3 uid="uid://d12vjbt2l784f"] + +[ext_resource type="Script" path="res://addons/rmsmartshape/shapes/shape.gd" id="1_aa7yo"] +[ext_resource type="Script" path="res://addons/rmsmartshape/vertex_properties.gd" id="2_ra2k6"] +[ext_resource type="Script" path="res://addons/rmsmartshape/shapes/point.gd" id="3_6u2il"] +[ext_resource type="Script" path="res://addons/rmsmartshape/shapes/point_array.gd" id="4_ov6p5"] +[ext_resource type="Script" path="res://addons/rmsmartshape/materials/edge_material.gd" id="5_2prmd"] +[ext_resource type="Texture2D" uid="uid://8l501jrnaqt8" path="res://icon.png" id="6_m2m34"] +[ext_resource type="Script" path="res://addons/rmsmartshape/normal_range.gd" id="7_xe16k"] +[ext_resource type="Script" path="res://addons/rmsmartshape/materials/edge_material_metadata.gd" id="8_u2jqw"] +[ext_resource type="Script" path="res://addons/rmsmartshape/materials/shape_material.gd" id="9_hjg5c"] + +[sub_resource type="Resource" id="Resource_nfqiv"] +script = ExtResource("2_ra2k6") +texture_idx = 1 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_lvhxy"] +script = ExtResource("3_6u2il") +position = Vector2(70.2913, 640.639) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_nfqiv") + +[sub_resource type="Resource" id="Resource_ycvwm"] +script = ExtResource("2_ra2k6") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_vy2bg"] +script = ExtResource("3_6u2il") +position = Vector2(90.4312, 175.796) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_ycvwm") + +[sub_resource type="Resource" id="Resource_i81g3"] +script = ExtResource("2_ra2k6") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_vbm4m"] +script = ExtResource("3_6u2il") +position = Vector2(434.702, 160.956) +point_in = Vector2(-123.472, -47.877) +point_out = Vector2(123.472, 47.877) +properties = SubResource("Resource_i81g3") + +[sub_resource type="Resource" id="Resource_boj36"] +script = ExtResource("2_ra2k6") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_ow87y"] +script = ExtResource("3_6u2il") +position = Vector2(360.692, 577.955) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_boj36") + +[sub_resource type="Resource" id="Resource_26teh"] +script = ExtResource("3_6u2il") +position = Vector2(70.2913, 640.639) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_nfqiv") + +[sub_resource type="Resource" id="Resource_lmwe7"] +script = ExtResource("2_ra2k6") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_lpv1t"] +script = ExtResource("3_6u2il") +position = Vector2(653.241, 354.018) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_lmwe7") + +[sub_resource type="Resource" id="Resource_slbjr"] +script = ExtResource("2_ra2k6") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_4qki4"] +script = ExtResource("3_6u2il") +position = Vector2(603.51, 774.192) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_slbjr") + +[sub_resource type="Resource" id="Resource_flcrj"] +script = ExtResource("4_ov6p5") +_points = { +0: SubResource("Resource_lvhxy"), +1: SubResource("Resource_vy2bg"), +3: SubResource("Resource_vbm4m"), +5: SubResource("Resource_ow87y"), +7: SubResource("Resource_26teh"), +12: SubResource("Resource_lpv1t"), +13: SubResource("Resource_4qki4") +} +_point_order = PackedInt32Array(0, 1, 3, 12, 13, 5, 7) +_constraints = { +Vector2i(0, 7): 15 +} +_next_key = 14 +_material_overrides = {} +tessellation_stages = 5 +tessellation_tolerance = 4.0 +curve_bake_interval = 20.0 + +[sub_resource type="CanvasTexture" id="CanvasTexture_sav5h"] +diffuse_texture = ExtResource("6_m2m34") +texture_repeat = 2 + +[sub_resource type="Resource" id="Resource_th0g0"] +script = ExtResource("5_2prmd") +textures = Array[Texture2D]([SubResource("CanvasTexture_sav5h")]) +textures_corner_outer = Array[Texture2D]([ExtResource("6_m2m34")]) +textures_corner_inner = Array[Texture2D]([ExtResource("6_m2m34")]) +textures_taper_left = Array[Texture2D]([ExtResource("6_m2m34")]) +textures_taper_right = Array[Texture2D]([ExtResource("6_m2m34")]) +textures_taper_corner_left = Array[Texture2D]([]) +textures_taper_corner_right = Array[Texture2D]([]) +randomize_texture = false +use_corner_texture = true +use_taper_texture = true +fit_mode = 0 + +[sub_resource type="Resource" id="Resource_5w1sk"] +script = ExtResource("7_xe16k") +begin = 0.0 +distance = 360.0 +edgeRendering = Vector2(0, 0) + +[sub_resource type="Resource" id="Resource_80onc"] +script = ExtResource("8_u2jqw") +edge_material = SubResource("Resource_th0g0") +normal_range = SubResource("Resource_5w1sk") +weld = true +taper_sharp_corners = false +render = true +z_index = 0 +z_as_relative = true +offset = 0.0 + +[sub_resource type="CanvasTexture" id="CanvasTexture_nitgn"] +diffuse_texture = ExtResource("6_m2m34") +texture_repeat = 2 + +[sub_resource type="Resource" id="Resource_nkoxe"] +script = ExtResource("9_hjg5c") +_edge_meta_materials = Array[ExtResource("8_u2jqw")]([SubResource("Resource_80onc")]) +fill_textures = Array[Texture2D]([SubResource("CanvasTexture_nitgn")]) +fill_texture_z_index = -10 +fill_texture_show_behind_parent = false +fill_texture_scale = 1.0 +fill_texture_absolute_position = false +fill_texture_absolute_rotation = false +fill_texture_offset = Vector2(0, 0) +fill_texture_angle_offset = 0.0 +fill_mesh_offset = 0.0 +render_offset = 0.0 + +[node name="test_mirrored" type="Node2D"] +position = Vector2(65, 0) +metadata/_edit_vertical_guides_ = [] + +[node name="SS2D_Shape" type="Node2D" parent="."] +position = Vector2(-318, -1) +script = ExtResource("1_aa7yo") +_points = SubResource("Resource_flcrj") +shape_material = SubResource("Resource_nkoxe") +tessellation_stages = 5 +tessellation_tolerence = 4.0 + +[node name="SS2D_Shape2" type="Node2D" parent="."] +position = Vector2(494, 27) +script = ExtResource("1_aa7yo") +_points = SubResource("Resource_flcrj") +shape_material = SubResource("Resource_nkoxe") +tessellation_stages = 5 +tessellation_tolerence = 4.0 + +[node name="SS2D_Shape3" type="Node2D" parent="."] +position = Vector2(1295, 10) +script = ExtResource("1_aa7yo") +_points = SubResource("Resource_flcrj") +shape_material = SubResource("Resource_nkoxe") +tessellation_stages = 5 +tessellation_tolerence = 4.0 + +[node name="Msg" type="Label" parent="."] +offset_left = 311.0 +offset_top = 5.0 +offset_right = 880.0 +offset_bottom = 80.0 +text = "MIRRORED SHAPES +Note: Changing any of these shapes should update the other two shapes. +" +horizontal_alignment = 1 diff --git a/tests/scenes/test_short_edge.tscn b/tests/scenes/test_short_edge.tscn new file mode 100644 index 00000000..e1ad14d8 --- /dev/null +++ b/tests/scenes/test_short_edge.tscn @@ -0,0 +1,440 @@ +[gd_scene load_steps=66 format=3 uid="uid://bb0o2ev4ehnwq"] + +[ext_resource type="Script" path="res://addons/rmsmartshape/shapes/shape.gd" id="1_4snix"] +[ext_resource type="Script" path="res://addons/rmsmartshape/vertex_properties.gd" id="2_xh5r4"] +[ext_resource type="Script" path="res://addons/rmsmartshape/shapes/point.gd" id="3_a5gjk"] +[ext_resource type="Script" path="res://addons/rmsmartshape/shapes/point_array.gd" id="4_hmy1i"] +[ext_resource type="Script" path="res://addons/rmsmartshape/materials/edge_material.gd" id="5_ev8wu"] +[ext_resource type="Texture2D" uid="uid://dnsphlyfdp58f" path="res://tests/scenes/assets/tex_short_edge_alt.png" id="6_udrad"] +[ext_resource type="Texture2D" uid="uid://8l501jrnaqt8" path="res://icon.png" id="7_tdbsk"] +[ext_resource type="Script" path="res://addons/rmsmartshape/normal_range.gd" id="8_kaxf5"] +[ext_resource type="Script" path="res://addons/rmsmartshape/materials/edge_material_metadata.gd" id="9_lpwk4"] +[ext_resource type="Script" path="res://addons/rmsmartshape/materials/shape_material.gd" id="10_4wdts"] + +[sub_resource type="Resource" id="Resource_yrodk"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_bhm0m"] +script = ExtResource("3_a5gjk") +position = Vector2(180.66, 97.0487) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_yrodk") + +[sub_resource type="Resource" id="Resource_2xicj"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_k6jdh"] +script = ExtResource("3_a5gjk") +position = Vector2(521.66, 347.1) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_2xicj") + +[sub_resource type="Resource" id="Resource_gglsj"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_yovyi"] +script = ExtResource("3_a5gjk") +position = Vector2(339, 291) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_gglsj") + +[sub_resource type="Resource" id="Resource_0rq7m"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_7n3dg"] +script = ExtResource("3_a5gjk") +position = Vector2(180.66, 97.0487) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_0rq7m") + +[sub_resource type="Resource" id="Resource_l2qfi"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_geuk5"] +script = ExtResource("3_a5gjk") +position = Vector2(882.913, 345.439) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_l2qfi") + +[sub_resource type="Resource" id="Resource_w78e0"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_hqye3"] +script = ExtResource("3_a5gjk") +position = Vector2(915.221, 141.257) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_w78e0") + +[sub_resource type="Resource" id="Resource_iidvl"] +script = ExtResource("2_xh5r4") +texture_idx = 2 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_12gko"] +script = ExtResource("3_a5gjk") +position = Vector2(419.9, 112.409) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_iidvl") + +[sub_resource type="Resource" id="Resource_pbjjy"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_acl2a"] +script = ExtResource("3_a5gjk") +position = Vector2(250.02, 36.0354) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_pbjjy") + +[sub_resource type="Resource" id="Resource_ksjos"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_x7y4t"] +script = ExtResource("3_a5gjk") +position = Vector2(300.843, 94.9496) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_ksjos") + +[sub_resource type="Resource" id="Resource_7363e"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_o6po1"] +script = ExtResource("3_a5gjk") +position = Vector2(358.93, 45.6335) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_7363e") + +[sub_resource type="Resource" id="Resource_xmwsa"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_ks6le"] +script = ExtResource("3_a5gjk") +position = Vector2(469.238, 71.0893) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_xmwsa") + +[sub_resource type="Resource" id="Resource_b6nnu"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_kqi05"] +script = ExtResource("3_a5gjk") +position = Vector2(521.5, 120.5) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_b6nnu") + +[sub_resource type="Resource" id="Resource_m8kkd"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_dpe48"] +script = ExtResource("3_a5gjk") +position = Vector2(458, 173.5) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_m8kkd") + +[sub_resource type="Resource" id="Resource_jvssy"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_1wnx1"] +script = ExtResource("3_a5gjk") +position = Vector2(509.5, 224) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_jvssy") + +[sub_resource type="Resource" id="Resource_om4tl"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_5hp75"] +script = ExtResource("3_a5gjk") +position = Vector2(651.246, 96.5348) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_om4tl") + +[sub_resource type="Resource" id="Resource_i4ylr"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_ttj1b"] +script = ExtResource("3_a5gjk") +position = Vector2(912.455, 214.866) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_i4ylr") + +[sub_resource type="Resource" id="Resource_ctwmu"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_npl6o"] +script = ExtResource("3_a5gjk") +position = Vector2(831.281, 257.341) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_ctwmu") + +[sub_resource type="Resource" id="Resource_5ah8g"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_kktwg"] +script = ExtResource("3_a5gjk") +position = Vector2(754.828, 407.417) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_5ah8g") + +[sub_resource type="Resource" id="Resource_xsh83"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_3y3t8"] +script = ExtResource("3_a5gjk") +position = Vector2(748.655, 311.717) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_xsh83") + +[sub_resource type="Resource" id="Resource_fjru3"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_mwapp"] +script = ExtResource("3_a5gjk") +position = Vector2(670.168, 331.339) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_fjru3") + +[sub_resource type="Resource" id="Resource_uyy7p"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_fewx8"] +script = ExtResource("3_a5gjk") +position = Vector2(704.271, 161.178) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_uyy7p") + +[sub_resource type="Resource" id="Resource_63sxe"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_q7c00"] +script = ExtResource("3_a5gjk") +position = Vector2(826.601, 56.526) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_63sxe") + +[sub_resource type="Resource" id="Resource_r6dfn"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_x5m6c"] +script = ExtResource("3_a5gjk") +position = Vector2(651.945, 381.088) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_r6dfn") + +[sub_resource type="Resource" id="Resource_gikx8"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_jkivj"] +script = ExtResource("3_a5gjk") +position = Vector2(607.398, 320.277) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_gikx8") + +[sub_resource type="Resource" id="Resource_2kxxk"] +script = ExtResource("2_xh5r4") +texture_idx = 0 +flip = false +width = 1.0 + +[sub_resource type="Resource" id="Resource_8bjvd"] +script = ExtResource("3_a5gjk") +position = Vector2(592.998, 455.053) +point_in = Vector2(0, 0) +point_out = Vector2(0, 0) +properties = SubResource("Resource_2kxxk") + +[sub_resource type="Resource" id="Resource_pjls5"] +script = ExtResource("4_hmy1i") +_points = { +0: SubResource("Resource_bhm0m"), +2: SubResource("Resource_k6jdh"), +3: SubResource("Resource_yovyi"), +4: SubResource("Resource_7n3dg"), +5: SubResource("Resource_geuk5"), +6: SubResource("Resource_hqye3"), +8: SubResource("Resource_12gko"), +9: SubResource("Resource_acl2a"), +10: SubResource("Resource_x7y4t"), +13: SubResource("Resource_o6po1"), +15: SubResource("Resource_ks6le"), +16: SubResource("Resource_kqi05"), +17: SubResource("Resource_dpe48"), +18: SubResource("Resource_1wnx1"), +19: SubResource("Resource_5hp75"), +23: SubResource("Resource_ttj1b"), +24: SubResource("Resource_npl6o"), +25: SubResource("Resource_kktwg"), +27: SubResource("Resource_3y3t8"), +28: SubResource("Resource_mwapp"), +29: SubResource("Resource_fewx8"), +30: SubResource("Resource_q7c00"), +31: SubResource("Resource_x5m6c"), +32: SubResource("Resource_jkivj"), +33: SubResource("Resource_8bjvd") +} +_point_order = PackedInt32Array(0, 9, 10, 13, 8, 15, 16, 17, 18, 19, 29, 30, 6, 23, 24, 5, 27, 25, 28, 31, 32, 33, 2, 3, 4) +_constraints = { +Vector2i(0, 4): 15 +} +_next_key = 34 +_material_overrides = {} +tessellation_stages = 3 +tessellation_tolerance = 6.0 +curve_bake_interval = 20.0 + +[sub_resource type="Resource" id="Resource_ogp2o"] +script = ExtResource("5_ev8wu") +textures = Array[Texture2D]([ExtResource("6_udrad")]) +textures_corner_outer = Array[Texture2D]([ExtResource("7_tdbsk")]) +textures_corner_inner = Array[Texture2D]([ExtResource("7_tdbsk")]) +textures_taper_left = Array[Texture2D]([]) +textures_taper_right = Array[Texture2D]([]) +textures_taper_corner_left = Array[Texture2D]([]) +textures_taper_corner_right = Array[Texture2D]([]) +randomize_texture = false +use_corner_texture = true +use_taper_texture = true +fit_mode = 0 + +[sub_resource type="Resource" id="Resource_gwybm"] +script = ExtResource("8_kaxf5") +begin = 0.0 +distance = 360.0 +edgeRendering = Vector2(0, 0) + +[sub_resource type="Resource" id="Resource_mbyi0"] +script = ExtResource("9_lpwk4") +edge_material = SubResource("Resource_ogp2o") +normal_range = SubResource("Resource_gwybm") +weld = true +taper_sharp_corners = false +render = true +z_index = 0 +z_as_relative = true +offset = 0.0 + +[sub_resource type="Resource" id="Resource_wrwsj"] +script = ExtResource("10_4wdts") +_edge_meta_materials = Array[ExtResource("9_lpwk4")]([SubResource("Resource_mbyi0")]) +fill_textures = Array[Texture2D]([ExtResource("7_tdbsk")]) +fill_texture_z_index = -10 +fill_texture_show_behind_parent = false +fill_texture_scale = 1.0 +fill_texture_absolute_position = false +fill_texture_absolute_rotation = false +fill_texture_offset = Vector2(0, 0) +fill_texture_angle_offset = 0.0 +fill_mesh_offset = 0.0 +render_offset = 0.0 + +[node name="Node2D" type="Node2D"] + +[node name="SS2D_Shape" type="Node2D" parent="."] +texture_repeat = 2 +position = Vector2(5, 96) +script = ExtResource("1_4snix") +_points = SubResource("Resource_pjls5") +shape_material = SubResource("Resource_wrwsj") + +[node name="Msg" type="Label" parent="."] +offset_left = 157.0 +offset_top = 13.0 +offset_right = 726.0 +offset_bottom = 88.0 +text = "SHORT EDGES +Note: Short edges in combination with 90° corners should not introduce artifacts in edge texturing. +" +horizontal_alignment = 1