diff --git a/src/base-environments/youth_room/import/materials/metal.tres b/src/base-environments/youth_room/import/materials/metal.tres index ed79d28..116e077 100644 --- a/src/base-environments/youth_room/import/materials/metal.tres +++ b/src/base-environments/youth_room/import/materials/metal.tres @@ -6,4 +6,4 @@ cull_mode = 2 vertex_color_use_as_albedo = true albedo_color = Color(0.906332, 0.906332, 0.906332, 1) metallic = 1.0 -roughness = 0.334862 +roughness = 0.4 diff --git a/src/base-environments/youth_room/lava-lamp.tscn b/src/base-environments/youth_room/lava-lamp.tscn new file mode 100644 index 0000000..f33908a --- /dev/null +++ b/src/base-environments/youth_room/lava-lamp.tscn @@ -0,0 +1,126 @@ +[gd_scene load_steps=15 format=3 uid="uid://bigr0lnen1xdh"] + +[ext_resource type="ArrayMesh" uid="uid://cbbreijekdjel" path="res://base-environments/youth_room/shaders/raising-lava.res" id="1_kkx3t"] +[ext_resource type="ArrayMesh" uid="uid://7bpgy7uud2ai" path="res://base-environments/youth_room/shaders/falling-lava.res" id="2_tokpx"] +[ext_resource type="Shader" uid="uid://bcuduhlnij5mc" path="res://base-environments/youth_room/shaders/glass.tres" id="3_e48d5"] +[ext_resource type="ArrayMesh" uid="uid://dpof211rbvl30" path="res://base-environments/youth_room/shaders/lava-glass.res" id="4_bg48h"] +[ext_resource type="Shader" path="res://base-environments/youth_room/shaders/lava-lamp.gdshader" id="4_y2lnx"] +[ext_resource type="ArrayMesh" uid="uid://bsxcltpxwi5c2" path="res://base-environments/youth_room/shaders/lava-metal.res" id="5_4c8kc"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7uei1"] +albedo_color = Color(0.933333, 0.933333, 0.933333, 1) +metallic = 1.0 +roughness = 0.4 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_2vmtt"] +render_priority = 0 +shader = ExtResource("3_e48d5") +shader_parameter/glass_tint = Color(0.631373, 0.584314, 0.376471, 1) +shader_parameter/lightcolor = Color(1.5, 2, 0.76, 1) + +[sub_resource type="Gradient" id="Gradient_r18tr"] +colors = PackedColorArray(0.705882, 6.36471, 0.211765, 1, 0.279697, 0.985193, 0.315141, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_42bqf"] +gradient = SubResource("Gradient_r18tr") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_31q3g"] +render_priority = 0 +shader = ExtResource("4_y2lnx") +shader_parameter/drop_size = 0.015 +shader_parameter/stretch_compensatioon = 35.0 +shader_parameter/fill = 0.655 +shader_parameter/speed = 0.01 +shader_parameter/brightness = 1.0 +shader_parameter/gradient = SubResource("GradientTexture2D_42bqf") + +[sub_resource type="Animation" id="Animation_0ijgr"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../falling:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} + +[sub_resource type="Animation" id="Animation_ovxyq"] +resource_name = "lavalamp" +length = 60.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 60), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 6.28319, 0), Vector3(0, 0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../falling:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 60), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 6.28319, 0), Vector3(0, 0, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_88lyq"] +_data = { +"RESET": SubResource("Animation_0ijgr"), +"lavalamp": SubResource("Animation_ovxyq") +} + +[node name="Lava-metal" type="MeshInstance3D"] +material_override = SubResource("StandardMaterial3D_7uei1") +mesh = ExtResource("5_4c8kc") + +[node name="Lava-glass" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1.02, 0, 0, 0, 1, 0, 0.193229, 0) +material_override = SubResource("ShaderMaterial_2vmtt") +mesh = ExtResource("4_bg48h") +skeleton = NodePath("") + +[node name="raising" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.188474, 0) +material_override = SubResource("ShaderMaterial_31q3g") +mesh = ExtResource("2_tokpx") +skeleton = NodePath("") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +root_node = NodePath("../raising") +autoplay = "lavalamp" +libraries = { +"": SubResource("AnimationLibrary_88lyq") +} + +[node name="falling" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.188474, 0) +material_override = SubResource("ShaderMaterial_31q3g") +mesh = ExtResource("1_kkx3t") +skeleton = NodePath("") diff --git a/src/base-environments/youth_room/shaders/falling-lava.res b/src/base-environments/youth_room/shaders/falling-lava.res index 34c012a..9c768a5 100644 Binary files a/src/base-environments/youth_room/shaders/falling-lava.res and b/src/base-environments/youth_room/shaders/falling-lava.res differ diff --git a/src/base-environments/youth_room/shaders/lava-glass.res b/src/base-environments/youth_room/shaders/lava-glass.res index 6fd69b3..af3aa5a 100644 Binary files a/src/base-environments/youth_room/shaders/lava-glass.res and b/src/base-environments/youth_room/shaders/lava-glass.res differ diff --git a/src/base-environments/youth_room/shaders/lava-lamp.gdshader b/src/base-environments/youth_room/shaders/lava-lamp.gdshader new file mode 100644 index 0000000..0c0b721 --- /dev/null +++ b/src/base-environments/youth_room/shaders/lava-lamp.gdshader @@ -0,0 +1,24 @@ +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, diffuse_lambert, specular_schlick_ggx, unshaded; + +uniform sampler2D gradient; +uniform float drop_size; +uniform float stretch_compensatioon; +uniform float fill; +uniform float speed; +uniform float brightness; + +void fragment() { + + float fresnel = 1.0/(1.0-abs(NORMAL.x)); + + float dist = 1.0 / distance(vec2(NORMAL.x/stretch_compensatioon, UV.y), vec2(0.0, mod(-TIME*speed*UV.x, 1.0))); + dist += 1.0 / distance(vec2(NORMAL.x/stretch_compensatioon, UV.y), vec2(0.0, mod(-TIME*speed*UV.x+0.3, 1.0))); + //dist = 0.0; + dist += 1.5 / distance(vec2(NORMAL.x/stretch_compensatioon, UV.y), vec2(0.0, fill)); + dist += 2.0 / distance(vec2(NORMAL.x/stretch_compensatioon, UV2.x), vec2(0.0, 1.0)); + + ALBEDO = texture(gradient, UV2).xyz*brightness; + ALPHA = float(int(dist > 1.0/drop_size)); + +} diff --git a/src/base-environments/youth_room/shaders/lava-metal.res b/src/base-environments/youth_room/shaders/lava-metal.res index 3656336..5f7cd43 100644 Binary files a/src/base-environments/youth_room/shaders/lava-metal.res and b/src/base-environments/youth_room/shaders/lava-metal.res differ diff --git a/src/base-environments/youth_room/shaders/lavalamp.tres b/src/base-environments/youth_room/shaders/lavalamp.tres deleted file mode 100644 index 7737a15..0000000 --- a/src/base-environments/youth_room/shaders/lavalamp.tres +++ /dev/null @@ -1,56 +0,0 @@ -[gd_resource type="VisualShader" load_steps=6 format=3 uid="uid://diua81fqg1ygg"] - -[sub_resource type="VisualShaderNodeVec2Parameter" id="VisualShaderNodeVec2Parameter_2yjsa"] -parameter_name = "ball_1_origin" - -[sub_resource type="VisualShaderNodeVec2Parameter" id="VisualShaderNodeVec2Parameter_2y23m"] -parameter_name = "ball_2_origin" - -[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_j8wbi"] -input_name = "uv" - -[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_u7n81"] - -[sub_resource type="VisualShaderNodeCompare" id="VisualShaderNodeCompare_3v1ps"] -default_input_values = [0, 0.0, 1, 1.0, 2, 1e-05] -function = 2 - -[resource] -code = "shader_type spatial; -render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx, unshaded; - - - - -void fragment() { -// FloatOp:7 - float n_in7p0 = 0.00000; - float n_in7p1 = 0.00000; - float n_out7p0 = n_in7p0 + n_in7p1; - - -// Compare:8 - float n_in8p1 = 1.00000; - bool n_out8p0 = n_out7p0 > n_in8p1; - - -// Output:0 - ALBEDO = vec3(n_out8p0 ? 1.0 : 0.0); - - -} -" -graph_offset = Vector2(-907.416, -156.666) -flags/unshaded = true -nodes/fragment/0/position = Vector2(720, 100) -nodes/fragment/2/node = SubResource("VisualShaderNodeVec2Parameter_2yjsa") -nodes/fragment/2/position = Vector2(-660, 100) -nodes/fragment/3/node = SubResource("VisualShaderNodeVec2Parameter_2y23m") -nodes/fragment/3/position = Vector2(-460, 280) -nodes/fragment/4/node = SubResource("VisualShaderNodeInput_j8wbi") -nodes/fragment/4/position = Vector2(-700, -40) -nodes/fragment/7/node = SubResource("VisualShaderNodeFloatOp_u7n81") -nodes/fragment/7/position = Vector2(180, 100) -nodes/fragment/8/node = SubResource("VisualShaderNodeCompare_3v1ps") -nodes/fragment/8/position = Vector2(400, 100) -nodes/fragment/connections = PackedInt32Array(7, 0, 8, 0, 8, 0, 0, 0) diff --git a/src/base-environments/youth_room/shaders/raising-lava.res b/src/base-environments/youth_room/shaders/raising-lava.res index ea9e561..51c1f61 100644 Binary files a/src/base-environments/youth_room/shaders/raising-lava.res and b/src/base-environments/youth_room/shaders/raising-lava.res differ