generated from krampus/template-godot4
Gunk mask filtering & related shader uniform settings
This commit is contained in:
parent
c38502d351
commit
b90bd93f61
BIN
assets/black.png
(Stored with Git LFS)
BIN
assets/black.png
(Stored with Git LFS)
Binary file not shown.
@ -1,36 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cm1jrvx7ftx4c"
|
||||
path.s3tc="res://.godot/imported/black.png-0c928088330c4cddf9e28b960b6ccae3.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/black.png-0c928088330c4cddf9e28b960b6ccae3.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/black.png"
|
||||
dest_files=["res://.godot/imported/black.png-0c928088330c4cddf9e28b960b6ccae3.s3tc.ctex", "res://.godot/imported/black.png-0c928088330c4cddf9e28b960b6ccae3.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
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=0
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -92,6 +92,7 @@ shader_parameter/overlay_emission_scale = 1.0
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
shader_parameter/gunk_mask = ExtResource("3_3t4ks")
|
||||
shader_parameter/base_uv_scale = Vector3(1, 1, 1)
|
||||
shader_parameter/base_normal_scale = 1.0
|
||||
shader_parameter/normal_blend = 1.0
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_gpcv6"]
|
||||
@ -246,6 +247,7 @@ shader_parameter/overlay_emission_scale = 1.0
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
shader_parameter/gunk_mask = ExtResource("31_753oq")
|
||||
shader_parameter/base_uv_scale = Vector3(1, 1, 1)
|
||||
shader_parameter/base_normal_scale = 1.0
|
||||
shader_parameter/normal_blend = 1.0
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k52xx"]
|
||||
|
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -40,7 +40,7 @@ uniform float overlay_emission_scale = 1.0;
|
||||
#if defined(USE_MASK)
|
||||
group_uniforms gunk_mask;
|
||||
uniform float edge_bleed = 0.25;
|
||||
uniform sampler2D gunk_mask;
|
||||
uniform sampler2D gunk_mask: hint_default_black, filter_linear_mipmap_anisotropic, repeat_disable;
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -7,7 +7,8 @@ render_mode depth_prepass_alpha;
|
||||
|
||||
group_uniforms base_material;
|
||||
uniform vec3 base_uv_scale = vec3(1.0);
|
||||
uniform sampler2D base_normal_map: filter_linear;
|
||||
uniform sampler2D base_normal_map: hint_normal, filter_linear;
|
||||
uniform float base_normal_scale = 0.8;
|
||||
uniform float normal_blend = 1.0;
|
||||
|
||||
void fragment() {
|
||||
@ -21,20 +22,25 @@ void fragment() {
|
||||
mat3 TBN = mat3(TANGENT, BINORMAL, NORMAL);
|
||||
mat3 inv_TBN = transpose(TBN);
|
||||
|
||||
vec3 base_nmap = texture(base_normal_map, UV * base_uv_scale.xy).rgb * 2.0 - 1.0;
|
||||
vec3 base_nmap = textureLod(base_normal_map, UV * base_uv_scale.xy, 0).rgb * 2.0 - 1.0;
|
||||
vec3 base_world_normal = TBN * base_nmap;
|
||||
vec3 gunk_nmap = sobel_convolution(UV, uvt);
|
||||
vec3 gunk_world_normal = TBN * gunk_nmap;
|
||||
|
||||
// Unity blending
|
||||
// see https://blog.selfshadow.com/publications/blending-in-detail/
|
||||
vec3 n = base_nmap;
|
||||
// note that there are actually cheaper alternatives to this, if needed
|
||||
vec3 n = base_nmap * vec3(1.0, 1.0, 1.0 / base_normal_scale);
|
||||
vec3 n2 = gunk_nmap;
|
||||
mat3 basis = mat3(
|
||||
vec3(n.z, n.y, -n.x),
|
||||
vec3(n.x, n.z, -n.y),
|
||||
vec3(n.x, n.y, n.z)
|
||||
);
|
||||
vec3 nmap = normalize(gunk_nmap.x * basis[0] + gunk_nmap.y * basis[1] + gunk_nmap.z * basis[2]);
|
||||
vec3 nmap = normalize(n2.x * basis[0] + n2.y * basis[1] + n2.z * basis[2]);
|
||||
|
||||
// UDN blending
|
||||
// vec3 nmap = normalize(vec3(base_nmap.xy + gunk_nmap.xy, base_nmap.z));
|
||||
vec3 world_normal = TBN * nmap;
|
||||
NORMAL_MAP = nmap / 2.0 + 0.5;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://d2664rpg4losx"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://d2664rpg4losx"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bi5mxt5s4aq1a" path="res://assets/npc/grunk_beast/grunk_beast.gltf" id="1_hoss2"]
|
||||
[ext_resource type="Script" uid="uid://dkll8s6kwb41r" path="res://src/world/grunk_beast/procedural_grunk_beast/start_ik.gd" id="2_qic24"]
|
||||
@ -7,7 +7,6 @@
|
||||
[ext_resource type="Script" uid="uid://7is3sa00qejh" path="res://src/world/grunk_beast/procedural_grunk_beast/ik_target.gd" id="4_3gbao"]
|
||||
[ext_resource type="Script" uid="uid://bpyovjodpxjpb" path="res://src/world/grunk_beast/procedural_grunk_beast/step_ray.gd" id="4_faau1"]
|
||||
[ext_resource type="Script" uid="uid://c1gitpy7s78ev" path="res://src/world/grunk_beast/procedural_grunk_beast/target_container.gd" id="5_wffas"]
|
||||
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="5_xuag8"]
|
||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="6_mbqcc"]
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"]
|
||||
@ -18,14 +17,6 @@ seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("6_mbqcc")
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("6_mbqcc")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_7fplw"]
|
||||
frequency = 0.0703
|
||||
|
||||
@ -35,48 +26,60 @@ height = 32
|
||||
depth = 128
|
||||
noise = SubResource("FastNoiseLite_7fplw")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vvw1q"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ren1j"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_0gxpq")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
|
||||
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
|
||||
shader_parameter/emission_color = Color(0.25, 0.88, 1, 1)
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/pan_speed = Vector2(0, 0)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/pixellation = 128.0
|
||||
shader_parameter/time_pixellation = 30.0
|
||||
shader_parameter/roughness = 0.15
|
||||
shader_parameter/specular_contribution = 0.8
|
||||
shader_parameter/emission_strength = 0.02
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
shader_parameter/gunk_mask = ExtResource("5_xuag8")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
||||
shader_parameter/bump_strength = 1.0
|
||||
shader_parameter/fresnel_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/fresnel_power = 4.0
|
||||
shader_parameter/fresnel_intensity = 0.0
|
||||
shader_parameter/iridescence_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/iridescence_power = 4.0
|
||||
shader_parameter/iridescence_intensity = 0.0
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
shader_parameter/jitter_magnitude = 0.3
|
||||
shader_parameter/jitter_time_scale = 0.6
|
||||
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ml8dd"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_7gi2a"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_0gxpq")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
|
||||
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
|
||||
shader_parameter/emission_color = Color(0.25, 0.88, 1, 1)
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/pan_speed = Vector2(0, 0)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/pixellation = 128.0
|
||||
shader_parameter/time_pixellation = 30.0
|
||||
shader_parameter/roughness = 0.15
|
||||
shader_parameter/specular_contribution = 0.8
|
||||
shader_parameter/emission_strength = 0.02
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
shader_parameter/gunk_mask = ExtResource("5_xuag8")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
||||
shader_parameter/bump_strength = 1.0
|
||||
shader_parameter/fresnel_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/fresnel_power = 4.0
|
||||
shader_parameter/fresnel_intensity = 0.0
|
||||
shader_parameter/iridescence_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/iridescence_power = 4.0
|
||||
shader_parameter/iridescence_intensity = 0.0
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
shader_parameter/jitter_magnitude = 0.1
|
||||
shader_parameter/jitter_time_scale = 0.6
|
||||
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
||||
@ -93,10 +96,10 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0,
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
|
||||
[node name="Body" parent="Armature/Skeleton3D" index="0"]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_vvw1q")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_ren1j")
|
||||
|
||||
[node name="Leg" parent="Armature/Skeleton3D" index="1"]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_ml8dd")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_7gi2a")
|
||||
|
||||
[node name="FrontLeftLeg" type="SkeletonIK3D" parent="Armature/Skeleton3D" index="2"]
|
||||
root_bone = &"Leg1.F.L"
|
||||
|
Loading…
x
Reference in New Issue
Block a user