assembling lava lamp in test scene

This commit is contained in:
betalars 2023-07-01 19:12:24 +02:00
parent 7dd7a9bdc4
commit c43bfb3291
1 changed files with 62 additions and 31 deletions

View File

@ -1,7 +1,10 @@
[gd_scene load_steps=16 format=3 uid="uid://bigr0lnen1xdh"] [gd_scene load_steps=21 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://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="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="ArrayMesh" uid="uid://bsxcltpxwi5c2" path="res://base-environments/youth_room/shaders/lava-metal.res" id="5_4c8kc"]
[sub_resource type="QuadMesh" id="QuadMesh_sj0jk"] [sub_resource type="QuadMesh" id="QuadMesh_sj0jk"]
@ -14,6 +17,7 @@ uniform float drop_size;
uniform float stretch_compensatioon; uniform float stretch_compensatioon;
uniform float fill; uniform float fill;
uniform float speed; uniform float speed;
uniform float brightness;
void fragment() { void fragment() {
@ -25,14 +29,14 @@ void fragment() {
//dist = 0.0; //dist = 0.0;
dist += 1.3 / distance(vec2(NORMAL.x*1.3/stretch_compensatioon, UV.y), vec2(0.0, fill)); dist += 1.3 / distance(vec2(NORMAL.x*1.3/stretch_compensatioon, UV.y), vec2(0.0, fill));
ALBEDO = texture(gradient, UV2).xyz; ALBEDO = texture(gradient, UV2).xyz*brightness;
ALPHA = float(int(dist > 1.0/drop_size)); ALPHA = float(int(dist > 1.0/drop_size));
} }
" "
[sub_resource type="Gradient" id="Gradient_r18tr"] [sub_resource type="Gradient" id="Gradient_r18tr"]
colors = PackedColorArray(0.929412, 5.69804, 0.211765, 1, 0.0901961, 1, 0, 1) colors = PackedColorArray(0.705882, 6.36471, 0.211765, 1, 0.279697, 0.985193, 0.315141, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_42bqf"] [sub_resource type="GradientTexture2D" id="GradientTexture2D_42bqf"]
gradient = SubResource("Gradient_r18tr") gradient = SubResource("Gradient_r18tr")
@ -44,8 +48,42 @@ shader_parameter/drop_size = 0.015
shader_parameter/stretch_compensatioon = 35.0 shader_parameter/stretch_compensatioon = 35.0
shader_parameter/fill = 0.663 shader_parameter/fill = 0.663
shader_parameter/speed = 0.01 shader_parameter/speed = 0.01
shader_parameter/brightness = 1.0
shader_parameter/gradient = SubResource("GradientTexture2D_42bqf") shader_parameter/gradient = SubResource("GradientTexture2D_42bqf")
[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="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"] [sub_resource type="Animation" id="Animation_ovxyq"]
resource_name = "lavalamp" resource_name = "lavalamp"
length = 60.0 length = 60.0
@ -75,33 +113,6 @@ tracks/1/keys = {
"values": [Vector3(0, 6.28319, 0), Vector3(0, 0, 0)] "values": [Vector3(0, 6.28319, 0), Vector3(0, 0, 0)]
} }
[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="AnimationLibrary" id="AnimationLibrary_88lyq"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_88lyq"]
_data = { _data = {
"RESET": SubResource("Animation_0ijgr"), "RESET": SubResource("Animation_0ijgr"),
@ -177,9 +188,15 @@ func focus_object():
dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0.6, 1) dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0.6, 1)
" "
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7uei1"]
albedo_color = Color(0.933333, 0.933333, 0.933333, 1)
metallic = 1.0
roughness = 0.4
[node name="Node3D" type="Node3D"] [node name="Node3D" type="Node3D"]
[node name="Node3D" type="Node3D" parent="."] [node name="Node3D" type="Node3D" parent="."]
visible = false
[node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D"] [node name="MeshInstance3D" type="MeshInstance3D" parent="Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.29184, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.29184, 0, 0)
@ -187,16 +204,24 @@ mesh = SubResource("QuadMesh_sj0jk")
surface_material_override/0 = SubResource("ShaderMaterial_31q3g") surface_material_override/0 = SubResource("ShaderMaterial_31q3g")
[node name="falling" type="MeshInstance3D" parent="."] [node name="falling" type="MeshInstance3D" parent="."]
material_override = SubResource("ShaderMaterial_31q3g")
mesh = ExtResource("1_kkx3t") mesh = ExtResource("1_kkx3t")
skeleton = NodePath("../Node3D/MeshInstance3D") skeleton = NodePath("../Node3D/MeshInstance3D")
surface_material_override/0 = SubResource("ShaderMaterial_31q3g")
[node name="raising" type="MeshInstance3D" parent="."] [node name="raising" type="MeshInstance3D" parent="."]
material_override = SubResource("ShaderMaterial_31q3g")
mesh = ExtResource("2_tokpx") mesh = ExtResource("2_tokpx")
skeleton = NodePath("../Node3D/MeshInstance3D") skeleton = NodePath("../Node3D/MeshInstance3D")
[node name="Lava-glass" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1.02, 0, 0, 0, 1, 0, 0, 0)
visible = false
material_override = SubResource("ShaderMaterial_2vmtt")
mesh = ExtResource("4_bg48h")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
root_node = NodePath("../raising") root_node = NodePath("../raising")
autoplay = "lavalamp"
libraries = { libraries = {
"": SubResource("AnimationLibrary_88lyq") "": SubResource("AnimationLibrary_88lyq")
} }
@ -209,3 +234,9 @@ script = SubResource("GDScript_uqlwy")
[node name="Camera3D" type="Camera3D" parent="."] [node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.987688, -0.156434, 0, 0.156434, 0.987688, 0, -0.058, 0.77) transform = Transform3D(1, 0, 0, 0, 0.987688, -0.156434, 0, 0.156434, 0.987688, 0, -0.058, 0.77)
fov = 18.0 fov = 18.0
[node name="Lava-metal" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.193804, 0)
visible = false
material_override = SubResource("StandardMaterial3D_7uei1")
mesh = ExtResource("5_4c8kc")