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="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://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"]
|
||||
background_mode = 2
|
||||
@@ -38,13 +40,16 @@ shading_mode = 0
|
||||
albedo_color = Color(0.5882353, 0.7019608, 0.85882354, 1)
|
||||
albedo_texture = ExtResource("2_mr0dk")
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_nydtf"]
|
||||
viewport_path = NodePath("Screen/SubViewport")
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_m5l0g"]
|
||||
size = Vector2(3, 3)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_nydtf"]
|
||||
render_priority = 0
|
||||
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_freq = 10.0
|
||||
shader_parameter/wave_width = 1.0
|
||||
@@ -106,7 +111,47 @@ mesh = SubResource("SphereMesh_nydtf")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_u74oo")
|
||||
|
||||
[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")]
|
||||
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_blur = 10.0
|
||||
|
||||
[editable path="hub"]
|
||||
[editable path="AiReceptacle"]
|
||||
[editable path="AiReceptacle/ModelBroken"]
|
||||
[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