Skip to content

Commit 746fd1b

Browse files
committed
Fixed crash upon copy/paste of Material node
1 parent 92b647f commit 746fd1b

File tree

6 files changed

+64
-41
lines changed

6 files changed

+64
-41
lines changed

addons/procedural_material/graph_edit.gd

+2
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ func get_free_name(type):
111111
i += 1
112112

113113
func create_nodes(data, position = null):
114+
if data == null:
115+
return
114116
if data.has("type"):
115117
var node_type = load("res://addons/procedural_material/nodes/"+data.type+".tscn")
116118
if node_type != null:

addons/procedural_material/paint_tool/paint.gd

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func _ready():
6262
# Updated Texture2View wrt current camera position
6363
update_tex2view()
6464
# Set size of painted textures
65-
set_texture_size(4096)
65+
set_texture_size(2048)
6666
# update the material list
6767
$Material/OptionButton.clear()
6868
for m in MATERIAL_OPTIONS:

addons/procedural_material/paint_tool/texture2view.shader

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ void fragment() {
5656
vec2 delta = v2t.xy-UV.xy;
5757
float visible = 0.0;
5858
if (color.x > -1.0 && color.x < 1.0 && color.y > -1.0 && color.y < 1.0) {
59-
visible = clamp(10.0*dot(normalize(normal), normalize(color.xyz)), 0.0, 1.0)*max(0.0, 1.0-4.0*pow(dot(delta, delta), 0.3));
59+
visible = clamp(100.0*dot(normalize(normal), normalize(color.xyz)), 0.0, 1.0)*max(0.0, 1.0-4.0*pow(dot(delta, delta), 2.0));
6060
}
6161
ALBEDO = vec3(fix_unshaded(xyz.xy), visible);
6262
}

export_presets.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ platform="Windows Desktop"
55
runnable=true
66
custom_features=""
77
export_filter="resources"
8-
export_files=PoolStringArray( "res://addons/procedural_material/common.shader", "res://addons/procedural_material/graph_edit.gd", "res://addons/procedural_material/graph_edit.tscn", "res://addons/procedural_material/library.gd", "res://addons/procedural_material/main_window.gd", "res://addons/procedural_material/main_window.tscn", "res://addons/procedural_material/node_base.gd", "res://addons/procedural_material/nodes/blend.gd", "res://addons/procedural_material/nodes/blend.tscn", "res://addons/procedural_material/nodes/blur.gd", "res://addons/procedural_material/nodes/blur.tscn", "res://addons/procedural_material/nodes/bricks.gd", "res://addons/procedural_material/nodes/bricks.tscn", "res://addons/procedural_material/nodes/colorize.gd", "res://addons/procedural_material/nodes/colorize.tscn", "res://addons/procedural_material/nodes/combine.gd", "res://addons/procedural_material/nodes/combine.tscn", "res://addons/procedural_material/nodes/decompose.gd", "res://addons/procedural_material/nodes/decompose.tscn", "res://addons/procedural_material/nodes/emboss.gd", "res://addons/procedural_material/nodes/emboss.tscn", "res://addons/procedural_material/nodes/export.gd", "res://addons/procedural_material/nodes/export.tscn", "res://addons/procedural_material/nodes/godot_logo.png", "res://addons/procedural_material/nodes/image.gd", "res://addons/procedural_material/nodes/image.tscn", "res://addons/procedural_material/nodes/material.gd", "res://addons/procedural_material/nodes/material.tscn", "res://addons/procedural_material/nodes/noise.gd", "res://addons/procedural_material/nodes/noise.tscn", "res://addons/procedural_material/nodes/normal_map.gd", "res://addons/procedural_material/nodes/normal_map.tscn", "res://addons/procedural_material/nodes/pattern.gd", "res://addons/procedural_material/nodes/pattern.tscn", "res://addons/procedural_material/nodes/perlin.gd", "res://addons/procedural_material/nodes/perlin.tscn", "res://addons/procedural_material/nodes/transform.gd", "res://addons/procedural_material/nodes/transform.tscn", "res://addons/procedural_material/nodes/uniform.gd", "res://addons/procedural_material/nodes/uniform.tscn", "res://addons/procedural_material/nodes/voronoi.gd", "res://addons/procedural_material/nodes/voronoi.tscn", "res://addons/procedural_material/nodes/warp.gd", "res://addons/procedural_material/nodes/warp.tscn", "res://addons/procedural_material/panoramas/experiment.hdr", "res://addons/procedural_material/panoramas/lobby.hdr", "res://addons/procedural_material/panoramas/night.hdr", "res://addons/procedural_material/panoramas/park.hdr", "res://addons/procedural_material/panoramas/schelde.hdr", "res://addons/procedural_material/pm_editor.gd", "res://addons/procedural_material/pm_editor.tscn", "res://addons/procedural_material/preview.gd", "res://addons/procedural_material/preview.tscn", "res://addons/procedural_material/widgets/about.gd", "res://addons/procedural_material/widgets/about.tscn", "res://addons/procedural_material/widgets/facebook.png", "res://addons/procedural_material/widgets/github.png", "res://addons/procedural_material/widgets/gradient_editor.gd", "res://addons/procedural_material/widgets/gradient_editor.tscn", "res://addons/procedural_material/widgets/icon.png", "res://addons/procedural_material/widgets/line_dialog.gd", "res://addons/procedural_material/widgets/line_dialog.tscn", "res://addons/procedural_material/widgets/twitter.png", "res://addons/procedural_material/widgets/youtube.png", "res://addons/procedural_material/window_dialog.tscn", "res://icon.png" )
8+
export_files=PoolStringArray( "res://addons/procedural_material/common.shader", "res://addons/procedural_material/graph_edit.gd", "res://addons/procedural_material/graph_edit.tscn", "res://addons/procedural_material/library.gd", "res://addons/procedural_material/main_window.gd", "res://addons/procedural_material/main_window.tscn", "res://addons/procedural_material/node_base.gd", "res://addons/procedural_material/nodes/adjust_hsv.gd", "res://addons/procedural_material/nodes/adjust_hsv.tscn", "res://addons/procedural_material/nodes/blend.gd", "res://addons/procedural_material/nodes/blend.tscn", "res://addons/procedural_material/nodes/blur.gd", "res://addons/procedural_material/nodes/blur.tscn", "res://addons/procedural_material/nodes/bricks.gd", "res://addons/procedural_material/nodes/bricks.tscn", "res://addons/procedural_material/nodes/colorize.gd", "res://addons/procedural_material/nodes/colorize.tscn", "res://addons/procedural_material/nodes/combine.gd", "res://addons/procedural_material/nodes/combine.tscn", "res://addons/procedural_material/nodes/decompose.gd", "res://addons/procedural_material/nodes/decompose.tscn", "res://addons/procedural_material/nodes/emboss.gd", "res://addons/procedural_material/nodes/emboss.tscn", "res://addons/procedural_material/nodes/export.gd", "res://addons/procedural_material/nodes/export.tscn", "res://addons/procedural_material/nodes/godot_logo.png", "res://addons/procedural_material/nodes/image.gd", "res://addons/procedural_material/nodes/image.tscn", "res://addons/procedural_material/nodes/material.gd", "res://addons/procedural_material/nodes/material.tscn", "res://addons/procedural_material/nodes/noise.gd", "res://addons/procedural_material/nodes/noise.tscn", "res://addons/procedural_material/nodes/normal_map.gd", "res://addons/procedural_material/nodes/normal_map.tscn", "res://addons/procedural_material/nodes/pattern.gd", "res://addons/procedural_material/nodes/pattern.tscn", "res://addons/procedural_material/nodes/perlin.gd", "res://addons/procedural_material/nodes/perlin.tscn", "res://addons/procedural_material/nodes/transform.gd", "res://addons/procedural_material/nodes/transform.tscn", "res://addons/procedural_material/nodes/uniform.gd", "res://addons/procedural_material/nodes/uniform.tscn", "res://addons/procedural_material/nodes/voronoi.gd", "res://addons/procedural_material/nodes/voronoi.tscn", "res://addons/procedural_material/nodes/warp.gd", "res://addons/procedural_material/nodes/warp.tscn", "res://addons/procedural_material/panoramas/experiment.hdr", "res://addons/procedural_material/panoramas/lobby.hdr", "res://addons/procedural_material/panoramas/night.hdr", "res://addons/procedural_material/panoramas/park.hdr", "res://addons/procedural_material/panoramas/schelde.hdr", "res://addons/procedural_material/pm_editor.gd", "res://addons/procedural_material/pm_editor.tscn", "res://addons/procedural_material/preview.gd", "res://addons/procedural_material/preview.tscn", "res://addons/procedural_material/widgets/about.gd", "res://addons/procedural_material/widgets/about.tscn", "res://addons/procedural_material/widgets/facebook.png", "res://addons/procedural_material/widgets/github.png", "res://addons/procedural_material/widgets/gradient_editor.gd", "res://addons/procedural_material/widgets/gradient_editor.tscn", "res://addons/procedural_material/widgets/icon.png", "res://addons/procedural_material/widgets/line_dialog.gd", "res://addons/procedural_material/widgets/line_dialog.tscn", "res://addons/procedural_material/widgets/twitter.png", "res://addons/procedural_material/widgets/youtube.png", "res://addons/procedural_material/window_dialog.tscn", "res://icon.png" )
99
include_filter="*.json,res://addons/procedural_material/library/base/*.png"
1010
exclude_filter="*.ptex"
1111
patch_list=PoolStringArray( )

generated_image.png.import

-30
This file was deleted.

test/test.tscn

+59-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[gd_scene load_steps=8 format=2]
1+
[gd_scene load_steps=9 format=2]
22

33
[ext_resource path="res://test/suzanne.mesh" type="ArrayMesh" id=1]
44
[ext_resource path="res://addons/procedural_material/panoramas/park.hdr" type="Texture" id=2]
@@ -63,7 +63,58 @@ proximity_fade_enable = false
6363
distance_fade_enable = false
6464
_sections_unfolded = [ "Albedo", "Detail" ]
6565

66-
[sub_resource type="PrismMesh" id=3]
66+
[sub_resource type="SpatialMaterial" id=3]
67+
68+
render_priority = 0
69+
flags_transparent = false
70+
flags_unshaded = false
71+
flags_vertex_lighting = false
72+
flags_no_depth_test = false
73+
flags_use_point_size = false
74+
flags_world_triplanar = false
75+
flags_fixed_size = false
76+
flags_albedo_tex_force_srgb = false
77+
vertex_color_use_as_albedo = false
78+
vertex_color_is_srgb = false
79+
params_diffuse_mode = 0
80+
params_specular_mode = 0
81+
params_blend_mode = 0
82+
params_cull_mode = 0
83+
params_depth_draw_mode = 0
84+
params_line_width = 1.0
85+
params_point_size = 1.0
86+
params_billboard_mode = 0
87+
params_grow = false
88+
params_use_alpha_scissor = false
89+
albedo_color = Color( 1, 1, 1, 1 )
90+
metallic = 0.0
91+
metallic_specular = 0.5
92+
metallic_texture_channel = 0
93+
roughness = 0.0
94+
roughness_texture_channel = 0
95+
emission_enabled = false
96+
normal_enabled = false
97+
rim_enabled = false
98+
clearcoat_enabled = false
99+
anisotropy_enabled = false
100+
ao_enabled = false
101+
depth_enabled = false
102+
subsurf_scatter_enabled = false
103+
transmission_enabled = false
104+
refraction_enabled = false
105+
detail_enabled = false
106+
uv1_scale = Vector3( 1, 1, 1 )
107+
uv1_offset = Vector3( 0, 0, 0 )
108+
uv1_triplanar = false
109+
uv1_triplanar_sharpness = 1.0
110+
uv2_scale = Vector3( 1, 1, 1 )
111+
uv2_offset = Vector3( 0, 0, 0 )
112+
uv2_triplanar = false
113+
uv2_triplanar_sharpness = 1.0
114+
proximity_fade_enable = false
115+
distance_fade_enable = false
116+
117+
[sub_resource type="PrismMesh" id=4]
67118

68119
custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )
69120
left_to_right = 0.5
@@ -72,15 +123,15 @@ subdivide_width = 0
72123
subdivide_height = 0
73124
subdivide_depth = 0
74125

75-
[sub_resource type="PanoramaSky" id=4]
126+
[sub_resource type="PanoramaSky" id=5]
76127

77128
radiance_size = 4
78129
panorama = ExtResource( 2 )
79130

80-
[sub_resource type="Environment" id=5]
131+
[sub_resource type="Environment" id=6]
81132

82133
background_mode = 2
83-
background_sky = SubResource( 4 )
134+
background_sky = SubResource( 5 )
84135
background_sky_custom_fov = 0.0
85136
background_color = Color( 0, 0, 0, 1 )
86137
background_energy = 1.0
@@ -189,7 +240,7 @@ lod_max_distance = 0.0
189240
lod_max_hysteresis = 0.0
190241
mesh = ExtResource( 1 )
191242
skeleton = NodePath("..")
192-
material/0 = null
243+
material/0 = SubResource( 3 )
193244
_sections_unfolded = [ "material" ]
194245

195246
[node name="Prism" type="MeshInstance" parent="." index="2"]
@@ -204,14 +255,14 @@ lod_min_distance = 0.0
204255
lod_min_hysteresis = 0.0
205256
lod_max_distance = 0.0
206257
lod_max_hysteresis = 0.0
207-
mesh = SubResource( 3 )
258+
mesh = SubResource( 4 )
208259
skeleton = NodePath("..")
209260
material/0 = SubResource( 2 )
210261
_sections_unfolded = [ "material" ]
211262

212263
[node name="WorldEnvironment" type="WorldEnvironment" parent="." index="3"]
213264

214-
environment = SubResource( 5 )
265+
environment = SubResource( 6 )
215266

216267
[node name="DirectionalLight" type="DirectionalLight" parent="." index="4"]
217268

0 commit comments

Comments
 (0)