Worked on culling the water inside of the boat

This commit is contained in:
nc5432 2025-02-20 13:42:18 -05:00
parent d1dc134ecb
commit 00c83b55f1
2 changed files with 33 additions and 20 deletions

View File

@ -49,6 +49,9 @@ material = SubResource("ShaderMaterial_g1sji")
[sub_resource type="BoxShape3D" id="BoxShape3D_bt6if"]
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_wkpnq"]
points = PackedVector3Array(-0.669005, -0.162939, -0.133625, -0.498217, -1.05109, -0.207684, -0.418063, -0.924207, 0.112045, -0.480143, -0.14392, 0.172168, -0.449365, 0.636117, 0.122917, -0.609805, 0.724956, -0.204108, 0, -1.11465, -0.229865, 0, 1.44193, -0.267368, 0, -0.947981, 0.0959932, -0.143152, -0.759541, 0.326779, -0.269409, -0.0640898, 0.373622, -0.219902, 0.631612, 0.329479, 0, 0.875608, 0.420392, 0, 1.24648, 0.0675372, 0.498086, -1.05109, -0.207684, 0.417932, -0.924207, 0.112045, 0.609674, 0.724956, -0.204108, 0.143021, -0.759541, 0.326779, 0, -0.644926, 0.381283, 0, 0.115842, 0.478034, 0.269278, -0.0640898, 0.373622, 0.219771, 0.631612, 0.329479, 0.449234, 0.636117, 0.122917, 0.669005, -0.162939, -0.133625, 0.480012, -0.14392, 0.172168)
[sub_resource type="PlaneMesh" id="PlaneMesh_wuatm"]
size = Vector2(50, 50)
subdivide_width = 20
@ -58,9 +61,6 @@ subdivide_depth = 20
transparency = 1
albedo_color = Color(0, 0.372549, 1, 0.6)
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_wkpnq"]
points = PackedVector3Array(-0.669005, -0.162939, -0.133625, -0.498217, -1.05109, -0.207684, -0.418063, -0.924207, 0.112045, -0.480143, -0.14392, 0.172168, -0.449365, 0.636117, 0.122917, -0.609805, 0.724956, -0.204108, 0, -1.11465, -0.229865, 0, 1.44193, -0.267368, 0, -0.947981, 0.0959932, -0.143152, -0.759541, 0.326779, -0.269409, -0.0640898, 0.373622, -0.219902, 0.631612, 0.329479, 0, 0.875608, 0.420392, 0, 1.24648, 0.0675372, 0.498086, -1.05109, -0.207684, 0.417932, -0.924207, 0.112045, 0.609674, 0.724956, -0.204108, 0.143021, -0.759541, 0.326779, 0, -0.644926, 0.381283, 0, 0.115842, 0.478034, 0.269278, -0.0640898, 0.373622, 0.219771, 0.631612, 0.329479, 0.449234, 0.636117, 0.122917, 0.669005, -0.162939, -0.133625, 0.480012, -0.14392, 0.172168)
[node name="WaterPlane" type="Node3D"]
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
@ -75,12 +75,8 @@ mesh = SubResource("PlaneMesh_w7hsm")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_8bg6o")
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(-0.718151, 0, 0.695888, 0, 1, 0, -0.695888, 0, -0.718151, 20.1979, 4.08685, -9.30518)
fov = 70.0
[node name="Cube" type="RigidBody3D" parent="." node_paths=PackedStringArray("samplePoints")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.0169, 0.583377, -1.69189)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.4682, 1.58338, 8.16784)
linear_damp = 1.5
angular_damp = 5.0
script = ExtResource("4_f67eq")
@ -116,18 +112,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -0.5, -0.5)
[node name="Node3D8" type="Node3D" parent="Cube"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, -0.5, -0.5)
[node name="MeshInstance3D3" type="MeshInstance3D" parent="."]
visible = false
mesh = SubResource("PlaneMesh_wuatm")
surface_material_override/0 = SubResource("StandardMaterial3D_84jie")
script = ExtResource("5_ltuhf")
amplitude = 0.085
speed = 1.355
waveCount = 1
amplitudeScaleFactor = 0.85
frequencyScaleFactor = 1.145
dirs = Array[Vector2]([Vector2(0.981, -0.588)])
[node name="Boat" type="RigidBody3D" parent="." node_paths=PackedStringArray("samplePoints")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.5064, 0.747465, 0.384609)
linear_damp = 1.5
@ -170,6 +154,22 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, -0.236, 1.2)
[node name="Node3D8" type="Node3D" parent="Boat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, -0.236, -1.2)
[node name="Camera3D" type="Camera3D" parent="Boat"]
transform = Transform3D(-0.992757, 0, 0.120137, 0, 1, 0, -0.120137, 0, -0.992757, 0.072, 0.76, -0.291)
fov = 70.0
[node name="MeshInstance3D3" type="MeshInstance3D" parent="."]
visible = false
mesh = SubResource("PlaneMesh_wuatm")
surface_material_override/0 = SubResource("StandardMaterial3D_84jie")
script = ExtResource("5_ltuhf")
amplitude = 0.085
speed = 1.355
waveCount = 1
amplitudeScaleFactor = 0.85
frequencyScaleFactor = 1.145
dirs = Array[Vector2]([Vector2(0.981, -0.588)])
[node name="WaveManager" type="Node" parent="."]
script = ExtResource("8_jes3c")
amplitude = 0.085

View File

@ -45,6 +45,19 @@ void fragment() {
ALPHA = 0.9;
float dep = texture(depth, SCREEN_UV).x;
vec3 ndc = vec3(SCREEN_UV * 2.0 - 1.0, dep);
vec4 view = INV_PROJECTION_MATRIX * vec4(ndc, 1.0);
view.xyz /= view.w;
float linear_depth = -view.z;
float object_depth = FRAGCOORD.z;
vec3 object_ndc = vec3(SCREEN_UV * 2.0 - 1.0, object_depth);
vec4 object_view = INV_PROJECTION_MATRIX * vec4(object_ndc, 1.0);
object_view.xyz /= object_view.w;
float linear_object_depth = -object_view.z;
if (linear_depth - linear_object_depth < 1.0){
discard;
//ALPHA = 0.9 * clamp(linear_depth - linear_object_depth - 0.7, 0.0, 1.0);
}
}
//void light() {