Amélioration de l'ambiance de Aqua
This commit is contained in:
49
common/vfx/materials/shaders/caustics.gdshader
Normal file
49
common/vfx/materials/shaders/caustics.gdshader
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
shader_type spatial;
|
||||||
|
|
||||||
|
uniform float scale : hint_range(0.1, 2.0, 0.1) = 1.0;
|
||||||
|
uniform float speed : hint_range(0.1, 2.0, 0.1) = 0.2;
|
||||||
|
uniform float strenght : hint_range(10., 500., 10.) = 100.;
|
||||||
|
uniform sampler2D color_ramp;
|
||||||
|
varying vec3 world_position;
|
||||||
|
|
||||||
|
vec2 random(vec2 uv) {
|
||||||
|
return vec2(fract(sin(dot(uv.xy,
|
||||||
|
vec2(12.9898,78.233))) * 43758.5453123));
|
||||||
|
}
|
||||||
|
|
||||||
|
float worley(vec2 uv, float columns, float rows) {
|
||||||
|
|
||||||
|
vec2 index_uv = floor(vec2(uv.x * columns, uv.y * rows));
|
||||||
|
vec2 fract_uv = fract(vec2(uv.x * columns, uv.y * rows));
|
||||||
|
|
||||||
|
float minimum_dist = 1.0;
|
||||||
|
|
||||||
|
for (int y= -1; y <= 1; y++) {
|
||||||
|
for (int x= -1; x <= 1; x++) {
|
||||||
|
vec2 neighbor = vec2(float(x),float(y));
|
||||||
|
vec2 point = random(index_uv + neighbor);
|
||||||
|
|
||||||
|
vec2 diff = neighbor + point - fract_uv;
|
||||||
|
float dist = length(diff);
|
||||||
|
minimum_dist = min(minimum_dist, dist);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return minimum_dist;
|
||||||
|
}
|
||||||
|
|
||||||
|
void vertex(){
|
||||||
|
world_position = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fragment(){
|
||||||
|
float worley_value = worley(world_position.xz * scale + TIME * speed, 3.0, 3.0);
|
||||||
|
float worley_value_2 = worley(world_position.xz * scale * 2. - TIME * speed, 3.0, 3.0);
|
||||||
|
|
||||||
|
float color = texture(color_ramp, vec2(worley_value*worley_value_2)).r;
|
||||||
|
color = min(0.99, color);
|
||||||
|
color = log(0.999)/log(color);
|
||||||
|
color *= strenght;
|
||||||
|
ALPHA = color;
|
||||||
|
EMISSION = vec3(color);
|
||||||
|
}
|
||||||
1
common/vfx/materials/shaders/caustics.gdshader.uid
Normal file
1
common/vfx/materials/shaders/caustics.gdshader.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://740mg4jlufyc
|
||||||
@@ -5,6 +5,8 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://ci5vs3qhiuf0x" path="res://stages/3d_scenes/common/assets/3d/hub.blend" id="3_mr0dk"]
|
[ext_resource type="PackedScene" uid="uid://ci5vs3qhiuf0x" path="res://stages/3d_scenes/common/assets/3d/hub.blend" id="3_mr0dk"]
|
||||||
[ext_resource type="Shader" uid="uid://n4s2kr10ivgb" path="res://common/vfx/materials/shaders/underwater.gdshader" id="4_dltk4"]
|
[ext_resource type="Shader" uid="uid://n4s2kr10ivgb" path="res://common/vfx/materials/shaders/underwater.gdshader" id="4_dltk4"]
|
||||||
[ext_resource type="PackedScene" uid="uid://da7a74dg30q1l" path="res://entities/player_3d/player_3D.tscn" id="4_k4ak1"]
|
[ext_resource type="PackedScene" uid="uid://da7a74dg30q1l" path="res://entities/player_3d/player_3D.tscn" id="4_k4ak1"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://c2unmkf4ec4gf" path="res://entities/interactable_3d/ai_receptacle/ai_receptacle.tscn" id="4_m5l0g"]
|
||||||
|
[ext_resource type="Material" uid="uid://ba5cnhu0o1yf5" path="res://stages/3d_scenes/aqua_base/resources/materials/caustic_default_3d.tres" id="4_nydtf"]
|
||||||
|
|
||||||
[sub_resource type="Environment" id="Environment_m5l0g"]
|
[sub_resource type="Environment" id="Environment_m5l0g"]
|
||||||
background_mode = 2
|
background_mode = 2
|
||||||
@@ -38,13 +40,16 @@ shading_mode = 0
|
|||||||
albedo_color = Color(0.5882353, 0.7019608, 0.85882354, 1)
|
albedo_color = Color(0.5882353, 0.7019608, 0.85882354, 1)
|
||||||
albedo_texture = ExtResource("2_mr0dk")
|
albedo_texture = ExtResource("2_mr0dk")
|
||||||
|
|
||||||
|
[sub_resource type="ViewportTexture" id="ViewportTexture_nydtf"]
|
||||||
|
viewport_path = NodePath("Screen/SubViewport")
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_m5l0g"]
|
[sub_resource type="QuadMesh" id="QuadMesh_m5l0g"]
|
||||||
size = Vector2(3, 3)
|
size = Vector2(3, 3)
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_nydtf"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_nydtf"]
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("4_dltk4")
|
shader = ExtResource("4_dltk4")
|
||||||
shader_parameter/tint = Color(0.13725491, 0.39215687, 0.6666667, 0.69411767)
|
shader_parameter/tint = Color(0.14069998, 0.39652818, 0.67, 0.29411766)
|
||||||
shader_parameter/wave_speed = 3.0
|
shader_parameter/wave_speed = 3.0
|
||||||
shader_parameter/wave_freq = 10.0
|
shader_parameter/wave_freq = 10.0
|
||||||
shader_parameter/wave_width = 1.0
|
shader_parameter/wave_width = 1.0
|
||||||
@@ -106,7 +111,47 @@ mesh = SubResource("SphereMesh_nydtf")
|
|||||||
surface_material_override/0 = SubResource("StandardMaterial3D_u74oo")
|
surface_material_override/0 = SubResource("StandardMaterial3D_u74oo")
|
||||||
|
|
||||||
[node name="hub" parent="." unique_id=1785379104 instance=ExtResource("3_mr0dk")]
|
[node name="hub" parent="." unique_id=1785379104 instance=ExtResource("3_mr0dk")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06477356, 2.558891, -0.17544556)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06701422, 2.5714142, -0.17472172)
|
||||||
|
|
||||||
|
[node name="hub" parent="hub" index="11" unique_id=1764872435]
|
||||||
|
surface_material_override/0 = ExtResource("4_nydtf")
|
||||||
|
surface_material_override/1 = ExtResource("4_nydtf")
|
||||||
|
|
||||||
|
[node name="AiReceptacle" parent="." unique_id=1082354698 instance=ExtResource("4_m5l0g")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3.9, -0.34409285)
|
||||||
|
screen_text = "DOWNLOAD_DATA"
|
||||||
|
broken = true
|
||||||
|
|
||||||
|
[node name="Model" parent="AiReceptacle" index="0" unique_id=154868613]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="ModelBroken" parent="AiReceptacle" index="1" unique_id=1633938801]
|
||||||
|
visible = true
|
||||||
|
|
||||||
|
[node name="Support" parent="AiReceptacle/ModelBroken" index="5" unique_id=1098621972]
|
||||||
|
surface_material_override/0 = ExtResource("4_nydtf")
|
||||||
|
|
||||||
|
[node name="Receptacle" parent="AiReceptacle/ModelBroken" index="6" unique_id=956575790]
|
||||||
|
surface_material_override/0 = ExtResource("4_nydtf")
|
||||||
|
|
||||||
|
[node name="Screen" parent="AiReceptacle" index="3" unique_id=1396407912]
|
||||||
|
texture = SubResource("ViewportTexture_nydtf")
|
||||||
|
|
||||||
|
[node name="ScreenTitle" parent="AiReceptacle/Screen/SubViewport/ScreenContent/VBoxContainer" parent_id_path=PackedInt32Array(1082354698, 1893636910) index="1" unique_id=443526476]
|
||||||
|
text = "DOWNLOAD_DATA"
|
||||||
|
|
||||||
|
[node name="SpotLight3D" type="SpotLight3D" parent="AiReceptacle" unique_id=1906884086]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, -0.67415154, -0.73859304, 0, 0.73859304, -0.67415154, 0, 0.66735864, 3.2564082)
|
||||||
|
light_color = Color(0.972549, 0.007843138, 0.3764706, 1)
|
||||||
|
light_energy = 9.821
|
||||||
|
light_volumetric_fog_energy = 16.0
|
||||||
|
spot_range = 11.312
|
||||||
|
spot_angle = 48.61
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="AiReceptacle" unique_id=1726681139]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.90115404, 3.440281)
|
||||||
|
light_energy = 0.282
|
||||||
|
omni_range = 0.90236074
|
||||||
|
|
||||||
[node name="Player3D" parent="." unique_id=549819967 instance=ExtResource("4_k4ak1")]
|
[node name="Player3D" parent="." unique_id=549819967 instance=ExtResource("4_k4ak1")]
|
||||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 32.225853, -2.260468, 9.559124)
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 32.225853, -2.260468, 9.559124)
|
||||||
@@ -141,4 +186,7 @@ light_volumetric_fog_energy = 2.507
|
|||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
shadow_blur = 10.0
|
shadow_blur = 10.0
|
||||||
|
|
||||||
|
[editable path="hub"]
|
||||||
|
[editable path="AiReceptacle"]
|
||||||
|
[editable path="AiReceptacle/ModelBroken"]
|
||||||
[editable path="Player3D"]
|
[editable path="Player3D"]
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
[gd_resource type="StandardMaterial3D" format=3 uid="uid://ba5cnhu0o1yf5"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dlsx1mofjccib" path="res://common/assets/textures/3d_texture.png" id="1_htbkf"]
|
||||||
|
[ext_resource type="Shader" uid="uid://740mg4jlufyc" path="res://common/vfx/materials/shaders/caustics.gdshader" id="2_w81pb"]
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_0bekw"]
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_s2rwh"]
|
||||||
|
gradient = SubResource("Gradient_0bekw")
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bblss"]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("2_w81pb")
|
||||||
|
shader_parameter/scale = 0.60000000894072
|
||||||
|
shader_parameter/speed = 0.10000000149012
|
||||||
|
shader_parameter/strenght = 100.0
|
||||||
|
shader_parameter/color_ramp = SubResource("GradientTexture1D_s2rwh")
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
next_pass = SubResource("ShaderMaterial_bblss")
|
||||||
|
diffuse_mode = 3
|
||||||
|
specular_mode = 2
|
||||||
|
albedo_texture = ExtResource("1_htbkf")
|
||||||
|
metallic_specular = 0.0
|
||||||
|
roughness = 0.0
|
||||||
|
rim_tint = 0.48
|
||||||
|
stencil_flags = 2
|
||||||
|
stencil_reference = 5
|
||||||
|
stencil_outline_thickness = 0.626
|
||||||
Reference in New Issue
Block a user