Added blur, transform node update, more blend types, UI fixes

* updated transform node (scale split into scale_x and scale_y, and added a repeat parameter)
* added blend modes (burn, dodge, lighten and darken)
* added a (very bad) blur node, based on generic convolution code
* rewrote normal_map node using convolution code
This commit is contained in:
Rodolphe Suescun 2018-08-09 22:19:27 +02:00
parent a9e7442acc
commit 7033bf4a6e
20 changed files with 577 additions and 89 deletions

View File

@ -118,7 +118,7 @@ vec3 blend_darken(vec2 uv, vec3 c1, vec3 c2, float opacity) {
return opacity*min(c1, c2) + (1.0-opacity)*c2; return opacity*min(c1, c2) + (1.0-opacity)*c2;
} }
vec2 transform(vec2 uv, vec2 translate, float rotate, float scale) { vec2 transform(vec2 uv, vec2 translate, float rotate, vec2 scale) {
vec2 rv; vec2 rv;
uv -= vec2(0.5); uv -= vec2(0.5);
rv.x = cos(rotate)*uv.x + sin(rotate)*uv.y; rv.x = cos(rotate)*uv.x + sin(rotate)*uv.y;
@ -129,6 +129,14 @@ vec2 transform(vec2 uv, vec2 translate, float rotate, float scale) {
return rv; return rv;
} }
vec2 transform_repeat(vec2 uv, vec2 translate, float rotate, vec2 scale) {
return fract(transform(uv, translate, rotate, scale));
}
vec2 transform_norepeat(vec2 uv, vec2 translate, float rotate, vec2 scale) {
return clamp(transform(uv, translate, rotate, scale), vec2(0.0), vec2(1.0));
}
vec3 bricks(vec2 uv, vec2 count, float offset, float mortar, float bevel) { vec3 bricks(vec2 uv, vec2 count, float offset, float mortar, float bevel) {
mortar /= max(count.x, count.y); mortar /= max(count.x, count.y);
bevel /= max(count.x, count.y); bevel /= max(count.x, count.y);

View File

@ -2,6 +2,7 @@ tool
extends GraphEdit extends GraphEdit
var save_path = null var save_path = null
var need_save = false
signal save_path_changed signal save_path_changed
signal graph_changed signal graph_changed
@ -45,7 +46,16 @@ func update_tab_title():
var title = "[unnamed]" var title = "[unnamed]"
if save_path != null: if save_path != null:
title = save_path.right(save_path.rfind("/")+1) title = save_path.right(save_path.rfind("/")+1)
if need_save:
title += " *"
get_parent().set_tab_title(get_index(), title) get_parent().set_tab_title(get_index(), title)
get_parent().update()
func set_need_save(ns):
if ns != need_save:
need_save = ns
if get_parent() is TabContainer:
update_tab_title()
func set_save_path(path): func set_save_path(path):
if path != save_path: if path != save_path:
@ -111,6 +121,7 @@ func do_load_file(filename):
connect_node(c.from, c.from_port, c.to, c.to_port) connect_node(c.from, c.from_port, c.to, c.to_port)
set_save_path(filename) set_save_path(filename)
send_changed_signal() send_changed_signal()
set_need_save(false)
func save_file(): func save_file():
if save_path != null: if save_path != null:
@ -139,6 +150,7 @@ func do_save_file(filename):
file.store_string(to_json(data)) file.store_string(to_json(data))
file.close() file.close()
set_save_path(filename) set_save_path(filename)
set_need_save(false)
func export_textures(size = 512): func export_textures(size = 512):
if save_path != null: if save_path != null:
@ -146,7 +158,7 @@ func export_textures(size = 512):
$GraphEdit/Material.export_textures(prefix) $GraphEdit/Material.export_textures(prefix)
func send_changed_signal(): func send_changed_signal():
$Timer.stop() set_need_save(true)
$Timer.start() $Timer.start()
func do_send_changed_signal(): func do_send_changed_signal():

View File

@ -57,11 +57,22 @@
"amount":0.5, "amount":0.5,
"blend_type":0 "blend_type":0
}, },
{
"tree_item":"Filters/Blur",
"type":"blur",
"sigma":1.0
},
{
"tree_item":"Filters/Normal map",
"type":"normal_map",
"amount":0.5
},
{ {
"tree_item":"Filters/Transform", "tree_item":"Filters/Transform",
"type":"transform", "type":"transform",
"rotate":0, "rotate":0,
"scale":1, "scale_x":1,
"scale_y":1,
"translate_x":0, "translate_x":0,
"translate_y":0 "translate_y":0
}, },
@ -69,10 +80,5 @@
"tree_item":"Filters/Warp", "tree_item":"Filters/Warp",
"type":"warp", "type":"warp",
"amount":0.5 "amount":0.5
},
{
"tree_item":"Filters/Normal map",
"type":"normal_map",
"amount":0.5
} }
]} ]}

View File

@ -23,6 +23,7 @@ const MENU = [
func _ready(): func _ready():
for m in $VBoxContainer/Menu.get_children(): for m in $VBoxContainer/Menu.get_children():
create_menu(m.get_popup(), m.name) create_menu(m.get_popup(), m.name)
new_material()
func create_menu(menu, menu_name): func create_menu(menu, menu_name):
menu.connect("id_pressed", self, "_on_PopupMenu_id_pressed") menu.connect("id_pressed", self, "_on_PopupMenu_id_pressed")
@ -72,7 +73,18 @@ func load_material():
dialog.popup_centered() dialog.popup_centered()
func do_load_material(filename): func do_load_material(filename):
var graph_edit = new_pane() var graph_edit = $VBoxContainer/HBoxContainer/Projects.get_current_tab_control()
var node_count = 0
if graph_edit == null:
node_count = 123 # So test below succeeds...
else:
for c in graph_edit.get_children():
if c is GraphNode:
node_count += 1
if node_count > 1:
break
if node_count > 1:
graph_edit = new_pane()
graph_edit.do_load_file(filename) graph_edit.do_load_file(filename)
func save_material(): func save_material():

View File

@ -34,6 +34,9 @@ func initialize_properties(object_list):
elif o is OptionButton: elif o is OptionButton:
set(o.name, o.selected) set(o.name, o.selected)
o.connect("item_selected", self, "_on_value_changed", [ o.name ]) o.connect("item_selected", self, "_on_value_changed", [ o.name ])
elif o is CheckBox:
set(o.name, o.pressed)
o.connect("toggled", self, "_on_value_changed", [ o.name ])
elif o is ColorPickerButton: elif o is ColorPickerButton:
set(o.name, o.color) set(o.name, o.color)
o.connect("color_changed", self, "_on_color_changed", [ o.name ]) o.connect("color_changed", self, "_on_color_changed", [ o.name ])
@ -49,6 +52,8 @@ func update_property_widgets():
o.value = get(o.name) o.value = get(o.name)
elif o is OptionButton: elif o is OptionButton:
o.selected = get(o.name) o.selected = get(o.name)
elif o is CheckBox:
o.pressed = get(o.name)
elif o is ColorPickerButton: elif o is ColorPickerButton:
o.color = get(o.name) o.color = get(o.name)
@ -99,6 +104,10 @@ func get_source_rgb(source):
rv = "***error***" rv = "***error***"
return rv return rv
func reset():
generated = false
generated_variants = []
func get_shader_code(uv, slot = 0): func get_shader_code(uv, slot = 0):
var rv var rv
if slot == 0: if slot == 0:
@ -147,8 +156,7 @@ func generate_shader(slot = 0):
code += "\n" code += "\n"
for c in get_parent().get_children(): for c in get_parent().get_children():
if c is GraphNode: if c is GraphNode:
c.generated = false c.reset()
c.generated_variants = []
var src_code = get_shader_code("UV", slot) var src_code = get_shader_code("UV", slot)
var shader_code = src_code.defs var shader_code = src_code.defs
shader_code += "void fragment() {\n" shader_code += "void fragment() {\n"
@ -178,3 +186,56 @@ func deserialize(data):
var value = deserialize_element(data[variable]) var value = deserialize_element(data[variable])
set(variable, value) set(variable, value)
update_property_widgets() update_property_widgets()
# Generic code for convolution nodes
func get_shader_code_convolution(convolution, uv):
var rv = { defs="", code="" }
var src = get_source()
if src == null:
return rv
var variant_index = generated_variants.find(uv)
var need_defs = false
if generated_variants.empty():
need_defs = true
if variant_index == -1:
variant_index = generated_variants.size()
generated_variants.append(uv)
var inputs_code = ""
var code = "vec3 %s_%d_rgb = " % [ name, variant_index ]
if convolution.has("translate"):
code += "vec3(%.9f, %.9f, %.9f)+" % [ convolution.translate.x, convolution.translate.y, convolution.translate.z ]
if convolution.has("scale"):
code += "%.9f*" % [ convolution.scale ]
if convolution.has("normalize") and convolution.normalize:
code += "normalize"
code += "("
if convolution.has("translate_before_normalize"):
code += "vec3(%.9f, %.9f, %.9f)+" % [ convolution.translate_before_normalize.x, convolution.translate_before_normalize.y, convolution.translate_before_normalize.z ]
if convolution.has("scale_before_normalize"):
code += "%.9f*" % [ convolution.scale_before_normalize ]
code += "("
var first = true
for dy in range(-2, 3):
for dx in range(-2, 3):
var i = 5*(dy+2)+dx+2
var coef = convolution.kernel[i]
if typeof(coef) == TYPE_REAL:
coef = Vector3(coef, coef, coef)
if typeof(coef) != TYPE_VECTOR3 or coef == Vector3(0, 0, 0):
continue
var src_code = src.get_shader_code(uv+"+vec2(%.9f, %.9f)" % [ dx*convolution.epsilon, dy*convolution.epsilon ])
if need_defs:
rv.defs = src_code.defs
need_defs = false
inputs_code += src_code.code
if !first:
code += "+"
else:
first = false
code += "vec3(%.9f, %.9f, %.9f)*(%s)"% [ coef.x, coef.y, coef.z, src_code.rgb ]
code += "));"
rv.code += inputs_code + code
rv.rgb = name+"_"+str(variant_index)+"_rgb"
return rv

View File

@ -11,7 +11,11 @@ const BLEND_TYPES = [
{ name="Screen", shortname="screen" }, { name="Screen", shortname="screen" },
{ name="Overlay", shortname="overlay" }, { name="Overlay", shortname="overlay" },
{ name="Hard Light", shortname="hard_light" }, { name="Hard Light", shortname="hard_light" },
{ name="Soft Light", shortname="soft_light" } { name="Soft Light", shortname="soft_light" },
{ name="Burn", shortname="burn" },
{ name="Dodge", shortname="dodge" },
{ name="Lighten", shortname="lighten" },
{ name="Darken", shortname="darken" }
] ]
func _ready(): func _ready():

View File

@ -5,7 +5,7 @@
[sub_resource type="Theme" id=1] [sub_resource type="Theme" id=1]
[node name="Blend" type="GraphNode"] [node name="Blend" type="GraphNode" index="0"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0

View File

@ -0,0 +1,29 @@
tool
extends "res://addons/procedural_material/node_base.gd"
var sigma = 1.0
var epsilon = 0.005
func _ready():
initialize_properties([ $HBoxContainer1/sigma, $HBoxContainer2/epsilon ])
func _get_shader_code(uv):
var convolution = {
kernel=[
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0
],
epsilon=epsilon
}
var sum = 0
for x in range(-2, 3):
for y in range(-2, 3):
var coef = exp(-0.5*(pow((x-2)/sigma, 2.0) + pow((y-2)/sigma, 2.0))) / (2.0*PI*sigma*sigma)
convolution.kernel[x+2+5*(y+2)] = coef
sum += coef
for i in range(25):
convolution.kernel[i] /= sum
return get_shader_code_convolution(convolution, uv)

View File

@ -0,0 +1,179 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://addons/procedural_material/nodes/blur.gd" type="Script" id=1]
[sub_resource type="Theme" id=1]
[node name="Blur" type="GraphNode" index="0"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 1.0
margin_top = 1.0
margin_right = 153.0
margin_bottom = 79.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 1
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 1
theme = SubResource( 1 )
title = "Blur"
offset = Vector2( 0, 0 )
show_close = true
resizable = false
selected = false
comment = false
overlay = 0
slot/0/left_enabled = true
slot/0/left_type = 0
slot/0/left_color = Color( 0.5, 0.5, 1, 1 )
slot/0/right_enabled = true
slot/0/right_type = 0
slot/0/right_color = Color( 0.5, 0.5, 1, 1 )
slot/1/left_enabled = false
slot/1/left_type = 0
slot/1/left_color = Color( 1, 1, 1, 1 )
slot/1/right_enabled = false
slot/1/right_type = 0
slot/1/right_color = Color( 1, 1, 1, 1 )
script = ExtResource( 1 )
_sections_unfolded = [ "Size Flags", "Theme", "slot" ]
[node name="HBoxContainer1" type="HBoxContainer" parent="." index="0"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 16.0
margin_top = 24.0
margin_right = 136.0
margin_bottom = 48.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 1
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 1
alignment = 0
[node name="Label" type="Label" parent="HBoxContainer1" index="0"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 42.0
margin_bottom = 19.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 2
mouse_default_cursor_shape = 0
size_flags_horizontal = 3
size_flags_vertical = 4
text = "Sigma:"
percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1
_sections_unfolded = [ "Size Flags" ]
[node name="sigma" type="SpinBox" parent="HBoxContainer1" index="1"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 46.0
margin_right = 120.0
margin_bottom = 24.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 0
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 1
min_value = 0.05
max_value = 5.0
step = 0.05
page = 0.0
value = 1.0
exp_edit = false
rounded = false
editable = true
prefix = ""
suffix = ""
_sections_unfolded = [ "Caret", "Placeholder" ]
[node name="HBoxContainer2" type="HBoxContainer" parent="." index="1"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 16.0
margin_top = 48.0
margin_right = 136.0
margin_bottom = 72.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 1
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 1
alignment = 0
[node name="Label" type="Label" parent="HBoxContainer2" index="0"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 42.0
margin_bottom = 19.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 2
mouse_default_cursor_shape = 0
size_flags_horizontal = 3
size_flags_vertical = 4
text = "Grid:"
percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1
_sections_unfolded = [ "Size Flags" ]
[node name="epsilon" type="SpinBox" parent="HBoxContainer2" index="1"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 46.0
margin_right = 120.0
margin_bottom = 24.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 0
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 1
min_value = 0.001
max_value = 0.01
step = 0.001
page = 0.0
value = 0.005
exp_edit = false
rounded = false
editable = true
prefix = ""
suffix = ""
_sections_unfolded = [ "Caret", "Placeholder" ]

View File

@ -3,32 +3,26 @@ extends "res://addons/procedural_material/node_base.gd"
var amount = 0.0 var amount = 0.0
const CONVOLUTION = {
kernel=[
0, 0, 0, 0, 0,
0, Vector3(-1, -1, 0), Vector3(0, -2, 0), Vector3(1, -1, 0), 0,
0, Vector3(-2, 0, 0), 0, Vector3(2, 0, 0), 0,
0, Vector3(-1, 1, 0), Vector3(0, 2, 0), Vector3(1, 1, 0), 0,
0, 0, 0, 0, 0
],
epsilon=0.005,
normalize=true,
translate_before_normalize=Vector3(0.0, 0.0, -1.0),
scale_before_normalize=0.5,
translate=Vector3(0.5, 0.5, 0.5),
scale=0.5
}
func _ready(): func _ready():
set_slot(0, true, 0, Color(0.5, 0.5, 1), true, 0, Color(0.5, 0.5, 1))
set_slot(1, true, 0, Color(0.5, 0.5, 1), false, 0, Color(0.5, 0.5, 1))
initialize_properties([ $amount ]) initialize_properties([ $amount ])
func _get_shader_code(uv): func _get_shader_code(uv):
var rv = { defs="", code="" } var convolution = CONVOLUTION
var src = get_source() convolution.scale_before_normalize = amount
if src == null: return get_shader_code_convolution(convolution, uv)
return rv
var variant_index = generated_variants.find(uv)
if variant_index == -1:
var epsilon = 0.005
variant_index = generated_variants.size()
generated_variants.append(uv)
var src_code_tl = src.get_shader_code(uv+"+vec2(-%.9f, -%.9f)" % [ epsilon, epsilon ])
var src_code_l = src.get_shader_code(uv+"+vec2(-%.9f, 0.0)" % [ epsilon, ])
var src_code_bl = src.get_shader_code(uv+"+vec2(-%.9f, %.9f)" % [ epsilon, epsilon ])
var src_code_tr = src.get_shader_code(uv+"+vec2(%.9f, -%.9f)" % [ epsilon, epsilon ])
var src_code_r = src.get_shader_code(uv+"+vec2(%.9f, 0.0)" % [ epsilon ])
var src_code_br = src.get_shader_code(uv+"+vec2(%.9f, %.9f)" % [ epsilon, epsilon ])
var src_code_t = src.get_shader_code(uv+"+vec2(0.0, -%.9f)" % [ epsilon ])
var src_code_b = src.get_shader_code(uv+"+vec2(0.0, %.9f)" % [ epsilon ])
rv.defs = src_code_tl.defs
rv.code = src_code_tl.code+src_code_l.code+src_code_bl.code+src_code_tr.code
rv.code += src_code_r.code+src_code_br.code+src_code_t.code+src_code_b.code
rv.code += "vec3 %s_%d_rgb = vec3(0.5, 0.5, 0.5) + 0.5*normalize(%.9f*vec3(%s+2.0*%s+%s-%s-2.0*%s-%s, %s+2.0*%s+%s-%s-2.0*%s-%s, 0.0) + vec3(0.0, 0.0, -1.0));\n" % [ name, variant_index, amount, src_code_tr.f, src_code_r.f, src_code_br.f, src_code_tl.f, src_code_l.f, src_code_bl.f, src_code_bl.f, src_code_b.f, src_code_br.f, src_code_tl.f, src_code_t.f, src_code_tr.f ]
rv.rgb = name+"_"+str(variant_index)+"_rgb"
return rv

View File

@ -5,7 +5,7 @@
[sub_resource type="Theme" id=1] [sub_resource type="Theme" id=1]
[node name="NormalMap" type="GraphNode"] [node name="NormalMap" type="GraphNode" index="0"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
@ -36,7 +36,7 @@ slot/0/right_enabled = true
slot/0/right_type = 0 slot/0/right_type = 0
slot/0/right_color = Color( 0.5, 0.5, 1, 1 ) slot/0/right_color = Color( 0.5, 0.5, 1, 1 )
script = ExtResource( 1 ) script = ExtResource( 1 )
_sections_unfolded = [ "Theme" ] _sections_unfolded = [ "Theme", "slot", "slot/0" ]
[node name="amount" type="SpinBox" parent="." index="0"] [node name="amount" type="SpinBox" parent="." index="0"]

View File

@ -4,11 +4,13 @@ extends "res://addons/procedural_material/node_base.gd"
var translate_x = 0.0 var translate_x = 0.0
var translate_y = 0.0 var translate_y = 0.0
var rotate = 0.0 var rotate = 0.0
var scale = 0.0 var scale_x = 1.0
var scale_y = 1.0
var repeat = true
func _ready(): func _ready():
set_slot(0, true, 0, Color(0.5, 0.5, 1), true, 0, Color(0.5, 0.5, 1)) set_slot(0, true, 0, Color(0.5, 0.5, 1), true, 0, Color(0.5, 0.5, 1))
initialize_properties([ $GridContainer/translate_x, $GridContainer/translate_y, $GridContainer/rotate, $GridContainer/scale ]) initialize_properties([ $HBoxContainer1/translate_x, $HBoxContainer2/translate_y, $HBoxContainer3/rotate, $HBoxContainer4/scale_x, $HBoxContainer5/scale_y, $repeat ])
func _get_shader_code(uv): func _get_shader_code(uv):
var rv = { defs="", code="" } var rv = { defs="", code="" }
@ -18,7 +20,7 @@ func _get_shader_code(uv):
rv.uv = name+"_uv("+uv+")" rv.uv = name+"_uv("+uv+")"
var src_code = src.get_shader_code(rv.uv) var src_code = src.get_shader_code(rv.uv)
if !generated: if !generated:
rv.defs = src_code.defs+"vec2 "+name+"_uv(vec2 uv) { return transform(uv, vec2(%.9f, %.9f), %.9f, %.9f); }\n" % [ translate_x, translate_y, 3.1415928*rotate/180.0, scale ] rv.defs = src_code.defs+"vec2 "+name+"_uv(vec2 uv) { return %s(uv, vec2(%.9f, %.9f), %.9f, vec2(%.9f, %.9f)); }\n" % [ "transform_repeat" if repeat else "transform_norepeat", translate_x, translate_y, PI*rotate/180.0, scale_x, scale_y ]
generated = true generated = true
rv.code = src_code.code; rv.code = src_code.code;
if src_code.has("f"): if src_code.has("f"):
@ -26,3 +28,9 @@ func _get_shader_code(uv):
if src_code.has("rgb"): if src_code.has("rgb"):
rv.rgb = src_code.rgb rv.rgb = src_code.rgb
return rv return rv
func deserialize(data):
if data.has("scale"):
scale_x = data.scale
scale_y = data.scale
.deserialize(data)

View File

@ -13,8 +13,8 @@ anchor_right = 0.0
anchor_bottom = 0.0 anchor_bottom = 0.0
margin_left = 1.0 margin_left = 1.0
margin_top = 1.0 margin_top = 1.0
margin_right = 110.0 margin_right = 185.0
margin_bottom = 54.0 margin_bottom = 179.0
rect_pivot_offset = Vector2( 0, 0 ) rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 1 mouse_filter = 1
@ -35,10 +35,40 @@ slot/0/left_color = Color( 0.5, 0.5, 1, 1 )
slot/0/right_enabled = true slot/0/right_enabled = true
slot/0/right_type = 0 slot/0/right_type = 0
slot/0/right_color = Color( 0.5, 0.5, 1, 1 ) slot/0/right_color = Color( 0.5, 0.5, 1, 1 )
slot/1/left_enabled = false
slot/1/left_type = 0
slot/1/left_color = Color( 1, 1, 1, 1 )
slot/1/right_enabled = false
slot/1/right_type = 0
slot/1/right_color = Color( 1, 1, 1, 1 )
slot/2/left_enabled = false
slot/2/left_type = 0
slot/2/left_color = Color( 1, 1, 1, 1 )
slot/2/right_enabled = false
slot/2/right_type = 0
slot/2/right_color = Color( 1, 1, 1, 1 )
slot/3/left_enabled = false
slot/3/left_type = 0
slot/3/left_color = Color( 1, 1, 1, 1 )
slot/3/right_enabled = false
slot/3/right_type = 0
slot/3/right_color = Color( 1, 1, 1, 1 )
slot/4/left_enabled = false
slot/4/left_type = 0
slot/4/left_color = Color( 1, 1, 1, 1 )
slot/4/right_enabled = false
slot/4/right_type = 0
slot/4/right_color = Color( 1, 1, 1, 1 )
slot/5/left_enabled = false
slot/5/left_type = 0
slot/5/left_color = Color( 1, 1, 1, 1 )
slot/5/right_enabled = false
slot/5/right_type = 0
slot/5/right_color = Color( 1, 1, 1, 1 )
script = ExtResource( 1 ) script = ExtResource( 1 )
_sections_unfolded = [ "Theme" ] _sections_unfolded = [ "Theme" ]
[node name="GridContainer" type="GridContainer" parent="." index="0"] [node name="HBoxContainer1" type="HBoxContainer" parent="." index="0"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
@ -47,16 +77,16 @@ anchor_bottom = 0.0
margin_left = 16.0 margin_left = 16.0
margin_top = 24.0 margin_top = 24.0
margin_right = 168.0 margin_right = 168.0
margin_bottom = 132.0 margin_bottom = 48.0
rect_pivot_offset = Vector2( 0, 0 ) rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 1 mouse_filter = 1
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 1
size_flags_vertical = 1 size_flags_vertical = 1
columns = 2 alignment = 0
[node name="Label1" type="Label" parent="GridContainer" index="0"] [node name="Label" type="Label" parent="HBoxContainer1" index="0"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
@ -69,14 +99,14 @@ rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 2 mouse_filter = 2
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 3
size_flags_vertical = 4 size_flags_vertical = 4
text = "Translate X:" text = "Translate X:"
percent_visible = 1.0 percent_visible = 1.0
lines_skipped = 0 lines_skipped = 0
max_lines_visible = -1 max_lines_visible = -1
[node name="translate_x" type="SpinBox" parent="GridContainer" index="1"] [node name="translate_x" type="SpinBox" parent="HBoxContainer1" index="1"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
@ -89,8 +119,8 @@ rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 0 mouse_filter = 0
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 0
size_flags_vertical = 1 size_flags_vertical = 4
min_value = -1.0 min_value = -1.0
max_value = 1.0 max_value = 1.0
step = 0.05 step = 0.05
@ -101,44 +131,61 @@ rounded = false
editable = true editable = true
prefix = "" prefix = ""
suffix = "" suffix = ""
_sections_unfolded = [ "Caret", "Placeholder" ] _sections_unfolded = [ "Caret", "Placeholder", "Rect" ]
[node name="Label2" type="Label" parent="GridContainer" index="2"] [node name="HBoxContainer2" type="HBoxContainer" parent="." index="1"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
anchor_right = 0.0 anchor_right = 0.0
anchor_bottom = 0.0 anchor_bottom = 0.0
margin_top = 33.0 margin_left = 16.0
margin_top = 48.0
margin_right = 168.0
margin_bottom = 72.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 1
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 1
alignment = 0
[node name="Label" type="Label" parent="HBoxContainer2" index="0"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 74.0 margin_right = 74.0
margin_bottom = 47.0 margin_bottom = 19.0
rect_pivot_offset = Vector2( 0, 0 ) rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 2 mouse_filter = 2
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 3
size_flags_vertical = 4 size_flags_vertical = 4
text = "Translate Y:" text = "Translate Y:"
percent_visible = 1.0 percent_visible = 1.0
lines_skipped = 0 lines_skipped = 0
max_lines_visible = -1 max_lines_visible = -1
[node name="translate_y" type="SpinBox" parent="GridContainer" index="3"] [node name="translate_y" type="SpinBox" parent="HBoxContainer2" index="1"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
anchor_right = 0.0 anchor_right = 0.0
anchor_bottom = 0.0 anchor_bottom = 0.0
margin_left = 78.0 margin_left = 78.0
margin_top = 28.0
margin_right = 152.0 margin_right = 152.0
margin_bottom = 52.0 margin_bottom = 24.0
rect_pivot_offset = Vector2( 0, 0 ) rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 0 mouse_filter = 0
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 0
size_flags_vertical = 1 size_flags_vertical = 4
min_value = -1.0 min_value = -1.0
max_value = 1.0 max_value = 1.0
step = 0.05 step = 0.05
@ -151,42 +198,60 @@ prefix = ""
suffix = "" suffix = ""
_sections_unfolded = [ "Caret", "Placeholder" ] _sections_unfolded = [ "Caret", "Placeholder" ]
[node name="Label3" type="Label" parent="GridContainer" index="4"] [node name="HBoxContainer3" type="HBoxContainer" parent="." index="2"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
anchor_right = 0.0 anchor_right = 0.0
anchor_bottom = 0.0 anchor_bottom = 0.0
margin_top = 61.0 margin_left = 16.0
margin_top = 73.0
margin_right = 168.0
margin_bottom = 97.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 1
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 1
alignment = 0
[node name="Label" type="Label" parent="HBoxContainer3" index="0"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 74.0 margin_right = 74.0
margin_bottom = 75.0 margin_bottom = 19.0
rect_pivot_offset = Vector2( 0, 0 ) rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 2 mouse_filter = 2
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 3
size_flags_vertical = 4 size_flags_vertical = 4
text = "Rotate:" text = "Rotate:"
percent_visible = 1.0 percent_visible = 1.0
lines_skipped = 0 lines_skipped = 0
max_lines_visible = -1 max_lines_visible = -1
_sections_unfolded = [ "Size Flags" ]
[node name="rotate" type="SpinBox" parent="GridContainer" index="5"] [node name="rotate" type="SpinBox" parent="HBoxContainer3" index="1"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
anchor_right = 0.0 anchor_right = 0.0
anchor_bottom = 0.0 anchor_bottom = 0.0
margin_left = 78.0 margin_left = 78.0
margin_top = 56.0
margin_right = 152.0 margin_right = 152.0
margin_bottom = 80.0 margin_bottom = 24.0
rect_pivot_offset = Vector2( 0, 0 ) rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 0 mouse_filter = 0
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 0
size_flags_vertical = 1 size_flags_vertical = 4
min_value = 0.0 min_value = 0.0
max_value = 360.0 max_value = 360.0
step = 5.0 step = 5.0
@ -197,44 +262,62 @@ rounded = false
editable = true editable = true
prefix = "" prefix = ""
suffix = "" suffix = ""
_sections_unfolded = [ "Caret", "Placeholder" ] _sections_unfolded = [ "Caret", "Placeholder", "Size Flags" ]
[node name="Label4" type="Label" parent="GridContainer" index="6"] [node name="HBoxContainer4" type="HBoxContainer" parent="." index="3"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
anchor_right = 0.0 anchor_right = 0.0
anchor_bottom = 0.0 anchor_bottom = 0.0
margin_top = 89.0 margin_left = 16.0
margin_top = 98.0
margin_right = 168.0
margin_bottom = 122.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 1
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 1
alignment = 0
[node name="Label" type="Label" parent="HBoxContainer4" index="0"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 74.0 margin_right = 74.0
margin_bottom = 103.0 margin_bottom = 19.0
rect_pivot_offset = Vector2( 0, 0 ) rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 2 mouse_filter = 2
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 3
size_flags_vertical = 4 size_flags_vertical = 4
text = "Scale:" text = "Scale X:"
percent_visible = 1.0 percent_visible = 1.0
lines_skipped = 0 lines_skipped = 0
max_lines_visible = -1 max_lines_visible = -1
_sections_unfolded = [ "Size Flags" ]
[node name="scale" type="SpinBox" parent="GridContainer" index="7"] [node name="scale_x" type="SpinBox" parent="HBoxContainer4" index="1"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
anchor_right = 0.0 anchor_right = 0.0
anchor_bottom = 0.0 anchor_bottom = 0.0
margin_left = 78.0 margin_left = 78.0
margin_top = 84.0
margin_right = 152.0 margin_right = 152.0
margin_bottom = 108.0 margin_bottom = 24.0
rect_pivot_offset = Vector2( 0, 0 ) rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 0 mouse_filter = 0
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 0
size_flags_vertical = 1 size_flags_vertical = 4
min_value = 0.05 min_value = 0.05
max_value = 50.0 max_value = 50.0
step = 0.05 step = 0.05
@ -247,4 +330,96 @@ prefix = ""
suffix = "" suffix = ""
_sections_unfolded = [ "Caret", "Placeholder" ] _sections_unfolded = [ "Caret", "Placeholder" ]
[node name="HBoxContainer5" type="HBoxContainer" parent="." index="4"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 16.0
margin_top = 123.0
margin_right = 168.0
margin_bottom = 147.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 1
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 1
alignment = 0
[node name="Label" type="Label" parent="HBoxContainer5" index="0"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 74.0
margin_bottom = 19.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 2
mouse_default_cursor_shape = 0
size_flags_horizontal = 3
size_flags_vertical = 4
text = "Scale Y:"
percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1
_sections_unfolded = [ "Size Flags" ]
[node name="scale_y" type="SpinBox" parent="HBoxContainer5" index="1"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 78.0
margin_right = 152.0
margin_bottom = 24.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
mouse_filter = 0
mouse_default_cursor_shape = 0
size_flags_horizontal = 0
size_flags_vertical = 4
min_value = 0.05
max_value = 50.0
step = 0.05
page = 0.0
value = 1.0
exp_edit = false
rounded = false
editable = true
prefix = ""
suffix = ""
_sections_unfolded = [ "Caret", "Placeholder" ]
[node name="repeat" type="CheckBox" parent="." index="5"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 16.0
margin_top = 148.0
margin_right = 168.0
margin_bottom = 172.0
rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false
focus_mode = 2
mouse_filter = 0
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 1
toggle_mode = true
pressed = true
enabled_focus_mode = 2
shortcut = null
group = null
text = "Repeat"
flat = false
align = 0

View File

@ -5,7 +5,7 @@
[sub_resource type="Theme" id=1] [sub_resource type="Theme" id=1]
[node name="Uniform" type="GraphNode" index="0"] [node name="Uniform" type="GraphNode"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0

View File

@ -1 +1 @@
{"connections":[{"from":"Perlin","from_port":0,"to":"Warp","to_port":1},{"from":"Warp","from_port":0,"to":"colorize_2","to_port":0},{"from":"colorize_2","from_port":0,"to":"blend_0","to_port":2},{"from":"colorize_1","from_port":0,"to":"blend_0","to_port":0},{"from":"colorize_0","from_port":0,"to":"blend_0","to_port":1},{"from":"blend_0","from_port":0,"to":"Material","to_port":0},{"from":"normal_map_0","from_port":0,"to":"Material","to_port":4},{"from":"colorize_2","from_port":0,"to":"colorize_4","to_port":0},{"from":"colorize_4","from_port":0,"to":"Material","to_port":2},{"from":"Bricks","from_port":0,"to":"Warp","to_port":0},{"from":"blend_1","from_port":0,"to":"colorize_1","to_port":0},{"from":"Bricks","from_port":1,"to":"blend_1","to_port":1},{"from":"Warp","from_port":0,"to":"blend_2","to_port":0},{"from":"Perlin","from_port":0,"to":"blend_2","to_port":1},{"from":"blend_2","from_port":0,"to":"colorize_3","to_port":0},{"from":"blend_2","from_port":0,"to":"colorize_6","to_port":0},{"from":"colorize_6","from_port":0,"to":"normal_map_0","to_port":0},{"from":"Perlin","from_port":0,"to":"blend_1","to_port":0},{"from":"Perlin","from_port":0,"to":"colorize_0","to_port":0},{"from":"colorize_3","from_port":0,"to":"Material","to_port":5},{"from":"uniform_0","from_port":0,"to":"Material","to_port":1}],"nodes":[{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":1,"r":1}],"name":"colorize_0","node_position":{"x":560.943665,"y":50},"type":"colorize"},{"gradient":[{"b":0.0016,"g":0.0016,"pos":0,"r":0.307292},{"b":0,"g":0.180135,"pos":0.2,"r":0.606771},{"b":0,"g":0,"pos":0.345455,"r":0.3125},{"b":0,"g":0.19869,"pos":0.545455,"r":0.669271},{"b":0.019368,"g":0.060224,"pos":0.736364,"r":0.309896},{"b":0,"g":0.180135,"pos":1,"r":0.606771}],"name":"colorize_1","node_position":{"x":562.943665,"y":-65},"type":"colorize"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":0.1,"r":1}],"name":"colorize_2","node_position":{"x":535.943665,"y":163},"type":"colorize"},{"amount":0.5,"blend_type":6,"name":"blend_1","node_position":{"x":350,"y":244},"type":"blend"},{"bevel":0.2,"columns":3,"mortar":0.05,"name":"Bricks","node_position":{"x":118,"y":-22},"row_offset":0.5,"rows":6,"type":"bricks"},{"amount":0.04,"name":"Warp","node_position":{"x":384,"y":10.75},"type":"warp"},{"name":"Material","node_position":{"x":1081,"y":208},"type":"material"},{"gradient":[{"b":1,"g":1,"pos":0,"r":1},{"b":0,"g":0,"pos":1,"r":0}],"name":"colorize_6","node_position":{"x":743,"y":291},"type":"colorize"},{"amount":0.5,"blend_type":0,"name":"blend_2","node_position":{"x":536,"y":331},"type":"blend"},{"gradient":[{"b":1,"g":1,"pos":0,"r":1},{"b":0.463542,"g":0.463542,"pos":1,"r":0.463542}],"name":"colorize_4","node_position":{"x":708,"y":224},"type":"colorize"},{"iterations":6,"name":"Perlin","node_position":{"x":107,"y":170},"persistence":0.85,"scale_x":4,"scale_y":4,"type":"perlin"},{"amount":0.5,"blend_type":0,"name":"blend_0","node_position":{"x":836.943726,"y":-71},"type":"blend"},{"gradient":[{"b":0.289063,"g":0.289063,"pos":0,"r":0.289063},{"b":0,"g":0,"pos":1,"r":0}],"name":"colorize_3","node_position":{"x":774,"y":400},"type":"colorize"},{"color":{"a":1,"b":0,"g":0,"r":0,"type":"Color"},"name":"uniform_0","node_position":{"x":892,"y":179},"type":"uniform"},{"amount":0.5,"name":"normal_map_0","node_position":{"x":913,"y":278},"type":"normal_map"}]} {"connections":[{"from":"Perlin","from_port":0,"to":"Warp","to_port":1},{"from":"Warp","from_port":0,"to":"colorize_2","to_port":0},{"from":"colorize_2","from_port":0,"to":"blend_0","to_port":2},{"from":"colorize_1","from_port":0,"to":"blend_0","to_port":0},{"from":"colorize_0","from_port":0,"to":"blend_0","to_port":1},{"from":"blend_0","from_port":0,"to":"Material","to_port":0},{"from":"normal_map_0","from_port":0,"to":"Material","to_port":4},{"from":"colorize_2","from_port":0,"to":"colorize_4","to_port":0},{"from":"colorize_4","from_port":0,"to":"Material","to_port":2},{"from":"Bricks","from_port":0,"to":"Warp","to_port":0},{"from":"blend_1","from_port":0,"to":"colorize_1","to_port":0},{"from":"Bricks","from_port":1,"to":"blend_1","to_port":1},{"from":"Warp","from_port":0,"to":"blend_2","to_port":0},{"from":"Perlin","from_port":0,"to":"blend_2","to_port":1},{"from":"blend_2","from_port":0,"to":"colorize_3","to_port":0},{"from":"blend_2","from_port":0,"to":"colorize_6","to_port":0},{"from":"colorize_6","from_port":0,"to":"normal_map_0","to_port":0},{"from":"Perlin","from_port":0,"to":"blend_1","to_port":0},{"from":"Perlin","from_port":0,"to":"colorize_0","to_port":0},{"from":"colorize_3","from_port":0,"to":"Material","to_port":5},{"from":"uniform_0","from_port":0,"to":"Material","to_port":1}],"nodes":[{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":1,"r":1}],"name":"colorize_0","node_position":{"x":560.943665,"y":50},"type":"colorize"},{"gradient":[{"b":0.0016,"g":0.0016,"pos":0,"r":0.307292},{"b":0,"g":0.180135,"pos":0.2,"r":0.606771},{"b":0,"g":0,"pos":0.345455,"r":0.3125},{"b":0,"g":0.19869,"pos":0.545455,"r":0.669271},{"b":0.019368,"g":0.060224,"pos":0.736364,"r":0.309896},{"b":0,"g":0.180135,"pos":1,"r":0.606771}],"name":"colorize_1","node_position":{"x":562.943665,"y":-65},"type":"colorize"},{"bevel":0.2,"columns":3,"mortar":0.05,"name":"Bricks","node_position":{"x":118,"y":-22},"row_offset":0.5,"rows":6,"type":"bricks"},{"amount":0.04,"name":"Warp","node_position":{"x":384,"y":10.75},"type":"warp"},{"name":"Material","node_position":{"x":1081,"y":208},"type":"material"},{"gradient":[{"b":1,"g":1,"pos":0,"r":1},{"b":0,"g":0,"pos":1,"r":0}],"name":"colorize_6","node_position":{"x":743,"y":291},"type":"colorize"},{"amount":0.5,"blend_type":0,"name":"blend_2","node_position":{"x":536,"y":331},"type":"blend"},{"gradient":[{"b":1,"g":1,"pos":0,"r":1},{"b":0.463542,"g":0.463542,"pos":1,"r":0.463542}],"name":"colorize_4","node_position":{"x":708,"y":224},"type":"colorize"},{"amount":0.5,"blend_type":0,"name":"blend_0","node_position":{"x":836.943726,"y":-71},"type":"blend"},{"gradient":[{"b":0.289063,"g":0.289063,"pos":0,"r":0.289063},{"b":0,"g":0,"pos":1,"r":0}],"name":"colorize_3","node_position":{"x":774,"y":400},"type":"colorize"},{"color":{"a":1,"b":0,"g":0,"r":0,"type":"Color"},"name":"uniform_0","node_position":{"x":892,"y":179},"type":"uniform"},{"amount":0.5,"name":"normal_map_0","node_position":{"x":913,"y":278},"type":"normal_map"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":0.1,"r":1}],"name":"colorize_2","node_position":{"x":544.943665,"y":159},"type":"colorize"},{"amount":0.5,"blend_type":6,"name":"blend_1","node_position":{"x":349,"y":215},"type":"blend"},{"iterations":6,"name":"Perlin","node_position":{"x":115,"y":194},"persistence":0.85,"scale_x":4,"scale_y":4,"type":"perlin"}]}

View File

@ -1 +1 @@
{"connections":[{"from":"voronoi_0","from_port":0,"to":"colorize_0","to_port":0},{"from":"colorize_0","from_port":0,"to":"normal_map_0","to_port":0},{"from":"normal_map_0","from_port":0,"to":"Material","to_port":4},{"from":"voronoi_0","from_port":0,"to":"colorize_1","to_port":0},{"from":"colorize_1","from_port":0,"to":"Material","to_port":0},{"from":"voronoi_0","from_port":0,"to":"colorize_3","to_port":0},{"from":"colorize_3","from_port":0,"to":"Material","to_port":2},{"from":"uniform_0","from_port":0,"to":"Material","to_port":1}],"nodes":[{"name":"Material","node_position":{"x":674,"y":164},"type":"material"},{"intensity":0.4,"name":"voronoi_0","node_position":{"x":72,"y":212},"scale_x":16,"scale_y":16,"type":"voronoi"},{"gradient":[{"b":0.010715,"g":0.411458,"pos":0,"r":0.22361},{"b":0,"g":1,"pos":1,"r":0.9375}],"name":"colorize_1","node_position":{"x":384,"y":137},"type":"colorize"},{"gradient":[{"b":0.505208,"g":0.505208,"pos":0,"r":0.505208},{"b":0.78125,"g":0.78125,"pos":1,"r":0.78125}],"name":"colorize_3","node_position":{"x":384,"y":258},"type":"colorize"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":0.5,"g":0.5,"pos":0.354545,"r":0.5},{"b":1,"g":1,"pos":0.618182,"r":1}],"name":"colorize_0","node_position":{"x":298,"y":317},"type":"colorize"},{"amount":0.5,"name":"normal_map_0","node_position":{"x":478,"y":319},"type":"normal_map"},{"color":{"a":1,"b":0,"g":0,"r":0,"type":"Color"},"name":"uniform_0","node_position":{"x":413,"y":208},"type":"uniform"}]} {"connections":[{"from":"voronoi_0","from_port":0,"to":"colorize_0","to_port":0},{"from":"colorize_0","from_port":0,"to":"normal_map_0","to_port":0},{"from":"normal_map_0","from_port":0,"to":"Material","to_port":4},{"from":"voronoi_0","from_port":0,"to":"colorize_1","to_port":0},{"from":"colorize_1","from_port":0,"to":"Material","to_port":0},{"from":"voronoi_0","from_port":0,"to":"colorize_3","to_port":0},{"from":"colorize_3","from_port":0,"to":"Material","to_port":2},{"from":"uniform_0","from_port":0,"to":"Material","to_port":1}],"nodes":[{"name":"Material","node_position":{"x":674,"y":164},"type":"material"},{"gradient":[{"b":0.010715,"g":0.411458,"pos":0,"r":0.22361},{"b":0,"g":1,"pos":1,"r":0.9375}],"name":"colorize_1","node_position":{"x":384,"y":137},"type":"colorize"},{"gradient":[{"b":0.505208,"g":0.505208,"pos":0,"r":0.505208},{"b":0.78125,"g":0.78125,"pos":1,"r":0.78125}],"name":"colorize_3","node_position":{"x":384,"y":258},"type":"colorize"},{"color":{"a":1,"b":0,"g":0,"r":0,"type":"Color"},"name":"uniform_0","node_position":{"x":413,"y":208},"type":"uniform"},{"intensity":0.4,"name":"voronoi_0","node_position":{"x":71,"y":216},"scale_x":16,"scale_y":16,"type":"voronoi"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":0.5,"g":0.5,"pos":0.345455,"r":0.5},{"b":1,"g":1,"pos":0.618182,"r":1}],"name":"colorize_0","node_position":{"x":300,"y":330},"type":"colorize"},{"amount":0.5,"name":"normal_map_0","node_position":{"x":479,"y":334},"type":"normal_map"}]}

View File

@ -1 +1 @@
{"connections":[{"from":"bricks_0","from_port":0,"to":"colorize_0","to_port":0},{"from":"perlin_0","from_port":0,"to":"warp_0","to_port":1},{"from":"colorize_0","from_port":0,"to":"warp_0","to_port":0},{"from":"bricks_0","from_port":0,"to":"colorize_1","to_port":0},{"from":"normal_map_0","from_port":0,"to":"Material","to_port":4},{"from":"transform_0","from_port":0,"to":"blend_0","to_port":0},{"from":"blend_0","from_port":0,"to":"blend_1","to_port":1},{"from":"transform_1","from_port":0,"to":"transform_2","to_port":0},{"from":"transform_1","from_port":0,"to":"blend_2","to_port":0},{"from":"transform_2","from_port":0,"to":"blend_2","to_port":1},{"from":"blend_2","from_port":0,"to":"colorize_3","to_port":0},{"from":"colorize_3","from_port":0,"to":"transform_3","to_port":0},{"from":"blend_1","from_port":0,"to":"transform_1","to_port":0},{"from":"pattern_1","from_port":0,"to":"blend_0","to_port":1},{"from":"pattern_1","from_port":0,"to":"transform_0","to_port":0},{"from":"pattern_0","from_port":0,"to":"colorize_2","to_port":0},{"from":"colorize_2","from_port":0,"to":"blend_1","to_port":0},{"from":"colorize_1","from_port":0,"to":"normal_map_0","to_port":0},{"from":"warp_0","from_port":0,"to":"blend_3","to_port":0},{"from":"blend_3","from_port":0,"to":"Material","to_port":0},{"from":"colorize_0","from_port":0,"to":"colorize_4","to_port":0},{"from":"colorize_4","from_port":0,"to":"blend_3","to_port":1},{"from":"transform_3","from_port":0,"to":"blend_3","to_port":2}],"nodes":[{"bevel":0.05,"columns":6,"mortar":0.05,"name":"bricks_0","node_position":{"x":22,"y":247},"row_offset":0,"rows":6,"type":"bricks"},{"iterations":3,"name":"perlin_0","node_position":{"x":295,"y":220},"persistence":0.5,"scale_x":4,"scale_y":4,"type":"perlin"},{"gradient":[{"b":0.406358,"g":0.500692,"pos":0.027273,"r":0.557292},{"b":0,"g":0.21875,"pos":0.127273,"r":1}],"name":"colorize_0","node_position":{"x":294,"y":83},"type":"colorize"},{"amount":1,"name":"normal_map_0","node_position":{"x":759,"y":424},"type":"normal_map"},{"name":"Material","node_position":{"x":916,"y":424},"type":"material"},{"mix":0,"name":"pattern_0","node_position":{"x":-840,"y":785},"type":"pattern","x_scale":2,"x_wave":0,"y_scale":1,"y_wave":0},{"name":"transform_0","node_position":{"x":-792,"y":930},"rotate":270,"scale":1,"translate_x":0,"translate_y":0,"type":"transform"},{"mix":0,"name":"pattern_1","node_position":{"x":-884,"y":1153},"type":"pattern","x_scale":1,"x_wave":2,"y_scale":1,"y_wave":2},{"amount":1,"blend_type":3,"name":"blend_0","node_position":{"x":-513,"y":1036},"type":"blend"},{"name":"transform_2","node_position":{"x":-189,"y":938},"rotate":90,"scale":1,"translate_x":0,"translate_y":0,"type":"transform"},{"amount":0.5,"blend_type":0,"name":"blend_2","node_position":{"x":41,"y":910},"type":"blend"},{"gradient":[{"b":0,"g":0,"pos":0.645455,"r":0},{"b":1,"g":1,"pos":0.781818,"r":1}],"name":"colorize_2","node_position":{"x":-572.181396,"y":751},"type":"colorize"},{"amount":1,"blend_type":2,"name":"blend_1","node_position":{"x":-393,"y":822},"type":"blend"},{"name":"transform_1","node_position":{"x":-185,"y":775},"rotate":0,"scale":1,"translate_x":-0.25,"translate_y":-0,"type":"transform"},{"gradient":[{"b":1,"g":1,"pos":0.309091,"r":1},{"b":0,"g":0,"pos":0.481818,"r":0}],"name":"colorize_3","node_position":{"x":47,"y":803},"type":"colorize"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":1,"r":1}],"name":"colorize_1","node_position":{"x":329,"y":383},"type":"colorize"},{"name":"transform_3","node_position":{"x":137,"y":618},"rotate":0,"scale":0.5,"translate_x":0,"translate_y":0,"type":"transform"},{"amount":0.2,"name":"warp_0","node_position":{"x":694,"y":155},"type":"warp"},{"amount":1,"blend_type":0,"name":"blend_3","node_position":{"x":876.976318,"y":196.25},"type":"blend"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0.489583},{"b":0,"g":0,"pos":1,"r":0.489583}],"name":"colorize_4","node_position":{"x":598.976318,"y":258.25},"type":"colorize"}]} {"connections":[{"from":"normal_map_0","from_port":0,"to":"Material","to_port":4},{"from":"pattern_0","from_port":0,"to":"transform_0","to_port":0},{"from":"transform_0","from_port":0,"to":"transform_1","to_port":0},{"from":"transform_0","from_port":0,"to":"blend_0","to_port":0},{"from":"transform_1","from_port":0,"to":"blend_0","to_port":1},{"from":"blend_0","from_port":0,"to":"transform_2","to_port":0},{"from":"transform_2","from_port":0,"to":"colorize_2","to_port":0},{"from":"bricks_0","from_port":0,"to":"blend_1","to_port":0},{"from":"colorize_2","from_port":0,"to":"blend_1","to_port":1},{"from":"blend_1","from_port":0,"to":"blend_2","to_port":0},{"from":"transform_2","from_port":0,"to":"colorize_3","to_port":0},{"from":"colorize_3","from_port":0,"to":"blend_2","to_port":1},{"from":"perlin_1","from_port":0,"to":"colorize_5","to_port":0},{"from":"perlin_1","from_port":0,"to":"colorize_6","to_port":0},{"from":"colorize_5","from_port":0,"to":"blend_3","to_port":0},{"from":"colorize_6","from_port":0,"to":"blend_3","to_port":1},{"from":"blend_1","from_port":0,"to":"blend_3","to_port":2},{"from":"blend_2","from_port":0,"to":"blend_4","to_port":1},{"from":"perlin_1","from_port":0,"to":"blend_4","to_port":0},{"from":"uniform_0","from_port":0,"to":"Material","to_port":1},{"from":"uniform_1","from_port":0,"to":"Material","to_port":2},{"from":"blend_4","from_port":0,"to":"colorize_0","to_port":0},{"from":"colorize_0","from_port":0,"to":"normal_map_0","to_port":0},{"from":"perlin_1","from_port":0,"to":"colorize_1","to_port":0},{"from":"blend_5","from_port":0,"to":"Material","to_port":0},{"from":"colorize_3","from_port":0,"to":"blend_5","to_port":2},{"from":"blend_3","from_port":0,"to":"blend_5","to_port":1},{"from":"colorize_1","from_port":0,"to":"blend_5","to_port":0}],"nodes":[{"name":"Material","node_position":{"x":916,"y":424},"type":"material"},{"mix":0,"name":"pattern_0","node_position":{"x":-358,"y":630},"type":"pattern","x_scale":1,"x_wave":0,"y_scale":1,"y_wave":0},{"name":"transform_0","node_position":{"x":-349,"y":730},"repeat":false,"rotate":0,"scale_x":0.5,"scale_y":1,"translate_x":0,"translate_y":0,"type":"transform"},{"name":"transform_1","node_position":{"x":-147,"y":781},"repeat":true,"rotate":90,"scale_x":1,"scale_y":1,"translate_x":0,"translate_y":0,"type":"transform"},{"amount":1,"blend_type":9,"name":"blend_0","node_position":{"x":-127,"y":673},"type":"blend"},{"name":"transform_2","node_position":{"x":49,"y":634},"repeat":true,"rotate":0,"scale_x":0.5,"scale_y":0.5,"translate_x":0,"translate_y":0,"type":"transform"},{"bevel":0.05,"columns":6,"mortar":0.05,"name":"bricks_0","node_position":{"x":-146,"y":455},"row_offset":0,"rows":6,"type":"bricks"},{"gradient":[{"b":1,"g":1,"pos":0.5,"r":1},{"b":0,"g":0,"pos":0.6,"r":0}],"name":"colorize_2","node_position":{"x":63,"y":549},"type":"colorize"},{"iterations":7,"name":"perlin_1","node_position":{"x":-146,"y":108},"persistence":0.95,"scale_x":4,"scale_y":4,"type":"perlin"},{"amount":0.65,"name":"normal_map_0","node_position":{"x":706,"y":533},"type":"normal_map"},{"color":{"a":1,"b":0.554688,"g":0.554688,"r":0.554688,"type":"Color"},"name":"uniform_1","node_position":{"x":727.308594,"y":472},"type":"uniform"},{"gradient":[{"b":1,"g":1,"pos":0,"r":1},{"b":0,"g":0,"pos":1,"r":0}],"name":"colorize_0","node_position":{"x":630.308655,"y":598},"type":"colorize"},{"gradient":[{"b":0,"g":0.071615,"pos":0,"r":0.208333},{"b":0,"g":0.42041,"pos":0.936364,"r":0.640625}],"name":"colorize_5","node_position":{"x":95,"y":85},"type":"colorize"},{"gradient":[{"b":0.583333,"g":0.583333,"pos":0,"r":0.583333},{"b":0.244792,"g":0.244792,"pos":1,"r":0.244792}],"name":"colorize_6","node_position":{"x":95,"y":159},"type":"colorize"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0.78125},{"b":0,"g":0,"pos":1,"r":0.25}],"name":"colorize_1","node_position":{"x":101.308655,"y":249},"type":"colorize"},{"amount":1,"blend_type":9,"name":"blend_2","node_position":{"x":294,"y":514},"type":"blend"},{"amount":1,"blend_type":10,"name":"blend_1","node_position":{"x":115,"y":425},"type":"blend"},{"gradient":[{"b":0,"g":0,"pos":0.609091,"r":0},{"b":1,"g":1,"pos":0.672727,"r":1}],"name":"colorize_3","node_position":{"x":280,"y":637},"type":"colorize"},{"amount":0.5,"blend_type":0,"name":"blend_3","node_position":{"x":294.308655,"y":144},"type":"blend"},{"amount":0.5,"blend_type":0,"name":"blend_5","node_position":{"x":490.308655,"y":309},"type":"blend"},{"color":{"a":1,"b":0,"g":0,"r":0,"type":"Color"},"name":"uniform_0","node_position":{"x":700.308594,"y":404},"type":"uniform"},{"amount":0.5,"blend_type":0,"name":"blend_4","node_position":{"x":489.308655,"y":477},"type":"blend"}]}

View File

@ -1 +1 @@
{"connections":[{"from":"pattern_0","from_port":0,"to":"colorize_0","to_port":0},{"from":"colorize_0","from_port":0,"to":"blend_0","to_port":0},{"from":"transform_0","from_port":0,"to":"blend_0","to_port":1},{"from":"colorize_0","from_port":0,"to":"transform_0","to_port":0},{"from":"blend_0","from_port":0,"to":"transform_1","to_port":0},{"from":"transform_1","from_port":0,"to":"blend_1","to_port":1},{"from":"blend_0","from_port":0,"to":"blend_1","to_port":0},{"from":"blend_1","from_port":0,"to":"colorize_1","to_port":0},{"from":"colorize_1","from_port":0,"to":"normal_map_0","to_port":0},{"from":"normal_map_0","from_port":0,"to":"Material","to_port":4},{"from":"perlin_0","from_port":0,"to":"colorize_2","to_port":0},{"from":"colorize_2","from_port":0,"to":"blend_2","to_port":0},{"from":"blend_2","from_port":0,"to":"Material","to_port":0},{"from":"colorize_4","from_port":0,"to":"blend_2","to_port":2},{"from":"colorize_4","from_port":0,"to":"colorize_5","to_port":0},{"from":"colorize_5","from_port":0,"to":"Material","to_port":1},{"from":"colorize_4","from_port":0,"to":"colorize_6","to_port":0},{"from":"colorize_6","from_port":0,"to":"Material","to_port":2},{"from":"perlin_1","from_port":0,"to":"blend_3","to_port":1},{"from":"colorize_7","from_port":0,"to":"blend_3","to_port":0},{"from":"blend_1","from_port":0,"to":"colorize_7","to_port":0},{"from":"blend_3","from_port":0,"to":"colorize_4","to_port":0},{"from":"uniform_0","from_port":0,"to":"blend_2","to_port":1}],"nodes":[{"iterations":7,"name":"perlin_0","node_position":{"x":1,"y":-330},"persistence":0.85,"scale_x":4,"scale_y":4,"type":"perlin"},{"gradient":[{"b":0,"g":0,"pos":0.018182,"r":0},{"b":1,"g":1,"pos":0.045455,"r":1}],"name":"colorize_0","node_position":{"x":-828,"y":218},"type":"colorize"},{"name":"transform_0","node_position":{"x":-845,"y":276},"rotate":0,"scale":1,"translate_x":0.06,"translate_y":0.06,"type":"transform"},{"gradient":[{"b":0,"g":0.152344,"pos":0,"r":0.270833},{"b":0,"g":0.191569,"pos":0.972727,"r":0.557292}],"name":"colorize_2","node_position":{"x":201,"y":-298},"type":"colorize"},{"name":"Material","node_position":{"x":755,"y":-137},"type":"material"},{"amount":0.5,"blend_type":0,"name":"blend_2","node_position":{"x":407.094238,"y":-265.083313},"type":"blend"},{"gradient":[{"b":1,"g":1,"pos":0.609091,"r":1},{"b":0,"g":0,"pos":0.663636,"r":0}],"name":"colorize_5","node_position":{"x":447,"y":-146},"type":"colorize"},{"gradient":[{"b":0,"g":0,"pos":0.445455,"r":0},{"b":1,"g":1,"pos":0.545455,"r":1}],"name":"colorize_4","node_position":{"x":258,"y":-136},"type":"colorize"},{"mix":5,"name":"pattern_0","node_position":{"x":-858,"y":120},"type":"pattern","x_scale":8,"x_wave":0,"y_scale":8,"y_wave":0},{"amount":0.35,"name":"normal_map_0","node_position":{"x":153,"y":183},"type":"normal_map"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":1,"r":1}],"name":"colorize_1","node_position":{"x":-16,"y":183},"type":"colorize"},{"name":"transform_1","node_position":{"x":-647,"y":285},"rotate":90,"scale":1,"translate_x":0.06,"translate_y":0,"type":"transform"},{"amount":1,"blend_type":2,"name":"blend_0","node_position":{"x":-633,"y":181},"type":"blend"},{"amount":1,"blend_type":2,"name":"blend_1","node_position":{"x":-632,"y":77},"type":"blend"},{"color":{"a":1,"b":1,"g":1,"r":1,"type":"Color"},"name":"uniform_0","node_position":{"x":233,"y":-216},"type":"uniform"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":0.018182,"r":1}],"name":"colorize_7","node_position":{"x":-109.265503,"y":-175},"type":"colorize"},{"amount":0.2,"blend_type":2,"name":"blend_3","node_position":{"x":72.734497,"y":-156},"type":"blend"},{"iterations":7,"name":"perlin_1","node_position":{"x":-161,"y":-86},"persistence":0.75,"scale_x":4,"scale_y":4,"type":"perlin"},{"gradient":[{"b":0.640625,"g":0.640625,"pos":0,"r":0.640625},{"b":1,"g":1,"pos":1,"r":1}],"name":"colorize_6","node_position":{"x":444,"y":-66},"type":"colorize"}]} {"connections":[{"from":"pattern_0","from_port":0,"to":"colorize_0","to_port":0},{"from":"colorize_0","from_port":0,"to":"blend_0","to_port":0},{"from":"transform_0","from_port":0,"to":"blend_0","to_port":1},{"from":"colorize_0","from_port":0,"to":"transform_0","to_port":0},{"from":"blend_0","from_port":0,"to":"transform_1","to_port":0},{"from":"transform_1","from_port":0,"to":"blend_1","to_port":1},{"from":"blend_0","from_port":0,"to":"blend_1","to_port":0},{"from":"blend_1","from_port":0,"to":"colorize_1","to_port":0},{"from":"colorize_1","from_port":0,"to":"normal_map_0","to_port":0},{"from":"normal_map_0","from_port":0,"to":"Material","to_port":4},{"from":"perlin_0","from_port":0,"to":"colorize_2","to_port":0},{"from":"colorize_2","from_port":0,"to":"blend_2","to_port":0},{"from":"blend_2","from_port":0,"to":"Material","to_port":0},{"from":"colorize_4","from_port":0,"to":"blend_2","to_port":2},{"from":"colorize_4","from_port":0,"to":"colorize_5","to_port":0},{"from":"colorize_5","from_port":0,"to":"Material","to_port":1},{"from":"colorize_4","from_port":0,"to":"colorize_6","to_port":0},{"from":"colorize_6","from_port":0,"to":"Material","to_port":2},{"from":"perlin_1","from_port":0,"to":"blend_3","to_port":1},{"from":"colorize_7","from_port":0,"to":"blend_3","to_port":0},{"from":"blend_1","from_port":0,"to":"colorize_7","to_port":0},{"from":"blend_3","from_port":0,"to":"colorize_4","to_port":0},{"from":"uniform_0","from_port":0,"to":"blend_2","to_port":1}],"nodes":[{"iterations":7,"name":"perlin_0","node_position":{"x":1,"y":-330},"persistence":0.85,"scale_x":4,"scale_y":4,"type":"perlin"},{"gradient":[{"b":0,"g":0,"pos":0.018182,"r":0},{"b":1,"g":1,"pos":0.045455,"r":1}],"name":"colorize_0","node_position":{"x":-828,"y":218},"type":"colorize"},{"gradient":[{"b":0,"g":0.152344,"pos":0,"r":0.270833},{"b":0,"g":0.191569,"pos":0.954545,"r":0.557292}],"name":"colorize_2","node_position":{"x":201,"y":-298},"type":"colorize"},{"name":"Material","node_position":{"x":755,"y":-137},"type":"material"},{"amount":0.5,"blend_type":0,"name":"blend_2","node_position":{"x":407.094238,"y":-265.083313},"type":"blend"},{"gradient":[{"b":1,"g":1,"pos":0.609091,"r":1},{"b":0,"g":0,"pos":0.645455,"r":0}],"name":"colorize_5","node_position":{"x":447,"y":-146},"type":"colorize"},{"gradient":[{"b":0,"g":0,"pos":0.445455,"r":0},{"b":1,"g":1,"pos":0.545455,"r":1}],"name":"colorize_4","node_position":{"x":258,"y":-136},"type":"colorize"},{"mix":5,"name":"pattern_0","node_position":{"x":-858,"y":120},"type":"pattern","x_scale":8,"x_wave":0,"y_scale":8,"y_wave":0},{"name":"transform_1","node_position":{"x":-647,"y":285},"repeat":true,"rotate":90,"scale_x":1,"scale_y":1,"translate_x":0.06,"translate_y":0,"type":"transform"},{"amount":1,"blend_type":2,"name":"blend_0","node_position":{"x":-633,"y":181},"type":"blend"},{"amount":1,"blend_type":2,"name":"blend_1","node_position":{"x":-632,"y":77},"type":"blend"},{"color":{"a":1,"b":1,"g":1,"r":1,"type":"Color"},"name":"uniform_0","node_position":{"x":233,"y":-216},"type":"uniform"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":0.018182,"r":1}],"name":"colorize_7","node_position":{"x":-109.265503,"y":-175},"type":"colorize"},{"amount":0.2,"blend_type":2,"name":"blend_3","node_position":{"x":72.734497,"y":-156},"type":"blend"},{"iterations":7,"name":"perlin_1","node_position":{"x":-161,"y":-86},"persistence":0.75,"scale_x":4,"scale_y":4,"type":"perlin"},{"gradient":[{"b":0.640625,"g":0.640625,"pos":0,"r":0.640625},{"b":1,"g":1,"pos":1,"r":1}],"name":"colorize_6","node_position":{"x":444,"y":-66},"type":"colorize"},{"amount":0.35,"name":"normal_map_0","node_position":{"x":294,"y":76},"type":"normal_map"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":1,"r":1}],"name":"colorize_1","node_position":{"x":85,"y":72},"type":"colorize"},{"name":"transform_0","node_position":{"x":-845,"y":279},"repeat":true,"rotate":0,"scale_x":1,"scale_y":1,"translate_x":0.06,"translate_y":0.06,"type":"transform"}]}

View File

@ -1 +1 @@
{"connections":[{"from":"Warp","from_port":0,"to":"colorize_2","to_port":0},{"from":"colorize_2","from_port":0,"to":"blend_0","to_port":2},{"from":"colorize_1","from_port":0,"to":"blend_0","to_port":0},{"from":"colorize_0","from_port":0,"to":"blend_0","to_port":1},{"from":"blend_0","from_port":0,"to":"Material","to_port":0},{"from":"normal_map_0","from_port":0,"to":"Material","to_port":4},{"from":"Bricks","from_port":0,"to":"Warp","to_port":0},{"from":"blend_1","from_port":0,"to":"colorize_1","to_port":0},{"from":"Bricks","from_port":1,"to":"blend_1","to_port":1},{"from":"Warp","from_port":0,"to":"blend_2","to_port":0},{"from":"Perlin","from_port":0,"to":"blend_2","to_port":1},{"from":"blend_2","from_port":0,"to":"colorize_3","to_port":0},{"from":"blend_2","from_port":0,"to":"colorize_6","to_port":0},{"from":"colorize_6","from_port":0,"to":"normal_map_0","to_port":0},{"from":"Perlin","from_port":0,"to":"blend_1","to_port":0},{"from":"Perlin","from_port":0,"to":"colorize_0","to_port":0},{"from":"colorize_3","from_port":0,"to":"Material","to_port":5},{"from":"perlin_0","from_port":0,"to":"Warp","to_port":1},{"from":"uniform_0","from_port":0,"to":"Material","to_port":1},{"from":"uniform_1","from_port":0,"to":"Material","to_port":2}],"nodes":[{"amount":0.1,"name":"Warp","node_position":{"x":384,"y":10.75},"type":"warp"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":0.054545,"r":1}],"name":"colorize_2","node_position":{"x":535.943665,"y":163},"type":"colorize"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":1,"r":1}],"name":"colorize_0","node_position":{"x":560.943665,"y":50},"type":"colorize"},{"iterations":4,"name":"perlin_0","node_position":{"x":92,"y":210},"persistence":0.75,"scale_x":4,"scale_y":4,"type":"perlin"},{"amount":0.5,"blend_type":6,"name":"blend_1","node_position":{"x":351,"y":244},"type":"blend"},{"bevel":0.2,"columns":3,"mortar":0.1,"name":"Bricks","node_position":{"x":107,"y":-27},"row_offset":0.5,"rows":6,"type":"bricks"},{"iterations":10,"name":"Perlin","node_position":{"x":102,"y":-195},"persistence":0.75,"scale_x":4,"scale_y":4,"type":"perlin"},{"gradient":[{"b":0.557292,"g":0.557292,"pos":0,"r":0.557292},{"b":0.180664,"g":0.22934,"pos":0.2,"r":0.234375},{"b":0.60574,"g":0.694487,"pos":0.345455,"r":0.755208},{"b":0.144423,"g":0.184147,"pos":0.545455,"r":0.229167},{"b":0.447537,"g":0.553291,"pos":0.736364,"r":0.588542},{"b":0.212674,"g":0.236125,"pos":1,"r":0.291667}],"name":"colorize_1","node_position":{"x":561.943665,"y":-78},"type":"colorize"},{"color":{"a":1,"b":1,"g":1,"r":1,"type":"Color"},"name":"uniform_1","node_position":{"x":871,"y":159},"type":"uniform"},{"color":{"a":1,"b":0,"g":0,"r":0,"type":"Color"},"name":"uniform_0","node_position":{"x":866,"y":106},"type":"uniform"},{"name":"Material","node_position":{"x":1062,"y":131},"type":"material"},{"gradient":[{"b":1,"g":1,"pos":0,"r":1},{"b":0,"g":0,"pos":1,"r":0}],"name":"colorize_6","node_position":{"x":722,"y":258},"type":"colorize"},{"amount":0.5,"name":"normal_map_0","node_position":{"x":895,"y":222},"type":"normal_map"},{"gradient":[{"b":0.119792,"g":0.119792,"pos":0,"r":0.119792},{"b":0,"g":0,"pos":1,"r":0}],"name":"colorize_3","node_position":{"x":762,"y":337},"type":"colorize"},{"amount":0.5,"blend_type":0,"name":"blend_2","node_position":{"x":537,"y":264},"type":"blend"},{"amount":0.5,"blend_type":0,"name":"blend_0","node_position":{"x":791.943726,"y":-5},"type":"blend"}]} {"connections":[{"from":"Warp","from_port":0,"to":"colorize_2","to_port":0},{"from":"colorize_2","from_port":0,"to":"blend_0","to_port":2},{"from":"colorize_1","from_port":0,"to":"blend_0","to_port":0},{"from":"colorize_0","from_port":0,"to":"blend_0","to_port":1},{"from":"blend_0","from_port":0,"to":"Material","to_port":0},{"from":"normal_map_0","from_port":0,"to":"Material","to_port":4},{"from":"Bricks","from_port":0,"to":"Warp","to_port":0},{"from":"blend_1","from_port":0,"to":"colorize_1","to_port":0},{"from":"Bricks","from_port":1,"to":"blend_1","to_port":1},{"from":"Warp","from_port":0,"to":"blend_2","to_port":0},{"from":"Perlin","from_port":0,"to":"blend_2","to_port":1},{"from":"blend_2","from_port":0,"to":"colorize_3","to_port":0},{"from":"blend_2","from_port":0,"to":"colorize_6","to_port":0},{"from":"colorize_6","from_port":0,"to":"normal_map_0","to_port":0},{"from":"Perlin","from_port":0,"to":"blend_1","to_port":0},{"from":"Perlin","from_port":0,"to":"colorize_0","to_port":0},{"from":"colorize_3","from_port":0,"to":"Material","to_port":5},{"from":"perlin_0","from_port":0,"to":"Warp","to_port":1},{"from":"uniform_0","from_port":0,"to":"Material","to_port":1},{"from":"uniform_1","from_port":0,"to":"Material","to_port":2}],"nodes":[{"amount":0.1,"name":"Warp","node_position":{"x":384,"y":10.75},"type":"warp"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":0.045455,"r":1}],"name":"colorize_2","node_position":{"x":535.943665,"y":163},"type":"colorize"},{"gradient":[{"b":0,"g":0,"pos":0,"r":0},{"b":1,"g":1,"pos":1,"r":1}],"name":"colorize_0","node_position":{"x":560.943665,"y":50},"type":"colorize"},{"iterations":4,"name":"perlin_0","node_position":{"x":92,"y":210},"persistence":0.75,"scale_x":4,"scale_y":4,"type":"perlin"},{"amount":0.5,"blend_type":6,"name":"blend_1","node_position":{"x":351,"y":244},"type":"blend"},{"bevel":0.2,"columns":3,"mortar":0.1,"name":"Bricks","node_position":{"x":107,"y":-27},"row_offset":0.5,"rows":6,"type":"bricks"},{"iterations":10,"name":"Perlin","node_position":{"x":102,"y":-195},"persistence":0.75,"scale_x":4,"scale_y":4,"type":"perlin"},{"gradient":[{"b":0.557292,"g":0.557292,"pos":0,"r":0.557292},{"b":0.180664,"g":0.22934,"pos":0.2,"r":0.234375},{"b":0.60574,"g":0.694487,"pos":0.345455,"r":0.755208},{"b":0.144423,"g":0.184147,"pos":0.545455,"r":0.229167},{"b":0.447537,"g":0.553291,"pos":0.736364,"r":0.588542},{"b":0.212674,"g":0.236125,"pos":1,"r":0.291667}],"name":"colorize_1","node_position":{"x":561.943665,"y":-78},"type":"colorize"},{"color":{"a":1,"b":0.558594,"g":0.558594,"r":0.558594,"type":"Color"},"name":"uniform_1","node_position":{"x":871,"y":159},"type":"uniform"},{"color":{"a":1,"b":0,"g":0,"r":0,"type":"Color"},"name":"uniform_0","node_position":{"x":866,"y":106},"type":"uniform"},{"name":"Material","node_position":{"x":1062,"y":131},"type":"material"},{"gradient":[{"b":1,"g":1,"pos":0,"r":1},{"b":0,"g":0,"pos":1,"r":0}],"name":"colorize_6","node_position":{"x":722,"y":258},"type":"colorize"},{"amount":0.5,"name":"normal_map_0","node_position":{"x":895,"y":222},"type":"normal_map"},{"gradient":[{"b":0.119792,"g":0.119792,"pos":0,"r":0.119792},{"b":0,"g":0,"pos":1,"r":0}],"name":"colorize_3","node_position":{"x":762,"y":337},"type":"colorize"},{"amount":0.5,"blend_type":0,"name":"blend_2","node_position":{"x":537,"y":264},"type":"blend"},{"amount":0.5,"blend_type":0,"name":"blend_0","node_position":{"x":791.943726,"y":-5},"type":"blend"}]}