[gd_scene load_steps=15 format=2] [ext_resource path="res://material_maker/tools/painter/painter.tscn" type="PackedScene" id=1] [ext_resource path="res://material_maker/tools/painter/brush_preview.gd" type="Script" id=2] [sub_resource type="SpatialMaterial" id=1] albedo_color = Color( 0.25098, 0.25098, 0.25098, 1 ) [sub_resource type="ProceduralSky" id=2] [sub_resource type="Environment" id=3] background_mode = 2 background_sky = SubResource( 2 ) ambient_light_color = Color( 0.254902, 0.254902, 0.254902, 1 ) [sub_resource type="World" id=4] environment = SubResource( 3 ) [sub_resource type="SphereMesh" id=5] [sub_resource type="SpatialMaterial" id=6] metallic = 1.0 metallic_texture_channel = 2 roughness_texture_channel = 1 normal_enabled = true normal_scale = 1.0 ao_enabled = true ao_light_affect = 1.0 ao_on_uv2 = false ao_texture_channel = 0 depth_enabled = true depth_scale = 0.04 depth_deep_parallax = true depth_min_layers = 8 depth_max_layers = 32 depth_flip_tangent = false depth_flip_binormal = false uv1_scale = Vector3( 4, 2, 4 ) uv1_offset = Vector3( 0, 0.5, 0 ) [sub_resource type="ProceduralSky" id=7] sky_energy = 0.75 [sub_resource type="Environment" id=8] background_mode = 2 background_sky = SubResource( 7 ) ambient_light_color = Color( 0.0627451, 0.0627451, 0.0627451, 1 ) tonemap_mode = 2 [sub_resource type="Shader" id=9] code = "shader_type canvas_item; uniform sampler2D seams : hint_white; uniform sampler2D tex; uniform float epsilon = 0.00048828125 ; void fragment() { vec2 seam_offset = texture(seams, UV).xy-vec2(0.5); vec2 uv = UV;//+seam_offset/64.0; vec3 color = vec3(0.0); color += vec3(-1.0, -1.0, 0.0) * texture(tex, uv+vec2(-epsilon, -epsilon)).rgb; color += vec3(0.0, -2.0, 0.0) * texture(tex, uv+vec2(0.0, -epsilon)).rgb; color += vec3(1.0, -1.0, 0.0) * texture(tex, uv+vec2(epsilon, -epsilon)).rgb; color += vec3(-2.0, 0.0, 0.0) * texture(tex, uv+vec2(-epsilon, 0.0)).rgb; color += vec3(2.0, 0.0, 0.0) * texture(tex, uv+vec2(epsilon, 0.0)).rgb; color += vec3(-1.0, 1.0, 0.0) * texture(tex, uv+vec2(-epsilon, epsilon)).rgb; color += vec3(0.0, 2.0, 0.0) * texture(tex, uv+vec2(0.0, epsilon)).rgb; color += vec3(1.0, 1.0, 0.0) * texture(tex, uv+vec2(epsilon, epsilon)).rgb; color *= vec3(1.0, -1.0, 0.0); //color *= max(0.0, 1.0-4.0*dot(seam_offset, seam_offset)); color += vec3(0.0, 0.0, -1.0); color = normalize(color); color *= 0.5; color += vec3(0.5, 0.5, 0.5); COLOR = vec4(color, 1.0); }" [sub_resource type="ViewportTexture" id=10] [sub_resource type="ViewportTexture" id=11] [sub_resource type="ShaderMaterial" id=12] shader = SubResource( 9 ) shader_param/epsilon = 0.0078125 shader_param/seams = SubResource( 10 ) shader_param/tex = SubResource( 11 ) [node name="BrushPreviewGenerator" type="Node"] script = ExtResource( 2 ) background_material = SubResource( 1 ) [node name="Painter" parent="." instance=ExtResource( 1 )] [node name="Viewport" type="Viewport" parent="."] size = Vector2( 512, 512 ) own_world = true world = SubResource( 4 ) transparent_bg = true handle_input_locally = false msaa = 4 hdr = false render_target_v_flip = true render_target_update_mode = 0 shadow_atlas_size = 1 __meta__ = { "_editor_description_": "" } [node name="Object" type="MeshInstance" parent="Viewport"] mesh = SubResource( 5 ) material/0 = SubResource( 6 ) __meta__ = { "_editor_description_": "" } [node name="Camera" type="Camera" parent="Viewport"] transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 1.8, 0, 0 ) environment = SubResource( 8 ) __meta__ = { "_editor_description_": "" } [node name="DirectionalLight" type="DirectionalLight" parent="Viewport"] transform = Transform( 0.5, -0.224144, 0.836516, 0, 0.965926, 0.258819, -0.866025, -0.12941, 0.482963, 0, 0, 0 ) shadow_enabled = true [node name="NormalMap" type="Viewport" parent="."] size = Vector2( 512, 512 ) own_world = true transparent_bg = true disable_3d = true usage = 0 render_target_v_flip = true render_target_clear_mode = 1 render_target_update_mode = 0 [node name="Rect" type="ColorRect" parent="NormalMap"] material = SubResource( 12 ) margin_right = 512.0 margin_bottom = 512.0