Planter enemy added + Devic Balance
This commit is contained in:
BIN
Zennysoft.Game.Ma/src/map/assets/grass10.jpg
Normal file
BIN
Zennysoft.Game.Ma/src/map/assets/grass10.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 153 KiB |
35
Zennysoft.Game.Ma/src/map/assets/grass10.jpg.import
Normal file
35
Zennysoft.Game.Ma/src/map/assets/grass10.jpg.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dwxgtwhc0u172"
|
||||
path.bptc="res://.godot/imported/grass10.jpg-c209879d793013e90e752de581ac8e65.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/assets/grass10.jpg"
|
||||
dest_files=["res://.godot/imported/grass10.jpg-c209879d793013e90e752de581ac8e65.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
Zennysoft.Game.Ma/src/map/assets/grassclump.glb
Normal file
BIN
Zennysoft.Game.Ma/src/map/assets/grassclump.glb
Normal file
Binary file not shown.
37
Zennysoft.Game.Ma/src/map/assets/grassclump.glb.import
Normal file
37
Zennysoft.Game.Ma/src/map/assets/grassclump.glb.import
Normal file
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://drkb5yrx1jwed"
|
||||
path="res://.godot/imported/grassclump.glb-393785a97405aeda20d200a505ac22c1.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/assets/grassclump.glb"
|
||||
dest_files=["res://.godot/imported/grassclump.glb-393785a97405aeda20d200a505ac22c1.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={}
|
||||
gltf/naming_version=1
|
||||
gltf/embedded_image_handling=1
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 653 KiB |
@@ -0,0 +1,38 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://f2jws4loqcwr"
|
||||
path.bptc="res://.godot/imported/grassclump_billboard-grass-png-11.png-020a1f0a2aea4b67ef4855ad4cf952f0.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "975a0e30875fdc80d5ecb5602d9978b8"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/assets/grassclump_billboard-grass-png-11.png"
|
||||
dest_files=["res://.godot/imported/grassclump_billboard-grass-png-11.png-020a1f0a2aea4b67ef4855ad4cf952f0.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
Zennysoft.Game.Ma/src/map/assets/tree.glb
Normal file
BIN
Zennysoft.Game.Ma/src/map/assets/tree.glb
Normal file
Binary file not shown.
37
Zennysoft.Game.Ma/src/map/assets/tree.glb.import
Normal file
37
Zennysoft.Game.Ma/src/map/assets/tree.glb.import
Normal file
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://ckffyc8arnyqp"
|
||||
path="res://.godot/imported/tree.glb-c3ed05f646b5172647b93a65d26f4ee5.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/assets/tree.glb"
|
||||
dest_files=["res://.godot/imported/tree.glb-c3ed05f646b5172647b93a65d26f4ee5.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={}
|
||||
gltf/naming_version=1
|
||||
gltf/embedded_image_handling=1
|
||||
BIN
Zennysoft.Game.Ma/src/map/assets/tree_Bark-Cedar 1.png
Normal file
BIN
Zennysoft.Game.Ma/src/map/assets/tree_Bark-Cedar 1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 558 KiB |
@@ -0,0 +1,38 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c85k0a8tpj8px"
|
||||
path.bptc="res://.godot/imported/tree_Bark-Cedar 1.png-1b408fe6227609d43126de9abb24771c.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "d939d96e846c2ad4c44a5ced5392b33a"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/assets/tree_Bark-Cedar 1.png"
|
||||
dest_files=["res://.godot/imported/tree_Bark-Cedar 1.png-1b408fe6227609d43126de9abb24771c.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
Zennysoft.Game.Ma/src/map/assets/unclear.glb
Normal file
BIN
Zennysoft.Game.Ma/src/map/assets/unclear.glb
Normal file
Binary file not shown.
37
Zennysoft.Game.Ma/src/map/assets/unclear.glb.import
Normal file
37
Zennysoft.Game.Ma/src/map/assets/unclear.glb.import
Normal file
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://cklrc03comcwj"
|
||||
path="res://.godot/imported/unclear.glb-3d1344901231ea013eec43039a81cdb3.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/assets/unclear.glb"
|
||||
dest_files=["res://.godot/imported/unclear.glb-3d1344901231ea013eec43039a81cdb3.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={}
|
||||
gltf/naming_version=1
|
||||
gltf/embedded_image_handling=1
|
||||
155
Zennysoft.Game.Ma/src/map/dungeon/floors/EX/Grassland.tscn
Normal file
155
Zennysoft.Game.Ma/src/map/dungeon/floors/EX/Grassland.tscn
Normal file
File diff suppressed because one or more lines are too long
214
Zennysoft.Game.Ma/src/map/dungeon/floors/EX/Platform.tscn
Normal file
214
Zennysoft.Game.Ma/src/map/dungeon/floors/EX/Platform.tscn
Normal file
File diff suppressed because one or more lines are too long
138
Zennysoft.Game.Ma/src/map/dungeon/floors/EX/Unclear.tscn
Normal file
138
Zennysoft.Game.Ma/src/map/dungeon/floors/EX/Unclear.tscn
Normal file
File diff suppressed because one or more lines are too long
@@ -43,22 +43,25 @@ shader_parameter/overwritten_time = 0.0
|
||||
sky_material = SubResource("ShaderMaterial_ff4sn")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_av0xc"]
|
||||
background_mode = 2
|
||||
background_color = Color(1, 1, 1, 1)
|
||||
background_energy_multiplier = 0.33
|
||||
background_energy_multiplier = 1.46
|
||||
sky = SubResource("Sky_8t74b")
|
||||
ambient_light_source = 1
|
||||
ambient_light_color = Color(1, 1, 1, 1)
|
||||
ambient_light_energy = 0.0
|
||||
reflected_light_source = 1
|
||||
sdfgi_enabled = true
|
||||
glow_enabled = true
|
||||
glow_strength = 0.37
|
||||
glow_strength = 0.21
|
||||
glow_bloom = 1.0
|
||||
glow_blend_mode = 0
|
||||
fog_light_color = Color(0.450392, 0.484773, 0.538807, 1)
|
||||
fog_light_energy = 0.0
|
||||
fog_density = 0.0
|
||||
volumetric_fog_albedo = Color(0, 0, 0, 1)
|
||||
volumetric_fog_enabled = true
|
||||
volumetric_fog_density = 0.02
|
||||
volumetric_fog_albedo = Color(0.881937, 0.881937, 0.881937, 1)
|
||||
volumetric_fog_emission = Color(1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_qvgr0"]
|
||||
dof_blur_far_enabled = true
|
||||
@@ -107,12 +110,12 @@ shadow_mesh = SubResource("ArrayMesh_bcnkc")
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_78dse"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_4aa25")
|
||||
shader_parameter/albedo = Color(4.52429e-06, 0.599792, 0.83457, 1)
|
||||
shader_parameter/albedo = Color(1, 1, 1, 1)
|
||||
shader_parameter/roughness = 0.15
|
||||
shader_parameter/refraction = 0.5
|
||||
shader_parameter/refraction_texture_channel = Vector4(1, 0, 0, 0)
|
||||
shader_parameter/normal_strength = 0.0
|
||||
shader_parameter/edge_color = Color(0, 0.645, 0.86, 0.72549)
|
||||
shader_parameter/edge_color = Color(0, 0, 0, 0.72549)
|
||||
shader_parameter/surface_contribution = 1.285
|
||||
shader_parameter/specular_contribution = 0.025
|
||||
shader_parameter/refraction_contribution = 1.0
|
||||
@@ -233,8 +236,8 @@ shader_parameter/sampler1speed = Vector2(0.02, 0)
|
||||
shader_parameter/sampler2speed = Vector2(0, 0.02)
|
||||
shader_parameter/albedo = Color(0.907416, 0, 0.173085, 1)
|
||||
shader_parameter/time_scale = 0.1
|
||||
shader_parameter/alpha = 0.8
|
||||
shader_parameter/refraction_strength = 0.5
|
||||
shader_parameter/alpha = 0.94
|
||||
shader_parameter/refraction_strength = 1.397
|
||||
shader_parameter/is_depth_based = false
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_r5v8j"]
|
||||
@@ -305,7 +308,7 @@ camera_attributes = SubResource("CameraAttributesPractical_qvgr0")
|
||||
transform = Transform3D(1, 0, 0, 0, 0.161604, -0.986856, 0, 0.986856, 0.161604, 0, 0, 0)
|
||||
|
||||
[node name="DirectionalLight3D2" type="DirectionalLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(0.844328, -0.262224, -0.467278, 0, -0.872069, 0.489383, -0.535827, -0.413199, -0.736312, 0, 0, 0)
|
||||
transform = Transform3D(0.844328, -0.262224, -0.467278, 0, -0.872069, 0.489382, -0.535827, -0.413199, -0.736312, 0, 12.8001, 0)
|
||||
|
||||
[node name="Model" type="Node3D" parent="."]
|
||||
|
||||
@@ -313,7 +316,7 @@ transform = Transform3D(0.844328, -0.262224, -0.467278, 0, -0.872069, 0.489383,
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -1.64844, -0.953783, 10.3735)
|
||||
|
||||
[node name="Cube" type="MeshInstance3D" parent="Model/spacestairs"]
|
||||
transform = Transform3D(2.21576, 0, 0, 0, 0.293872, 0, 0, 0, 1, 0, 0, 0)
|
||||
transform = Transform3D(6.746, 0, 0, 0, 0.895, 0, 0, 0, 3.044, 9.53674e-07, 0, -12.0979)
|
||||
mesh = SubResource("ArrayMesh_1bmhr")
|
||||
skeleton = NodePath("")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_78dse")
|
||||
@@ -385,7 +388,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.87173, -1.37707, 75.3399)
|
||||
[node name="Minimap" type="Node3D" parent="."]
|
||||
|
||||
[node name="Guidance Mapped" type="Node3D" parent="."]
|
||||
transform = Transform3D(-12.5186, 0, 0.40063, 0, 12.525, 0, -0.40063, 0, -12.5186, -58.3144, -68.6147, -113.04)
|
||||
transform = Transform3D(1.08327, 0.160451, 0.298349, -0.0286659, 1.03944, -0.454928, -0.337542, 0.426657, 0.996119, 2.61352, 0.102925, -23.7886)
|
||||
|
||||
[node name="Cube_003" type="MeshInstance3D" parent="Guidance Mapped"]
|
||||
transform = Transform3D(0.119925, 0.0544736, -0.0357153, 0.00949702, -0.0886514, -0.103323, -0.064442, 0.0883094, -0.0816926, -9.24498, 3.16551, -4.33324)
|
||||
@@ -402,8 +405,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_lspek")
|
||||
[node name="Floor - ALT Goddess of Guidance mirrored" type="Node3D" parent="."]
|
||||
|
||||
[node name="Water Plane" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(9000, 0, 0, 0, 9000, 0, 0, 0, 9000, 0, -341.543, 0)
|
||||
visible = false
|
||||
transform = Transform3D(9000, 0, 0, 0, 9000, 0, 0, 0, 9000, 0, -1.19166, 0)
|
||||
mesh = SubResource("PlaneMesh_slalf")
|
||||
skeleton = NodePath("../Model/GoG Room mirrored")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_ym6gt")
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://omivkcmp7slf"
|
||||
path="res://.godot/imported/space platform applied.glb-b6a6b316e5646281a3a0b3f62a34061c.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Special Floors & Rooms/EX Assetts/space platform applied.glb"
|
||||
dest_files=["res://.godot/imported/space platform applied.glb-b6a6b316e5646281a3a0b3f62a34061c.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={}
|
||||
gltf/naming_version=1
|
||||
gltf/embedded_image_handling=1
|
||||
26
Zennysoft.Game.Ma/src/map/map shaders/Grassland.gdshader
Normal file
26
Zennysoft.Game.Ma/src/map/map shaders/Grassland.gdshader
Normal file
@@ -0,0 +1,26 @@
|
||||
shader_type spatial;
|
||||
render_mode cull_disabled, depth_draw_opaque;
|
||||
|
||||
uniform sampler2D grass_texture : filter_nearest, source_color;
|
||||
|
||||
uniform sampler2D gradient_texture : filter_linear_mipmap, source_color;
|
||||
uniform float gradient_blend : hint_range(0, 1) = 0.5;
|
||||
|
||||
void vertex() {
|
||||
NORMAL = vec3(0.0, 1.0, 0.0);
|
||||
VERTEX.x += sin(NODE_POSITION_WORLD.x + TIME * 1.25 + UV.y) * (1.0 - UV.y) * 0.2;
|
||||
VERTEX.z += cos(NODE_POSITION_WORLD.z + TIME * 0.45 + UV.y) * (1.0 - UV.y) * 0.15;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
vec4 grass_sample = texture(grass_texture, UV);
|
||||
vec3 base_color = grass_sample.rgb;
|
||||
float alpha = grass_sample.a;
|
||||
|
||||
vec3 gradient_color = texture(gradient_texture, vec2(UV.y, 0.5)).rgb;
|
||||
|
||||
vec3 final_color = mix(base_color, base_color * gradient_color, gradient_blend);
|
||||
|
||||
ALBEDO = final_color;
|
||||
ALPHA = alpha;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://buj0rfyawbmuu
|
||||
88
Zennysoft.Game.Ma/src/map/map shaders/Unclear.gdshader
Normal file
88
Zennysoft.Game.Ma/src/map/map shaders/Unclear.gdshader
Normal file
@@ -0,0 +1,88 @@
|
||||
shader_type spatial;
|
||||
render_mode blend_mix, depth_draw_opaque, cull_disabled, unshaded;
|
||||
|
||||
uniform vec4 color : source_color = vec4(0.0, 0.8, 1.0, 1.0);
|
||||
uniform vec4 color_edge : source_color = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
uniform float emission_strength : hint_range(0.0, 20.0) = 5.0;
|
||||
uniform float rise_progress : hint_range(0.0, 1.0) = 0.0;
|
||||
uniform float edge_width : hint_range(0.0, 0.3) = 0.08;
|
||||
uniform float noise_scale : hint_range(0.1, 10.0) = 3.0;
|
||||
uniform float noise_strength : hint_range(0.0, 0.5) = 0.15;
|
||||
uniform float time_speed : hint_range(0.0, 5.0) = 1.5;
|
||||
uniform float fade_softness : hint_range(0.01, 0.5) = 0.1;
|
||||
uniform sampler2D noise_texture : hint_default_white;
|
||||
|
||||
// Top fade controls
|
||||
uniform float top_fade_start : hint_range(0.0, 1.0) = 0.3;
|
||||
uniform float top_fade_power : hint_range(0.5, 5.0) = 2.0;
|
||||
uniform bool invert_top_fade = false;
|
||||
|
||||
// Wave transparency controls
|
||||
uniform float wave_transparency : hint_range(0.0, 1.0) = 0.5;
|
||||
uniform float wave_frequency : hint_range(1.0, 20.0) = 8.0;
|
||||
uniform float wave_speed : hint_range(0.0, 5.0) = 2.0;
|
||||
|
||||
varying vec3 world_vertex;
|
||||
|
||||
void vertex() {
|
||||
world_vertex = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// Get UV and sample noise
|
||||
vec2 uv = UV;
|
||||
float time_offset = TIME * time_speed;
|
||||
|
||||
// Sample noise with movement
|
||||
vec2 noise_uv = uv * noise_scale + vec2(0.0, -time_offset * 0.3);
|
||||
float noise_val = texture(noise_texture, noise_uv).r;
|
||||
|
||||
// Secondary noise layer for more organic feel
|
||||
vec2 noise_uv2 = uv * noise_scale * 1.5 + vec2(time_offset * 0.1, -time_offset * 0.2);
|
||||
float noise_val2 = texture(noise_texture, noise_uv2).r;
|
||||
float combined_noise = mix(noise_val, noise_val2, 0.5);
|
||||
|
||||
// Calculate rise threshold with noise distortion
|
||||
float rise_threshold = rise_progress + (combined_noise - 0.5) * noise_strength * 2.0;
|
||||
|
||||
// UV.y = 0 at bottom, 1 at top (for cylinder, y goes 0->1 bottom to top)
|
||||
float height = 1.0 - uv.y;
|
||||
|
||||
// Calculate alpha based on rise progress
|
||||
float alpha = smoothstep(rise_threshold - fade_softness, rise_threshold, height);
|
||||
|
||||
// Top fade - gradual fade out as we approach the top
|
||||
// For CylinderMesh: UV.y = 0 at top, 1 at bottom (inverted)
|
||||
// So we use uv.y directly - small values = top = should fade out
|
||||
float top_height = invert_top_fade ? (1.0 - uv.y) : uv.y;
|
||||
float top_fade = smoothstep(0.0, 1.0 - top_fade_start, top_height);
|
||||
top_fade = pow(top_fade, top_fade_power); // Power curve for control
|
||||
|
||||
// Wave-based transparency pattern
|
||||
float wave_pattern = sin(uv.y * wave_frequency + TIME * wave_speed + combined_noise * 3.0);
|
||||
wave_pattern = wave_pattern * 0.5 + 0.5; // Normalize to 0-1
|
||||
float wave_alpha = mix(1.0, wave_pattern, wave_transparency);
|
||||
|
||||
// Combine all alpha factors
|
||||
alpha *= top_fade * wave_alpha;
|
||||
|
||||
// Edge glow at the rising front
|
||||
float edge_dist = abs(height - rise_threshold);
|
||||
float edge_factor = 1.0 - smoothstep(0.0, edge_width, edge_dist);
|
||||
edge_factor *= step(height, rise_threshold); // Only show edge below threshold
|
||||
|
||||
// Pulsing effect
|
||||
float pulse = sin(TIME * 3.0) * 0.1 + 0.9;
|
||||
|
||||
// Mix colors
|
||||
vec3 final_color = mix(color.rgb, color_edge.rgb, edge_factor);
|
||||
final_color *= emission_strength * pulse;
|
||||
|
||||
// Add shimmer based on noise
|
||||
float shimmer = combined_noise * 0.3 + 0.7;
|
||||
final_color *= shimmer;
|
||||
|
||||
ALBEDO = final_color;
|
||||
ALPHA = alpha * color.a;
|
||||
EMISSION = final_color;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://bqs2746pwhswi
|
||||
Reference in New Issue
Block a user