Wip : buyancy
This commit is contained in:
parent
cf76b1d256
commit
1ca99b9897
5 changed files with 74 additions and 12 deletions
|
@ -1,9 +1,11 @@
|
|||
[gd_scene load_steps=9 format=3 uid="uid://cjjrdfywoxwgr"]
|
||||
[gd_scene load_steps=11 format=3 uid="uid://cjjrdfywoxwgr"]
|
||||
|
||||
[ext_resource type="Material" uid="uid://br11m0qg2yhid" path="res://mat/waterMat.tres" id="1_x7q1n"]
|
||||
[ext_resource type="Script" uid="uid://dialqdlhpqqsg" path="res://mat/water.gd" id="2_0sebh"]
|
||||
[ext_resource type="PackedScene" uid="uid://cpykugh40l23q" path="res://kaykit/medieval/building_windmill_herited.tscn" id="2_cdryl"]
|
||||
[ext_resource type="PackedScene" uid="uid://j4cu75dnf3u8" path="res://kaykit/medieval/building_well_red.fbx" id="4_wio4u"]
|
||||
[ext_resource type="PackedScene" uid="uid://chcjbpt2tr5k3" path="res://kaykit/medieval/building_watermill_herited.tscn" id="4_x7q1n"]
|
||||
[ext_resource type="PackedScene" uid="uid://babgqvkugifk1" path="res://boat/boat.tscn" id="5_wio4u"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_cdryl"]
|
||||
sky_top_color = Color(0.308708, 0.682951, 0.784164, 1)
|
||||
|
@ -38,6 +40,7 @@ environment = SubResource("Environment_x7q1n")
|
|||
|
||||
[node name="Water" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource("PlaneMesh_h5gxe")
|
||||
script = ExtResource("2_0sebh")
|
||||
|
||||
[node name="Env" type="Node3D" parent="."]
|
||||
|
||||
|
@ -52,3 +55,6 @@ transform = Transform3D(0.676092, 0, -0.736817, 0, 1, 0, 0.736817, 0, 0.676092,
|
|||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.50488, 1.99753, 0.0326443)
|
||||
|
||||
[node name="Boat" parent="." instance=ExtResource("5_wio4u")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.208335, 0.773113, 1.74591)
|
||||
|
|
21
mat/water.gd
Normal file
21
mat/water.gd
Normal file
|
@ -0,0 +1,21 @@
|
|||
extends MeshInstance3D
|
||||
|
||||
var material: ShaderMaterial
|
||||
var noise: FastNoiseLite = preload("res://mat/watershader.tres::FastNoiseLite_gokfr")
|
||||
|
||||
var noise_UVscale:Vector2
|
||||
var wave_speed:float
|
||||
var height_scale:float
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
material = mesh.surface_get_material(0)
|
||||
if material:
|
||||
noise_UVscale = material.get_shader_parameter("RippleTimeScale")
|
||||
print(noise_UVscale)
|
||||
FastNoiseLite
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
1
mat/water.gd.uid
Normal file
1
mat/water.gd.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://dialqdlhpqqsg
|
|
@ -5,6 +5,7 @@
|
|||
[resource]
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_337u2")
|
||||
shader_parameter/Waves = false
|
||||
shader_parameter/CellsScale = Vector2(15, 15)
|
||||
shader_parameter/RippleTimeScale = Vector2(0.05, 0.08)
|
||||
shader_parameter/MaxRippleHeight = 0.15
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_resource type="VisualShader" load_steps=73 format=3 uid="uid://dju4bgl0vd6f5"]
|
||||
[gd_resource type="VisualShader" load_steps=76 format=3 uid="uid://dju4bgl0vd6f5"]
|
||||
|
||||
[sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_obdjg"]
|
||||
linked_parent_graph_frame = 49
|
||||
|
@ -317,6 +317,18 @@ default_input_values = [0, Vector2(0, 0), 1, Vector2(0, 0)]
|
|||
op_type = 0
|
||||
operator = 2
|
||||
|
||||
[sub_resource type="VisualShaderNodeBooleanParameter" id="VisualShaderNodeBooleanParameter_obdjg"]
|
||||
parameter_name = "Waves"
|
||||
default_value_enabled = true
|
||||
default_value = true
|
||||
|
||||
[sub_resource type="VisualShaderNodeSwitch" id="VisualShaderNodeSwitch_eafem"]
|
||||
default_input_values = [0, false, 1, Vector3(1, 1, 1), 2, Vector3(0, 0, 0)]
|
||||
op_type = 4
|
||||
|
||||
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_dt65u"]
|
||||
input_name = "vertex"
|
||||
|
||||
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_obdjg"]
|
||||
input_name = "time"
|
||||
|
||||
|
@ -348,13 +360,14 @@ varying_type = 3
|
|||
|
||||
[resource]
|
||||
code = "shader_type spatial;
|
||||
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_toon, specular_toon;
|
||||
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_toon, specular_toon, fog_disabled;
|
||||
|
||||
|
||||
// Varyings
|
||||
varying vec2 var_Noise;
|
||||
varying vec2 var_Cells;
|
||||
|
||||
uniform bool Waves = true;
|
||||
uniform vec2 CellsScale = vec2(0.500000, 0.500000);
|
||||
uniform vec2 RippleTimeScale = vec2(0.050000, 0.080000);
|
||||
uniform sampler2D tex_vtx_4;
|
||||
|
@ -378,6 +391,10 @@ uniform float Spec : hint_range(0.0, 1.0) = 0.96899998188019;
|
|||
|
||||
|
||||
void vertex() {
|
||||
// BooleanParameter:17
|
||||
bool n_out17p0 = Waves;
|
||||
|
||||
|
||||
// Input:15
|
||||
vec2 n_out15p0 = UV;
|
||||
|
||||
|
@ -426,8 +443,17 @@ void vertex() {
|
|||
vec4 n_out7p0 = fma(n_out4p0, vec4(n_out11p0, 0.0), vec4(n_out5p0, 0.0));
|
||||
|
||||
|
||||
// Input:19
|
||||
vec3 n_out19p0 = VERTEX;
|
||||
|
||||
|
||||
vec3 n_out18p0;
|
||||
// Switch:18
|
||||
n_out18p0 = mix(n_out19p0, vec3(n_out7p0.xyz), float(n_out17p0));
|
||||
|
||||
|
||||
// Output:0
|
||||
VERTEX = vec3(n_out7p0.xyz);
|
||||
VERTEX = n_out18p0;
|
||||
|
||||
|
||||
// VaryingSetter:8
|
||||
|
@ -653,14 +679,15 @@ void fragment() {
|
|||
|
||||
}
|
||||
"
|
||||
graph_offset = Vector2(91.628, 272.02)
|
||||
graph_offset = Vector2(-540.049, 106.316)
|
||||
modes/diffuse = 3
|
||||
modes/specular = 1
|
||||
flags/fog_disabled = true
|
||||
varyings/Noise = "0,3"
|
||||
varyings/Cells = "0,3"
|
||||
nodes/vertex/0/position = Vector2(1080, 320)
|
||||
nodes/vertex/0/position = Vector2(1460, 340)
|
||||
nodes/vertex/2/node = SubResource("VisualShaderNodeInput_obdjg")
|
||||
nodes/vertex/2/position = Vector2(-480, 260)
|
||||
nodes/vertex/2/position = Vector2(-300, 460)
|
||||
nodes/vertex/3/node = SubResource("VisualShaderNodeUVFunc_vh75p")
|
||||
nodes/vertex/3/position = Vector2(-160, 200)
|
||||
nodes/vertex/4/node = SubResource("VisualShaderNodeTexture_0o2nh")
|
||||
|
@ -680,14 +707,20 @@ nodes/vertex/11/position = Vector2(400, 480)
|
|||
nodes/vertex/12/node = SubResource("VisualShaderNodeFloatParameter_004we")
|
||||
nodes/vertex/12/position = Vector2(-100, 660)
|
||||
nodes/vertex/13/node = SubResource("VisualShaderNodeVec2Parameter_odxaq")
|
||||
nodes/vertex/13/position = Vector2(-780, 740)
|
||||
nodes/vertex/13/position = Vector2(-800, -180)
|
||||
nodes/vertex/14/node = SubResource("VisualShaderNodeVaryingSetter_ty10k")
|
||||
nodes/vertex/14/position = Vector2(-390.622, 1049.07)
|
||||
nodes/vertex/14/position = Vector2(-420, 140)
|
||||
nodes/vertex/15/node = SubResource("VisualShaderNodeInput_cgfff")
|
||||
nodes/vertex/15/position = Vector2(-940, 640)
|
||||
nodes/vertex/15/position = Vector2(-960, -280)
|
||||
nodes/vertex/16/node = SubResource("VisualShaderNodeVectorOp_savut")
|
||||
nodes/vertex/16/position = Vector2(-417.362, 747.461)
|
||||
nodes/vertex/connections = PackedInt32Array(2, 0, 3, 2, 3, 0, 4, 0, 5, 0, 7, 2, 4, 0, 7, 0, 10, 0, 8, 0, 10, 0, 3, 1, 7, 0, 0, 0, 6, 0, 11, 0, 11, 0, 7, 1, 12, 0, 11, 1, 13, 0, 14, 0, 15, 0, 16, 0, 13, 0, 16, 1, 16, 0, 3, 0)
|
||||
nodes/vertex/16/position = Vector2(-440, -180)
|
||||
nodes/vertex/17/node = SubResource("VisualShaderNodeBooleanParameter_obdjg")
|
||||
nodes/vertex/17/position = Vector2(920, 80)
|
||||
nodes/vertex/18/node = SubResource("VisualShaderNodeSwitch_eafem")
|
||||
nodes/vertex/18/position = Vector2(1280, 140)
|
||||
nodes/vertex/19/node = SubResource("VisualShaderNodeInput_dt65u")
|
||||
nodes/vertex/19/position = Vector2(1100, 420)
|
||||
nodes/vertex/connections = PackedInt32Array(2, 0, 3, 2, 3, 0, 4, 0, 5, 0, 7, 2, 4, 0, 7, 0, 10, 0, 8, 0, 10, 0, 3, 1, 6, 0, 11, 0, 11, 0, 7, 1, 12, 0, 11, 1, 13, 0, 14, 0, 15, 0, 16, 0, 13, 0, 16, 1, 16, 0, 3, 0, 7, 0, 18, 1, 17, 0, 18, 0, 18, 0, 0, 0, 19, 0, 18, 2)
|
||||
nodes/fragment/0/position = Vector2(1780, 1540)
|
||||
nodes/fragment/2/node = SubResource("VisualShaderNodeColorParameter_qysla")
|
||||
nodes/fragment/2/position = Vector2(240, 920)
|
||||
|
|
Loading…
Reference in a new issue