generated from krampus/template-godot4
GunkBody instantiates its own gunk material
This commit is contained in:
parent
530131084e
commit
3c04a21b0d
@ -36,7 +36,7 @@ seamless = true
|
|||||||
seamless_blend_skirt = 0.5
|
seamless_blend_skirt = 0.5
|
||||||
noise = ExtResource("6_3kphg")
|
noise = ExtResource("6_3kphg")
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_p11ap"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ruwlj"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("5_1njh5")
|
shader = ExtResource("5_1njh5")
|
||||||
@ -57,7 +57,6 @@ shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
|||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d1yty"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d1yty"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
next_pass = SubResource("ShaderMaterial_p11ap")
|
|
||||||
albedo_texture = ExtResource("3_1chi6")
|
albedo_texture = ExtResource("3_1chi6")
|
||||||
metallic = 1.0
|
metallic = 1.0
|
||||||
metallic_texture = ExtResource("4_3ryvr")
|
metallic_texture = ExtResource("4_3ryvr")
|
||||||
@ -101,7 +100,7 @@ shadow_mesh = SubResource("ArrayMesh_7kdnt")
|
|||||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_yvipw"]
|
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_yvipw"]
|
||||||
data = PackedVector3Array(4.5, 0, 4.5, -4.5, 0, 4.5, 4.5, 0, -4.5, 4.5, 0, -4.5, -4.5, 0, 4.5, -4.5, 0, -4.5)
|
data = PackedVector3Array(4.5, 0, 4.5, -4.5, 0, 4.5, 4.5, 0, -4.5, 4.5, 0, -4.5, -4.5, 0, 4.5, -4.5, 0, -4.5)
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2pd8h"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0idgf"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("5_1njh5")
|
shader = ExtResource("5_1njh5")
|
||||||
@ -122,7 +121,6 @@ shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
|||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qu6vm"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qu6vm"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
next_pass = SubResource("ShaderMaterial_2pd8h")
|
|
||||||
albedo_texture = ExtResource("9_p11ap")
|
albedo_texture = ExtResource("9_p11ap")
|
||||||
metallic = 1.0
|
metallic = 1.0
|
||||||
metallic_texture = ExtResource("10_d1yty")
|
metallic_texture = ExtResource("10_d1yty")
|
||||||
@ -182,7 +180,7 @@ size = Vector2(1.5, 0.5)
|
|||||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_3kphg"]
|
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_3kphg"]
|
||||||
data = PackedVector3Array(0.75, -0.25, 0, -0.75, -0.25, 0, 0.75, 0.25, 0, -0.75, -0.25, 0, -0.75, 0.25, 0, 0.75, 0.25, 0)
|
data = PackedVector3Array(0.75, -0.25, 0, -0.75, -0.25, 0, 0.75, 0.25, 0, -0.75, -0.25, 0, -0.75, 0.25, 0, 0.75, 0.25, 0)
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_v8y1j"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fll4m"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("5_1njh5")
|
shader = ExtResource("5_1njh5")
|
||||||
@ -203,7 +201,6 @@ shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
|||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_54or8"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_54or8"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
next_pass = SubResource("ShaderMaterial_v8y1j")
|
|
||||||
albedo_texture = ExtResource("13_fll4m")
|
albedo_texture = ExtResource("13_fll4m")
|
||||||
metallic = 1.0
|
metallic = 1.0
|
||||||
metallic_texture = ExtResource("14_dly4i")
|
metallic_texture = ExtResource("14_dly4i")
|
||||||
@ -246,7 +243,7 @@ shadow_mesh = SubResource("ArrayMesh_d8x4t")
|
|||||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_p11ap"]
|
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_p11ap"]
|
||||||
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
|
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_d1yty"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dly4i"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("5_1njh5")
|
shader = ExtResource("5_1njh5")
|
||||||
@ -267,7 +264,6 @@ shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
|||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ruwlj"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ruwlj"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
next_pass = SubResource("ShaderMaterial_d1yty")
|
|
||||||
albedo_texture = ExtResource("13_fll4m")
|
albedo_texture = ExtResource("13_fll4m")
|
||||||
metallic = 1.0
|
metallic = 1.0
|
||||||
metallic_texture = ExtResource("14_dly4i")
|
metallic_texture = ExtResource("14_dly4i")
|
||||||
@ -302,6 +298,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.75)
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
|
||||||
|
|
||||||
[node name="Floor" parent="Airlock" instance=ExtResource("2_2egij")]
|
[node name="Floor" parent="Airlock" instance=ExtResource("2_2egij")]
|
||||||
|
source_gunk_material = SubResource("ShaderMaterial_ruwlj")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Airlock/Floor"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="Airlock/Floor"]
|
||||||
mesh = SubResource("ArrayMesh_ruwlj")
|
mesh = SubResource("ArrayMesh_ruwlj")
|
||||||
@ -312,6 +309,7 @@ shape = SubResource("ConcavePolygonShape3D_yvipw")
|
|||||||
|
|
||||||
[node name="Ceiling" parent="Airlock" instance=ExtResource("2_2egij")]
|
[node name="Ceiling" parent="Airlock" instance=ExtResource("2_2egij")]
|
||||||
transform = Transform3D(1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 3, 0)
|
transform = Transform3D(1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 3, 0)
|
||||||
|
source_gunk_material = SubResource("ShaderMaterial_0idgf")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Airlock/Ceiling"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="Airlock/Ceiling"]
|
||||||
mesh = SubResource("ArrayMesh_0idgf")
|
mesh = SubResource("ArrayMesh_0idgf")
|
||||||
@ -387,6 +385,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.5)
|
|||||||
[node name="LeftWall" parent="Airlock/FarWall" instance=ExtResource("2_2egij")]
|
[node name="LeftWall" parent="Airlock/FarWall" instance=ExtResource("2_2egij")]
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -3, 1.5, 0)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -3, 1.5, 0)
|
||||||
mask_dim = 64
|
mask_dim = 64
|
||||||
|
source_gunk_material = SubResource("ShaderMaterial_fll4m")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Airlock/FarWall/LeftWall"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="Airlock/FarWall/LeftWall"]
|
||||||
mesh = SubResource("ArrayMesh_1njh5")
|
mesh = SubResource("ArrayMesh_1njh5")
|
||||||
@ -397,6 +396,7 @@ shape = SubResource("ConcavePolygonShape3D_p11ap")
|
|||||||
[node name="RightWall" parent="Airlock/FarWall" instance=ExtResource("2_2egij")]
|
[node name="RightWall" parent="Airlock/FarWall" instance=ExtResource("2_2egij")]
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 3, 1.5, 0)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 3, 1.5, 0)
|
||||||
mask_dim = 64
|
mask_dim = 64
|
||||||
|
source_gunk_material = SubResource("ShaderMaterial_dly4i")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Airlock/FarWall/RightWall"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="Airlock/FarWall/RightWall"]
|
||||||
mesh = SubResource("ArrayMesh_fll4m")
|
mesh = SubResource("ArrayMesh_fll4m")
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,55 +1,15 @@
|
|||||||
[gd_scene load_steps=27 format=4 uid="uid://b6eg8t04rkh0c"]
|
[gd_scene load_steps=21 format=4 uid="uid://b6eg8t04rkh0c"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bkmn5m47mt1gh" path="res://src/props/wall_switch/wall_switch.gd" id="2_kfvqd"]
|
[ext_resource type="Script" uid="uid://bkmn5m47mt1gh" path="res://src/props/wall_switch/wall_switch.gd" id="2_kfvqd"]
|
||||||
[ext_resource type="Texture2D" uid="uid://1wjcyqynwlb6" path="res://assets/props/wall_switch/wall_switch_C.png" id="2_vufqs"]
|
[ext_resource type="Texture2D" uid="uid://1wjcyqynwlb6" path="res://assets/props/wall_switch/wall_switch_C.png" id="2_vufqs"]
|
||||||
[ext_resource type="PackedScene" uid="uid://d0yq007888oq5" path="res://assets/props/wall_switch/wall_switch.gltf" id="2_whafo"]
|
[ext_resource type="PackedScene" uid="uid://d0yq007888oq5" path="res://assets/props/wall_switch/wall_switch.gltf" id="2_whafo"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bur4dtt4irwgd" path="res://assets/props/wall_switch/wall_switch_M.png" id="3_3fhmv"]
|
[ext_resource type="Texture2D" uid="uid://bur4dtt4irwgd" path="res://assets/props/wall_switch/wall_switch_M.png" id="3_3fhmv"]
|
||||||
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="4_km3i7"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://ddve6jcfcuthx" path="res://assets/props/wall_switch/wall_switch_N.png" id="4_pg3hp"]
|
[ext_resource type="Texture2D" uid="uid://ddve6jcfcuthx" path="res://assets/props/wall_switch/wall_switch_N.png" id="4_pg3hp"]
|
||||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="5_382wj"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://rq5e0a3sco88" path="res://assets/props/wall_switch/wall_switch_R.png" id="5_555wb"]
|
[ext_resource type="Texture2D" uid="uid://rq5e0a3sco88" path="res://assets/props/wall_switch/wall_switch_R.png" id="5_555wb"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="7_3ib1l"]
|
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="7_3ib1l"]
|
||||||
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="10_qw6jt"]
|
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="10_qw6jt"]
|
||||||
|
|
||||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ow0bp"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jtkkw"]
|
||||||
load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex"
|
|
||||||
|
|
||||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_d70or"]
|
|
||||||
width = 256
|
|
||||||
height = 256
|
|
||||||
depth = 32
|
|
||||||
seamless = true
|
|
||||||
seamless_blend_skirt = 0.5
|
|
||||||
noise = ExtResource("5_382wj")
|
|
||||||
|
|
||||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_0ksu8"]
|
|
||||||
width = 256
|
|
||||||
height = 256
|
|
||||||
depth = 32
|
|
||||||
seamless = true
|
|
||||||
seamless_blend_skirt = 0.5
|
|
||||||
noise = ExtResource("5_382wj")
|
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6aabu"]
|
|
||||||
render_priority = 0
|
|
||||||
shader = ExtResource("4_km3i7")
|
|
||||||
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/pixellation = 32.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 = SubResource("CompressedTexture2D_ow0bp")
|
|
||||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_d70or")
|
|
||||||
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_0ksu8")
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7shuc"]
|
|
||||||
next_pass = SubResource("ShaderMaterial_6aabu")
|
|
||||||
albedo_texture = ExtResource("2_vufqs")
|
albedo_texture = ExtResource("2_vufqs")
|
||||||
metallic = 1.0
|
metallic = 1.0
|
||||||
metallic_texture = ExtResource("3_3fhmv")
|
metallic_texture = ExtResource("3_3fhmv")
|
||||||
@ -67,7 +27,7 @@ _surfaces = [{
|
|||||||
"format": 34359745559,
|
"format": 34359745559,
|
||||||
"index_count": 252,
|
"index_count": 252,
|
||||||
"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADQAMAA8ADQAPABAAEQASABMAEgARABQAEgAUABUAFgAXABgAFgAZABcAGgAXABkAGwAXABoAGgAZABwAGwAdABcAHAAZAB4AHwAdABsAHAAeAB8AHwAeAB0AIAAhACIAIAAjACEAJAAlACYAJAAnACUAKAApACoAKAArACkALAAtAC4ALAAvAC0AMAAxADIAMAAzADEANAA1ADYANAA3ADUANAA4ADcANAA5ADgAOQA6ADgAOwA8AD0AOwA+ADwAOwA/AD4AOwBAAD8AQQBCAEMAQQBEAEIAQQBFAEQAQQBGAEUARgBHAEUASABJAEoASABLAEkASABMAEsASABNAEwATgBPAFAAUQBOAFAAUQBQAFIAUwBUAFUAUwBWAFQAVwBYAFkAVwBaAFgAWwBcAF0AWwBeAFwAXwBgAGEAXwBiAGAAYwBkAGUAYwBmAGQAYwBnAGYAYwBoAGcAaQBqAGsAaQBsAGoAbQBuAG8AbQBwAG4AbQBxAHAAbQByAHEAcwB0AHUAcwB2AHQAdwB4AHkAegB3AHkAegB5AHsAfAB9AH4AfAB/AH0AgACBAIIAgACDAIEAhACFAIYAhACHAIUAiACJAIoAiACLAIkA"),
|
"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADQAMAA8ADQAPABAAEQASABMAEgARABQAEgAUABUAFgAXABgAFgAZABcAGgAXABkAGwAXABoAGgAZABwAGwAdABcAHAAZAB4AHwAdABsAHAAeAB8AHwAeAB0AIAAhACIAIAAjACEAJAAlACYAJAAnACUAKAApACoAKAArACkALAAtAC4ALAAvAC0AMAAxADIAMAAzADEANAA1ADYANAA3ADUANAA4ADcANAA5ADgAOQA6ADgAOwA8AD0AOwA+ADwAOwA/AD4AOwBAAD8AQQBCAEMAQQBEAEIAQQBFAEQAQQBGAEUARgBHAEUASABJAEoASABLAEkASABMAEsASABNAEwATgBPAFAAUQBOAFAAUQBQAFIAUwBUAFUAUwBWAFQAVwBYAFkAVwBaAFgAWwBcAF0AWwBeAFwAXwBgAGEAXwBiAGAAYwBkAGUAYwBmAGQAYwBnAGYAYwBoAGcAaQBqAGsAaQBsAGoAbQBuAG8AbQBwAG4AbQBxAHAAbQByAHEAcwB0AHUAcwB2AHQAdwB4AHkAegB3AHkAegB5AHsAfAB9AH4AfAB/AH0AgACBAIIAgACDAIEAhACFAIYAhACHAIUAiACJAIoAiACLAIkA"),
|
||||||
"material": SubResource("StandardMaterial3D_7shuc"),
|
"material": SubResource("StandardMaterial3D_jtkkw"),
|
||||||
"primitive": 3,
|
"primitive": 3,
|
||||||
"skin_data": PackedByteArray("AAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAA="),
|
"skin_data": PackedByteArray("AAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAA="),
|
||||||
"uv_scale": Vector4(0, 0, 0, 0),
|
"uv_scale": Vector4(0, 0, 0, 0),
|
||||||
|
@ -15,6 +15,9 @@ const CLEAR_TOTAL_EPSILON := 1
|
|||||||
@export var mesh_instance: MeshInstance3D
|
@export var mesh_instance: MeshInstance3D
|
||||||
@export var initial_mask: Texture
|
@export var initial_mask: Texture
|
||||||
|
|
||||||
|
@export var source_gunk_material: ShaderMaterial
|
||||||
|
@export var material_surface: int = 0
|
||||||
|
|
||||||
var meshtool := MeshDataTool.new()
|
var meshtool := MeshDataTool.new()
|
||||||
|
|
||||||
var _polyline_buffer: Array[Vector2] = []
|
var _polyline_buffer: Array[Vector2] = []
|
||||||
@ -49,13 +52,20 @@ func _ready() -> void:
|
|||||||
assert(mesh_instance, "GunkBody %s has no associated mesh!" % str(self))
|
assert(mesh_instance, "GunkBody %s has no associated mesh!" % str(self))
|
||||||
|
|
||||||
mask_viewport.size = Vector2(mask_dim, mask_dim)
|
mask_viewport.size = Vector2(mask_dim, mask_dim)
|
||||||
var gunk_mat: ShaderMaterial = mesh_instance.mesh.surface_get_material(0).next_pass
|
|
||||||
gunk_mat.set_shader_parameter("gunk_mask", mask_viewport.get_texture())
|
# Create a new instance of the gunk material
|
||||||
meshtool.create_from_surface(mesh_instance.mesh as ArrayMesh, 0)
|
var mat_instance: ShaderMaterial = source_gunk_material.duplicate()
|
||||||
|
# Set material gunk mask to our mask viewport texture
|
||||||
|
mat_instance.set_shader_parameter("gunk_mask", mask_viewport.get_texture())
|
||||||
|
# Set gunk material as the next-pass material of the base surface material
|
||||||
|
mesh_instance.mesh.surface_get_material(material_surface).next_pass = mat_instance
|
||||||
|
|
||||||
if initial_mask:
|
if initial_mask:
|
||||||
mask_texture.texture = initial_mask
|
mask_texture.texture = initial_mask
|
||||||
|
|
||||||
|
# Initialize meshtool
|
||||||
|
meshtool.create_from_surface(mesh_instance.mesh as ArrayMesh, 0)
|
||||||
|
|
||||||
_thread = Thread.new()
|
_thread = Thread.new()
|
||||||
_thread.start(_async_compute_clear_total)
|
_thread.start(_async_compute_clear_total)
|
||||||
|
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://c2omlx4ptrc01"]
|
[gd_scene load_steps=5 format=3 uid="uid://c2omlx4ptrc01"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://hbl5u20wlwr5" path="res://src/world/gunk_body/gunk_body.gd" id="1_qqbpr"]
|
[ext_resource type="Script" uid="uid://hbl5u20wlwr5" path="res://src/world/gunk_body/gunk_body.gd" id="1_qqbpr"]
|
||||||
|
[ext_resource type="Material" uid="uid://kkyg6jrp3d53" path="res://assets/materials/gunk_material.tres" id="2_hrldx"]
|
||||||
[ext_resource type="Script" uid="uid://bom5qysgfvap1" path="res://src/world/gunk_body/draw_controller.gd" id="2_kkcjw"]
|
[ext_resource type="Script" uid="uid://bom5qysgfvap1" path="res://src/world/gunk_body/draw_controller.gd" id="2_kkcjw"]
|
||||||
[ext_resource type="Script" uid="uid://ba7480ara8eo" path="res://levels/sandbox/debug_draw.gd" id="3_m8wx4"]
|
[ext_resource type="Script" uid="uid://ba7480ara8eo" path="res://levels/sandbox/debug_draw.gd" id="3_m8wx4"]
|
||||||
|
|
||||||
[node name="GunkBody" type="StaticBody3D"]
|
[node name="GunkBody" type="StaticBody3D"]
|
||||||
script = ExtResource("1_qqbpr")
|
script = ExtResource("1_qqbpr")
|
||||||
|
source_gunk_material = ExtResource("2_hrldx")
|
||||||
|
|
||||||
[node name="MaskViewport" type="SubViewport" parent="."]
|
[node name="MaskViewport" type="SubViewport" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user