Added all NPC Idle animations, Overworld water changes,

This commit is contained in:
Pal
2025-09-17 04:12:21 -07:00
parent faa9bcd66b
commit 94c6c212ca
157 changed files with 2099 additions and 1447 deletions

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://by0ljkdhkhylv"
path="res://.godot/imported/Overworld - Upper Water Higher Subdiv.glb-10a66ede2edfc078ad779378beb24dd4.scn"
[deps]
source_file="res://src/map/assetts/Overworld - Upper Water Higher Subdiv.glb"
dest_files=["res://.godot/imported/Overworld - Upper Water Higher Subdiv.glb-10a66ede2edfc078ad779378beb24dd4.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: 131 KiB

View File

@@ -2,16 +2,19 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bmxw5wii4bol8" uid="uid://bnra3afje8dbs"
path="res://.godot/imported/Layer 4.png-562928eb01b58d863b84a1722bc806d5.ctex" path="res://.godot/imported/Overworld - Upper Water Higher Subdiv_OCEAN.png-0f2962925e054556cc5e00c0c807074e.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
generator_parameters={
"md5": "3b1d6ad026d23edca827d8b6ad233701"
}
[deps] [deps]
source_file="res://src/npc/Clalo/Frames - Clalo/Layer 4.png" source_file="res://src/map/assetts/Overworld - Upper Water Higher Subdiv_OCEAN.png"
dest_files=["res://.godot/imported/Layer 4.png-562928eb01b58d863b84a1722bc806d5.ctex"] dest_files=["res://.godot/imported/Overworld - Upper Water Higher Subdiv_OCEAN.png-0f2962925e054556cc5e00c0c807074e.ctex"]
[params] [params]
@@ -21,7 +24,7 @@ compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=0
compress/channel_pack=0 compress/channel_pack=0
mipmaps/generate=false mipmaps/generate=true
mipmaps/limit=-1 mipmaps/limit=-1
roughness/mode=0 roughness/mode=0
roughness/src_normal="" roughness/src_normal=""

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 KiB

View File

@@ -0,0 +1,26 @@
[remap]
importer="2d_array_texture"
type="CompressedTexture2DArray"
uid="uid://c0kjnbpgaa6bs"
path="res://.godot/imported/caustics.png-8a821557e1a2b2aa602fc4053dd6e85f.ctexarray"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/map/assetts/caustics.png"
dest_files=["res://.godot/imported/caustics.png-8a821557e1a2b2aa602fc4053dd6e85f.ctexarray"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
slices/horizontal=8
slices/vertical=8

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://sa8jy811y73" uid="uid://dtdjtk7ksssmb"
path="res://.godot/imported/Layer 3.png-c400ace83d6096a545077f480c758828.ctex" path="res://.godot/imported/sarapa2.png-2bca4a2593a46f4dfa251001a576d7d6.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Puer/Frames - Puer/Layer 3.png" source_file="res://src/map/assetts/sarapa2.png"
dest_files=["res://.godot/imported/Layer 3.png-c400ace83d6096a545077f480c758828.ctex"] dest_files=["res://.godot/imported/sarapa2.png-2bca4a2593a46f4dfa251001a576d7d6.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dnw24fugfsoai" uid="uid://b53gm6277ng4e"
path="res://.godot/imported/Layer 3.png-149a6520579791b176333964bdf313eb.ctex" path="res://.godot/imported/waternormal.jpeg-a8bd6eba2dd79a043f9623ef45373053.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Clalo/Frames - Clalo/Layer 3.png" source_file="res://src/map/assetts/waternormal.jpeg"
dest_files=["res://.godot/imported/Layer 3.png-149a6520579791b176333964bdf313eb.ctex"] dest_files=["res://.godot/imported/waternormal.jpeg-a8bd6eba2dd79a043f9623ef45373053.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bxsfdfmxl50j3" uid="uid://cbsdc4uthojov"
path="res://.godot/imported/Layer 1.png-045c110a56bd9a8684a77cad70d12a83.ctex" path="res://.godot/imported/waternormal2.jpg-e41fb88701a1fa9c0ea7440b8477795e.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Clalo/Frames - Clalo/Layer 1.png" source_file="res://src/map/assetts/waternormal2.jpg"
dest_files=["res://.godot/imported/Layer 1.png-045c110a56bd9a8684a77cad70d12a83.ctex"] dest_files=["res://.godot/imported/waternormal2.jpg-e41fb88701a1fa9c0ea7440b8477795e.ctex"]
[params] [params]

View File

@@ -21,21 +21,25 @@
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7o1e6"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7o1e6"]
resource_name = "EYE" resource_name = "EYE"
transparency = 4 transparency = 4
cull_mode = 2
albedo_color = Color(0.906695, 0, 0.0496455, 1) albedo_color = Color(0.906695, 0, 0.0496455, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k34ib"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k34ib"]
resource_name = "MOTHER PAINT" resource_name = "MOTHER PAINT"
transparency = 4 transparency = 4
cull_mode = 2
albedo_texture = ExtResource("1_er87g") albedo_texture = ExtResource("1_er87g")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lrrse"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lrrse"]
resource_name = "HORN" resource_name = "HORN"
transparency = 4 transparency = 4
cull_mode = 2
albedo_texture = ExtResource("2_6tqdj") albedo_texture = ExtResource("2_6tqdj")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_84s5d"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_84s5d"]
resource_name = "HEADWEAR" resource_name = "HEADWEAR"
transparency = 4 transparency = 4
cull_mode = 2
albedo_texture = ExtResource("3_fmpqk") albedo_texture = ExtResource("3_fmpqk")
[sub_resource type="ArrayMesh" id="ArrayMesh_ag2gb"] [sub_resource type="ArrayMesh" id="ArrayMesh_ag2gb"]
@@ -147,6 +151,7 @@ shadow_mesh = SubResource("ArrayMesh_ag2gb")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_67ke0"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_67ke0"]
resource_name = "SAND" resource_name = "SAND"
transparency = 4 transparency = 4
cull_mode = 2
albedo_texture = ExtResource("4_k7sl3") albedo_texture = ExtResource("4_k7sl3")
[sub_resource type="ArrayMesh" id="ArrayMesh_vv0lm"] [sub_resource type="ArrayMesh" id="ArrayMesh_vv0lm"]
@@ -186,18 +191,22 @@ shadow_mesh = SubResource("ArrayMesh_vv0lm")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_afxil"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_afxil"]
resource_name = "MAIN WHITE STONE" resource_name = "MAIN WHITE STONE"
transparency = 4 transparency = 4
cull_mode = 2
albedo_texture = ExtResource("5_7nhbk") albedo_texture = ExtResource("5_7nhbk")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8l6yw"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8l6yw"]
resource_name = "BIG TILE 1" resource_name = "BIG TILE 1"
cull_mode = 2
albedo_texture = ExtResource("6_4cfta") albedo_texture = ExtResource("6_4cfta")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_o3avo"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_o3avo"]
resource_name = "BIG TILE 2" resource_name = "BIG TILE 2"
cull_mode = 2
albedo_texture = ExtResource("7_0bgkr") albedo_texture = ExtResource("7_0bgkr")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q6hd6"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q6hd6"]
resource_name = "BIG TILE 3" resource_name = "BIG TILE 3"
cull_mode = 2
albedo_texture = ExtResource("8_5hesc") albedo_texture = ExtResource("8_5hesc")
[sub_resource type="ArrayMesh" id="ArrayMesh_8r2wk"] [sub_resource type="ArrayMesh" id="ArrayMesh_8r2wk"]
@@ -301,23 +310,28 @@ shadow_mesh = SubResource("ArrayMesh_8r2wk")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fkrpc"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fkrpc"]
resource_name = "WHHITE BRICK" resource_name = "WHHITE BRICK"
transparency = 4 transparency = 4
cull_mode = 2
albedo_texture = ExtResource("9_kvguv") albedo_texture = ExtResource("9_kvguv")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lup4x"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lup4x"]
resource_name = "STONE PANEL" resource_name = "STONE PANEL"
transparency = 4 transparency = 4
cull_mode = 2
albedo_texture = ExtResource("10_005wa") albedo_texture = ExtResource("10_005wa")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8bm7m"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8bm7m"]
resource_name = "WHITE RECTANGLE TILE" resource_name = "WHITE RECTANGLE TILE"
cull_mode = 2
albedo_texture = ExtResource("11_urfka") albedo_texture = ExtResource("11_urfka")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_twy1s"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_twy1s"]
resource_name = "SWIRLD" resource_name = "SWIRLD"
cull_mode = 2
albedo_texture = ExtResource("12_11h58") albedo_texture = ExtResource("12_11h58")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3fyoh"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3fyoh"]
resource_name = "HAND EMBLEM" resource_name = "HAND EMBLEM"
cull_mode = 2
albedo_texture = ExtResource("13_hknii") albedo_texture = ExtResource("13_hknii")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xll43"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xll43"]
@@ -325,6 +339,7 @@ resource_name = "GODDESS EMBLEM"
transparency = 2 transparency = 2
alpha_scissor_threshold = 0.5 alpha_scissor_threshold = 0.5
alpha_antialiasing_mode = 0 alpha_antialiasing_mode = 0
cull_mode = 2
albedo_texture = ExtResource("14_p7goj") albedo_texture = ExtResource("14_p7goj")
[sub_resource type="ArrayMesh" id="ArrayMesh_asqly"] [sub_resource type="ArrayMesh" id="ArrayMesh_asqly"]
@@ -814,6 +829,7 @@ shadow_mesh = SubResource("ArrayMesh_bpa3w")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jhroi"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jhroi"]
resource_name = "SKIN" resource_name = "SKIN"
transparency = 4 transparency = 4
cull_mode = 2
albedo_color = Color(0.906332, 0.906332, 0.906332, 1) albedo_color = Color(0.906332, 0.906332, 0.906332, 1)
[sub_resource type="ArrayMesh" id="ArrayMesh_8ihw8"] [sub_resource type="ArrayMesh" id="ArrayMesh_8ihw8"]
@@ -854,6 +870,7 @@ shadow_mesh = SubResource("ArrayMesh_8ihw8")
script = ExtResource("1_y4p12") script = ExtResource("1_y4p12")
[node name="Model" type="Node3D" parent="."] [node name="Model" type="Node3D" parent="."]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0)
[node name="36_A2_FINAL_FLOOR_VER_0_1" type="Node3D" parent="Model"] [node name="36_A2_FINAL_FLOOR_VER_0_1" type="Node3D" parent="Model"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 147.541, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 147.541, 0)
@@ -879,7 +896,7 @@ mesh = SubResource("ArrayMesh_1qkoe")
skeleton = NodePath("") skeleton = NodePath("")
[node name="TREE" type="MeshInstance3D" parent="Model/36_A2_FINAL_FLOOR_VER_0_1"] [node name="TREE" type="MeshInstance3D" parent="Model/36_A2_FINAL_FLOOR_VER_0_1"]
transform = Transform3D(103.682, 6.10414, 107.358, 2.75406, -173.409, 4.64337, -107.462, 1.44526, 103.7, -382.387, -36.4008, 0.693086) transform = Transform3D(103.682, 6.10414, 107.358, 2.75406, -173.409, 4.64337, -107.462, 1.44526, 103.7, -382.295, -36.4009, 0.614046)
mesh = SubResource("ArrayMesh_3vgwf") mesh = SubResource("ArrayMesh_3vgwf")
skeleton = NodePath("") skeleton = NodePath("")
@@ -1926,7 +1943,7 @@ skeleton = NodePath("")
[node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"] [node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -173.476, 90.0869, -1.18212) transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -347.952, 178.248, -1.18212)
[node name="Room" type="Node3D" parent="."] [node name="Room" type="Node3D" parent="."]

View File

@@ -1,13 +1,12 @@
[gd_scene load_steps=41 format=4 uid="uid://jha0mhct0e7i"] [gd_scene load_steps=38 format=4 uid="uid://jha0mhct0e7i"]
[ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_c8nq0"] [ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_c8nq0"]
[ext_resource type="Shader" uid="uid://crbilces53hat" path="res://src/map/map shaders/B2 Night Sky World Environment.gdshader" id="2_78dse"] [ext_resource type="Shader" uid="uid://crbilces53hat" path="res://src/map/map shaders/B2 Night Sky World Environment.gdshader" id="2_78dse"]
[ext_resource type="Texture2D" uid="uid://bk2irsqn0sbex" path="res://src/map/map shaders/B2 Night Sky Star Textures.png" id="3_lspek"] [ext_resource type="Texture2D" uid="uid://bk2irsqn0sbex" path="res://src/map/map shaders/B2 Night Sky Star Textures.png" id="3_lspek"]
[ext_resource type="Shader" uid="uid://b7t52o30btgnn" path="res://src/map/map shaders/Ocean.gdshader" id="6_78dse"]
[ext_resource type="Texture2D" uid="uid://d1bvl1j7i0nna" path="res://src/map/dungeon/models/Set B/40/Floor - ALT Goddess of Guidance mirrored_angkor_mural.jpg" id="7_ym6gt"] [ext_resource type="Texture2D" uid="uid://d1bvl1j7i0nna" path="res://src/map/dungeon/models/Set B/40/Floor - ALT Goddess of Guidance mirrored_angkor_mural.jpg" id="7_ym6gt"]
[ext_resource type="Shader" uid="uid://ucyntjbf812l" path="res://src/map/map shaders/VOIDSHADE.gdshader" id="8_lspek"] [ext_resource type="Shader" uid="uid://ucyntjbf812l" path="res://src/map/map shaders/VOIDSHADE.gdshader" id="8_lspek"]
[ext_resource type="Texture2D" uid="uid://dti0ir01a1s87" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_WHITE_layer_brick1.png" id="11_8t74b"] [ext_resource type="Texture2D" uid="uid://dti0ir01a1s87" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_WHITE_layer_brick1.png" id="11_8t74b"]
[ext_resource type="Shader" uid="uid://diblrwarabp25" path="res://src/map/map shaders/gog spectral.gdshader" id="14_nk06r"]
[ext_resource type="Shader" uid="uid://c15ggsq72vcra" path="res://src/map/map shaders/spectreweapons.gdshader" id="15_aspfl"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ff4sn"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ff4sn"]
shader = ExtResource("2_78dse") shader = ExtResource("2_78dse")
@@ -23,9 +22,9 @@ shader_parameter/sun_color = Color(10, 8, 1, 1)
shader_parameter/sun_sunset_color = Color(10, 0, 0, 1) shader_parameter/sun_sunset_color = Color(10, 0, 0, 1)
shader_parameter/sun_size = 0.01 shader_parameter/sun_size = 0.01
shader_parameter/sun_blur = 10.0 shader_parameter/sun_blur = 10.0
shader_parameter/moon_color = Color(0.327434, 0.538688, 0.661001, 1) shader_parameter/moon_color = Color(0.920113, 0, 0.198511, 1)
shader_parameter/moon_size = 0.186 shader_parameter/moon_size = 0.01
shader_parameter/moon_blur = 0.234 shader_parameter/moon_blur = 1.819
shader_parameter/clouds_edge_color = Color(0.8, 0.8, 0.98, 1) shader_parameter/clouds_edge_color = Color(0.8, 0.8, 0.98, 1)
shader_parameter/clouds_top_color = Color(1, 1, 1, 1) shader_parameter/clouds_top_color = Color(1, 1, 1, 1)
shader_parameter/clouds_middle_color = Color(0.92, 0.92, 0.98, 1) shader_parameter/clouds_middle_color = Color(0.92, 0.92, 0.98, 1)
@@ -47,17 +46,20 @@ sky_material = SubResource("ShaderMaterial_ff4sn")
[sub_resource type="Environment" id="Environment_av0xc"] [sub_resource type="Environment" id="Environment_av0xc"]
background_mode = 2 background_mode = 2
background_color = Color(1, 1, 1, 1) background_color = Color(1, 1, 1, 1)
background_energy_multiplier = 1.8 background_energy_multiplier = 0.33
sky = SubResource("Sky_8t74b") sky = SubResource("Sky_8t74b")
ambient_light_source = 1
ambient_light_color = Color(1, 1, 1, 1) ambient_light_color = Color(1, 1, 1, 1)
ambient_light_energy = 0.0 ambient_light_energy = 0.0
reflected_light_source = 1
glow_enabled = true glow_enabled = true
glow_strength = 0.37 glow_strength = 0.37
glow_bloom = 1.0 glow_bloom = 1.0
glow_blend_mode = 0 glow_blend_mode = 0
fog_enabled = true
fog_light_color = Color(0.450392, 0.484773, 0.538807, 1) fog_light_color = Color(0.450392, 0.484773, 0.538807, 1)
fog_light_energy = 0.0 fog_light_energy = 0.0
fog_density = 0.1875 fog_density = 0.0
volumetric_fog_albedo = Color(0, 0, 0, 1) volumetric_fog_albedo = Color(0, 0, 0, 1)
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_qvgr0"] [sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_qvgr0"]
@@ -164,28 +166,10 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_1ted4") shadow_mesh = SubResource("ArrayMesh_1ted4")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_7b74t"]
noise_type = 3
frequency = 0.0601
domain_warp_enabled = true
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_vnu6f"]
invert = true
in_3d_space = true
seamless = true
noise = SubResource("FastNoiseLite_7b74t")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bo8hm"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_bo8hm"]
render_priority = 0 render_priority = 0
shader = ExtResource("15_aspfl") shader = ExtResource("8_lspek")
shader_parameter/hologram_color = Vector4(1.26, 1.86, 3.36, 1) shader_parameter/warp_ScreenSpace = false
shader_parameter/transparency = 0.702
shader_parameter/glitch_strength = 0.186
shader_parameter/glow_intensity = 0.471
shader_parameter/time_factor = 1.0
shader_parameter/texture_sampler = SubResource("NoiseTexture2D_vnu6f")
shader_parameter/noise_amount = 0.05
shader_parameter/vertical_shift_speed = 0.1
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jfiae"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jfiae"]
@@ -221,20 +205,23 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_d2wam") shadow_mesh = SubResource("ArrayMesh_d2wam")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_a8hvo"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lspek"]
render_priority = 0 emission_enabled = true
shader = ExtResource("14_nk06r") emission = Color(1, 1, 1, 1)
shader_parameter/frequency = 4.0 emission_energy_multiplier = 0.19
shader_parameter/amplitude = 2.6
shader_parameter/ripple_rate = 1.0
shader_parameter/blending = 0.86
shader_parameter/wave_amplitude = 0.078
shader_parameter/wave_frequency = 6.1
[sub_resource type="PlaneMesh" id="PlaneMesh_slalf"] [sub_resource type="PlaneMesh" id="PlaneMesh_slalf"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_r2ao1"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ym6gt"]
albedo_color = Color(0.665604, 8.0619e-07, 4.33177e-07, 1) render_priority = 0
shader = ExtResource("6_78dse")
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/is_depth_based = false
[sub_resource type="BoxMesh" id="BoxMesh_r5v8j"] [sub_resource type="BoxMesh" id="BoxMesh_r5v8j"]
@@ -275,7 +262,7 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_unt1x") shadow_mesh = SubResource("ArrayMesh_unt1x")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ym6gt"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_7b74t"]
render_priority = 0 render_priority = 0
shader = ExtResource("8_lspek") shader = ExtResource("8_lspek")
shader_parameter/warp_ScreenSpace = true shader_parameter/warp_ScreenSpace = true
@@ -380,7 +367,7 @@ surface_material_override/0 = SubResource("ShaderMaterial_bo8hm")
transform = Transform3D(0.51872, 0.605699, 0.603373, -0.228018, 0.778195, -0.585167, -0.823977, 0.165958, 0.541775, -1.45054, 11.7732, 1.74796) transform = Transform3D(0.51872, 0.605699, 0.603373, -0.228018, 0.778195, -0.585167, -0.823977, 0.165958, 0.541775, -1.45054, 11.7732, 1.74796)
mesh = SubResource("ArrayMesh_wynvo") mesh = SubResource("ArrayMesh_wynvo")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("ShaderMaterial_a8hvo") surface_material_override/0 = SubResource("StandardMaterial3D_lspek")
[node name="Floor - ALT Goddess of Guidance mirrored" type="Node3D" parent="."] [node name="Floor - ALT Goddess of Guidance mirrored" type="Node3D" parent="."]
@@ -389,7 +376,7 @@ transform = Transform3D(9000, 0, 0, 0, 9000, 0, 0, 0, 9000, 0, -341.543, 0)
visible = false visible = false
mesh = SubResource("PlaneMesh_slalf") mesh = SubResource("PlaneMesh_slalf")
skeleton = NodePath("../Model/GoG Room mirrored") skeleton = NodePath("../Model/GoG Room mirrored")
surface_material_override/0 = SubResource("StandardMaterial3D_r2ao1") surface_material_override/0 = SubResource("ShaderMaterial_ym6gt")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."] [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(20, 0, 0, 0, 20, 0, 0, 0, 20, -2.04089, -11.4755, 0) transform = Transform3D(20, 0, 0, 0, 20, 0, 0, 0, 20, -2.04089, -11.4755, 0)
@@ -398,9 +385,11 @@ surface_material_override/0 = SubResource("StandardMaterial3D_hofvd")
[node name="Hand of Heaven" type="Node3D" parent="."] [node name="Hand of Heaven" type="Node3D" parent="."]
transform = Transform3D(-999.905, 0, -13.7877, 0, 1000, 0, 13.7877, 0, -999.905, -42.983, -5150, -1400) transform = Transform3D(-999.905, 0, -13.7877, 0, 1000, 0, 13.7877, 0, -999.905, -42.983, -5150, -1400)
visible = false
[node name="CHEST" type="MeshInstance3D" parent="Hand of Heaven"] [node name="CHEST" type="MeshInstance3D" parent="Hand of Heaven"]
transform = Transform3D(1, 0, 0, 0, -0.961348, 0.160005, 0, -0.155828, -0.987116, -0.129439, 5.28918, -1.95413) transform = Transform3D(1, 0, 0, 0, -0.961348, 0.160005, 0, -0.155828, -0.987116, -0.129439, 5.28918, -1.95413)
visible = false
mesh = SubResource("ArrayMesh_vm534") mesh = SubResource("ArrayMesh_vm534")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("ShaderMaterial_ym6gt") surface_material_override/0 = SubResource("ShaderMaterial_7b74t")

View File

@@ -0,0 +1,25 @@
shader_type spatial;
uniform vec2 sampler1speed = vec2(0.02, 0.0);
uniform vec2 sampler2speed = vec2(0.0, 0.02);
uniform vec3 albedo : source_color;
uniform sampler2D normalmap;
uniform float time_scale = 0.1;
uniform float alpha : hint_range(0.0, 1.0, 0.01) = 0.8;
uniform float refraction_strength : hint_range(0.0, 8.0, 0.001) = 0.5;
uniform sampler2D screen_texture : hint_screen_texture;
uniform sampler2D depth_texture : hint_depth_texture;
uniform bool is_depth_based = false;
vec2 refract_uv(vec2 uv, float strength, vec3 normal){
float strength1 = strength * (is_depth_based ? pow(uv.y, 4.0) * 5.0 : 1.0);
uv += strength1 * length(normal) - strength1 * 1.2;
return uv;
}
void fragment() {
vec3 nmap = texture(normalmap, UV).rgb;
ALBEDO = mix(albedo, texture(screen_texture, refract_uv(SCREEN_UV, refraction_strength, nmap)).rgb, 1.0 - alpha);
}

View File

@@ -0,0 +1 @@
uid://b7t52o30btgnn

View File

@@ -0,0 +1,385 @@
// The following shader is used in order to simulate a simple ocean using Gerstner waves.
// This shader can be added in a plane mesh. For a more detailed ocean, increase the width and depth subdivison.
// Note 1: On larger planes ex. 500x500, increasing the subdivision above 1000 comes at great performance cost
// Note 2: Special thanks to @ninetailsrabbit for fixing a caustics projection issue!
shader_type spatial;
// Set render modes: always draw depth and disable backface culling
render_mode depth_draw_always, cull_disabled;
// Uniforms for screen and depth textures
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
uniform sampler2D DEPTH_TEXTURE : hint_depth_texture, filter_linear_mipmap;
// Group uniforms for wave parameters
group_uniforms Waves;
// Each wave is defined by a vec4: direction (x,y), amplitude, frequency
uniform vec4 wave_1 = vec4(0.3, 4.0, 0.2, 0.6);
uniform vec4 wave_2 = vec4(-0.26, -0.19, 0.01, 0.47);
uniform vec4 wave_3 = vec4(-7.67, 5.63, 0.1, 0.38);
uniform vec4 wave_4 = vec4(-0.42, -1.63, 0.1, 0.28);
uniform vec4 wave_5 = vec4(1.66, 0.07, 0.15, 1.81);
uniform vec4 wave_6 = vec4(1.20, 1.14, 0.01, 0.33);
uniform vec4 wave_7 = vec4(-1.6, 7.3, 0.11, 0.73);
uniform vec4 wave_8 = vec4(-0.42, -1.63, 0.15, 1.52);
// Uniforms for time factor, noise zoom, and noise amplitude
uniform float time_factor = 2.5;
uniform float noise_zoom = 2.0;
uniform float noise_amp = 1.0;
// Group uniforms for water colors
group_uniforms Water_colours;
uniform vec3 base_water_color:source_color;
uniform vec3 fresnel_water_color:source_color;
uniform vec4 deep_water_color : source_color;
uniform vec4 shallow_water_color : source_color;
// Group uniforms for depth-related parameters
group_uniforms Depth;
uniform float beers_law = 0.5;
uniform float depth_offset = -1.2;
uniform float near = 7.0;
uniform float far = 10000.0;
// Group uniforms for edge detection and foam effects
group_uniforms Edge_Detection;
uniform float edge_texture_scale = 3.5;
uniform float edge_texture_offset = 1.0;
uniform float edge_texture_speed = 0.1;
uniform float edge_foam_intensity = 2.0;
uniform float edge_fade_start = -3.0;
uniform float edge_fade_end = 6.6;
uniform sampler2D edge_foam_texture;
// Group uniforms for wave peak effects
group_uniforms WavePeakEffect;
uniform float peak_height_threshold = 1.0;
uniform vec3 peak_color = vec3(1.0, 1.0, 1.0);
uniform float peak_intensity = 1.0;
uniform sampler2D foam_texture;
uniform float foam_intensity = 1.0;
uniform float foam_scale = 1.0;
// Group uniforms for surface details
group_uniforms Surface_details;
uniform float metallic = 0.6;
uniform float roughness = 0.045;
uniform float uv_scale_text_a = 0.1;
uniform vec2 uv_speed_text_a = vec2(0.42, 0.3);
uniform float uv_scale_text_b = 0.6;
uniform vec2 uv_speed_text_b = vec2(0.15, 0.1);
uniform float normal_strength = 1.0;
uniform float uv_sampler_scale = 0.3;
uniform float blend_factor = 0.28;
uniform float perturbation_strength = 1.0; // Adjust this value to tile/de-tile the oceans surface.
uniform float perturbation_time = 0.3; // Offset perturbation_time for patern variation
uniform sampler2D normalmap_a;
uniform sampler2D normalmap_b;
uniform sampler2D uv_sampler;
uniform sampler2DArray caustic_sampler : hint_default_black;
uniform float num_caustic_layers = 16.0; // <<< IMPORTANT: DOUBLE CHECK THIS against your Texture2DArray's actual slices!
uniform float caustic_distortion_strength = 0.001; // Keep this value within a range of 0.001 to 0.009
// Fresnel function to calculate the reflection/refraction effect
float fresnel(float amount, vec3 normal, vec3 view) {
return pow((1.0 - clamp(dot(normalize(normal), normalize(view)), 0.0, 1.0)), amount);
}
// Function to calculate edge depth
float edge(float depth) {
depth = 2.0 * depth - 1.0;
return near * far / (far - depth * (near - far));
}
// Function to calculate dynamic amplitude based on position and time
float dynamic_amplitude(vec2 pos, float time) {
return 1.0 + 0.5 * sin(time + length(pos) * 0.1);
}
// Hash function for noise generation
float hash(vec2 p) {
return fract(sin(dot(p * 17.17, vec2(14.91, 67.31))) * 4791.9511);
}
// 2D noise function
float noise(vec2 x) {
vec2 p = floor(x);
vec2 f = fract(x);
f = f * f * (3.0 - 2.0 * f);
vec2 a = vec2(1.0, 0.0);
return mix(mix(hash(p + a.yy), hash(p + a.xy), f.x),
mix(hash(p + a.yx), hash(p + a.xx), f.x), f.y);
}
// Fractional Brownian Motion (fBM) function for generating complex noise
float fbm(vec2 x) {
float height = 0.0;
float amplitude = 0.5;
float frequency = 3.0;
for (int i = 0; i < 6; i++) {
height += noise(x * frequency) * amplitude;
amplitude *= 0.5;
frequency *= 2.0;
}
return height;
}
// Structure to hold wave results: displacement, tangent, binormal, and normal
struct WaveResult {
vec3 displacement;
vec3 tangent;
vec3 binormal;
vec3 normal;
};
// Gerstner wave function to calculate wave displacement and normals
WaveResult gerstner_wave(vec4 params, vec2 pos, float time) {
float steepness = params.z * dynamic_amplitude(pos, time);
float wavelength = params.w;
float k = 2.0 * PI / wavelength;
float c = sqrt(9.81 / k);
vec2 d = normalize(params.xy);
float f = k * (dot(d, pos.xy) - c * time);
float a = steepness / k;
vec3 displacement = vec3(d.x * (a * cos(f)), a * sin(f), d.y * (a * cos(f)));
vec3 tangent = vec3(1.0 - d.x * d.x * steepness * sin(f), steepness * cos(f), -d.x * d.y * steepness * sin(f));
vec3 binormal = vec3(-d.x * d.y * steepness * sin(f), steepness * cos(f), 1.0 - d.y * d.y * steepness * sin(f));
vec3 normal = normalize(cross(tangent, binormal));
return WaveResult(displacement, tangent, binormal, normal);
}
// Function to combine multiple Gerstner waves
WaveResult wave(vec2 pos, float time) {
WaveResult waveResult;
waveResult.displacement = vec3(0.0);
waveResult.tangent = vec3(1.0, 0.0, 0.0);
waveResult.binormal = vec3(0.0, 0.0, 1.0);
waveResult.normal = vec3(0.0, 1.0, 0.0);
WaveResult wr;
wr = gerstner_wave(wave_1, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_2, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_3, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_4, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_5, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_6, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_7, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_8, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
// Add noise to the wave displacement for more natural look
waveResult.displacement.y += fbm(pos.xy * (noise_zoom / 50.0)) * noise_amp;
return waveResult;
}
// Varying variables to pass data from vertex to fragment shader
varying float height;
varying vec3 world_position;
varying mat3 tbn_matrix;
varying mat4 inv_mvp;
// Vertex shader function
void vertex() {
// Calculate time based on the global TIME variable and time_factor
float time = TIME / time_factor;
// Calculate wave displacement and normals
WaveResult waveResult = wave(VERTEX.xz, time);
// Apply wave displacement to the vertex position
VERTEX += waveResult.displacement;
// Store the height of the wave displacement
height = waveResult.displacement.y;
// Transform normals, tangents, and binormals to world space
vec3 n = normalize((MODELVIEW_MATRIX * vec4(waveResult.normal, 0.0)).xyz);
vec3 t = normalize((MODELVIEW_MATRIX * vec4(waveResult.tangent.xyz, 0.0)).xyz);
vec3 b = normalize((MODELVIEW_MATRIX * vec4((cross(waveResult.normal, waveResult.tangent.xyz)), 0.0)).xyz);
// Calculate world position of the vertex
world_position = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
// Create TBN matrix for normal mapping
tbn_matrix = mat3(t, b, n);
// Calculate inverse MVP matrix for screen space transformations
inv_mvp = inverse(PROJECTION_MATRIX * MODELVIEW_MATRIX);
}
// 2D Random hash function
float random(vec2 p) {
return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);
}
// Smooth noise function
float smooth_noise(vec2 p) {
vec2 i = floor(p);
vec2 f = fract(p);
vec2 u = f * f * (3.0 - 2.0 * f);
return mix(
mix(random(i + vec2(0.0, 0.0)), random(i + vec2(1.0, 0.0)), u.x),
mix(random(i + vec2(0.0, 1.0)), random(i + vec2(1.0, 1.0)), u.x),
u.y
);
}
// Layered noise for detiling
float layered_noise(vec2 p, float scale) {
float n = 0.0;
n += smooth_noise(p * scale) * 0.5;
n += smooth_noise(p * scale * 2.0) * 0.25;
n += smooth_noise(p * scale * 4.0) * 0.125;
return n;
}
// Perturb UV coordinates for detiling
vec2 perturb_uv(vec2 uv, vec2 world_pos, float time, float strength) {
// Use world position to generate unique noise patterns
vec2 noise_offset = vec2(
layered_noise(world_pos * 0.3 + time * 0.06, 1.0),
layered_noise(world_pos * 0.3 + time * 0.06 + vec2(10.0), 1.0)
);
// Apply subtle distortion to UVs
return uv + noise_offset * strength;
}
// Fragment shader function
void fragment() {
// Calculate UV coordinates based on world position
vec2 uv = world_position.xz;
// Sample UV offset texture
vec2 uv_offset = texture(uv_sampler, uv * uv_sampler_scale).rg;
// Calculate base UV coordinates for normal maps
vec2 base_uv_a = (uv + uv_speed_text_a * TIME + uv_offset) * uv_scale_text_a;
vec2 base_uv_b = (uv + uv_speed_text_b * TIME + uv_offset) * uv_scale_text_b;
// Apply noise-based perturbation to UVs
vec2 animated_uv_a = perturb_uv(base_uv_a, world_position.xz, TIME, perturbation_strength);
vec2 animated_uv_b = perturb_uv(base_uv_b, world_position.xz, TIME + 0.0, perturbation_time);
// Sample normal maps
vec3 normal_sample_a = texture(normalmap_a, animated_uv_a).rgb;
vec3 normal_sample_b = texture(normalmap_b, animated_uv_b).rgb;
// Normalize normal samples and combine them
normal_sample_a = normalize(normal_sample_a * 2.0 - 1.0);
normal_sample_b = normalize(normal_sample_b * 2.0 - 1.0);
vec3 combined_normal = normalize(mix(normal_sample_a, normal_sample_b, blend_factor));
// Perturb the normal using the TBN matrix
vec3 perturbed_normal = normalize(tbn_matrix * (combined_normal * normal_strength));
// Sample depth texture
float depth_raw = texture(DEPTH_TEXTURE, SCREEN_UV).r;
float depth = PROJECTION_MATRIX[3][2] / (depth_raw + PROJECTION_MATRIX[2][2]);
// Calculate the distance from the camera to the water surface
float camera_depth = INV_VIEW_MATRIX[3].y - world_position.y;
if (camera_depth < 0.0) { // Camera is underwater
// Map the depth to a range where deeper = positive beers_law, closer = negative beers_law
float depth_factor = smoothstep(-10.0, 0.0, camera_depth); // Adjust -10.0 for the depth range
ALPHA -= depth_factor * 0.3;
}
// Calculate depth blend factor using Beer's law
float depth_blend = exp((depth + VERTEX.z + depth_offset) * -beers_law);
depth_blend = clamp(1.0 - depth_blend, 0.0, 1.0);
float depth_blend_power = clamp(pow(depth_blend, 2.5), 0.0, 1.0);
// Sample screen color and blend it with depth color
vec3 screen_color = textureLod(SCREEN_TEXTURE, SCREEN_UV, depth_blend_power * 2.5).rgb;
vec3 depth_color = mix(shallow_water_color.rgb, deep_water_color.rgb, depth_blend_power);
vec3 color = mix(screen_color * depth_color, depth_color * 0.25, depth_blend_power * 0.5);
// Calculate depth difference for edge detection
float z_depth = edge(texture(DEPTH_TEXTURE, SCREEN_UV).x);
float z_pos = edge(FRAGCOORD.z);
float z_dif = z_depth - z_pos;
// Calculate caustic effect
vec4 caustic_screenPos = vec4(SCREEN_UV * 2.0 - 1.0, depth_raw, 1.0);
vec4 caustic_localPos = inv_mvp * caustic_screenPos;
caustic_localPos = vec4(caustic_localPos.xyz / caustic_localPos.w, caustic_localPos.w);
vec2 caustic_Uv = caustic_localPos.xz / vec2(1024.0) + 0.5;
caustic_Uv += perturbed_normal.xz * caustic_distortion_strength;
float caustic_layer_index = floor(mod(TIME * 26.0, num_caustic_layers)); // Use floor for integer index
vec4 caustic_color = texture(caustic_sampler, vec3(caustic_Uv * 660.0, caustic_layer_index));
float caustic_intensity_multiplier = (1.0 - depth_blend_power) * 6.0;
color *= 1.0 + pow(caustic_color.r, 1.50) * caustic_intensity_multiplier;
// Calculate fresnel effect
float fresnel = fresnel(5.0, NORMAL, VIEW);
vec3 surface_color = mix(base_water_color, fresnel_water_color, fresnel);
// Calculate edge foam effect
vec2 edge_uv = world_position.xz * edge_texture_scale + edge_texture_offset + TIME * edge_texture_speed;
float edge_fade = smoothstep(edge_fade_start, edge_fade_end, z_dif);
vec3 depth_color_adj = mix(texture(edge_foam_texture, edge_uv).rgb * edge_foam_intensity, color, edge_fade);
// Apply peak color effect based on height with noise
float peak_factor = smoothstep(peak_height_threshold, peak_height_threshold + 0.2, height);
float noise_factor = fbm(world_position.xz * 0.1 + TIME * 0.1);
peak_factor = peak_factor * noise_factor;
vec3 final_color = mix(surface_color, peak_color * peak_intensity, peak_factor);
// Sample the foam texture and blend it with the final color
vec2 foam_uv = world_position.xz * foam_scale + TIME * 0.1;
float foam_sample = texture(foam_texture, foam_uv).r;
float foam_blend_factor = smoothstep(0.0, 1.0, peak_factor) * foam_sample * foam_intensity;
final_color = mix(final_color, vec3(1.0), foam_blend_factor);
// Set the final color, metallic, roughness, and normal
ALBEDO = clamp(final_color + depth_color_adj, vec3(0.0), vec3(1.0));
METALLIC = metallic;
ROUGHNESS = roughness;
NORMAL = perturbed_normal;
}

View File

@@ -0,0 +1 @@
uid://dluqraq5bnmb3

View File

@@ -1,244 +1,385 @@
// The following shader is used in order to simulate a simple ocean using Gerstner waves.
// This shader can be added in a plane mesh. For a more detailed ocean, increase the width and depth subdivison.
// Note 1: On larger planes ex. 500x500, increasing the subdivision above 1000 comes at great performance cost
// Note 2: Special thanks to @ninetailsrabbit for fixing a caustics projection issue!
shader_type spatial; shader_type spatial;
render_mode world_vertex_coords, cull_disabled;
uniform sampler2D screen : hint_screen_texture, filter_linear_mipmap_anisotropic, repeat_disable; // Set render modes: always draw depth and disable backface culling
group_uniforms colours; render_mode depth_draw_always, cull_disabled;
uniform vec3 surfacecolour : source_color;
uniform vec3 volumecolour : source_color;
group_uniforms material; // Uniforms for screen and depth textures
uniform float AirIOR = 1.0; uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
uniform float IOR = 1.33; uniform sampler2D DEPTH_TEXTURE : hint_depth_texture, filter_linear_mipmap;
group_uniforms textures; // Group uniforms for wave parameters
uniform vec2 sampler1speed = vec2(0.02, 0.0); group_uniforms Waves;
uniform vec2 sampler2speed = vec2(0.0, 0.02); // Each wave is defined by a vec4: direction (x,y), amplitude, frequency
uniform float samplermix : hint_range(0.0, 1.0, 0.1) = 0.5; uniform vec4 wave_1 = vec4(0.3, 4.0, 0.2, 0.6);
uniform vec2 samplerscale = vec2(0.1); uniform vec4 wave_2 = vec4(-0.26, -0.19, 0.01, 0.47);
uniform sampler2D normal1tex : filter_linear_mipmap_anisotropic, hint_normal; uniform vec4 wave_3 = vec4(-7.67, 5.63, 0.1, 0.38);
uniform sampler2D normal2tex : filter_linear_mipmap_anisotropic, hint_normal; uniform vec4 wave_4 = vec4(-0.42, -1.63, 0.1, 0.28);
uniform float normalstrength : hint_range(0.0, 5.0, 0.01) = 1.0; uniform vec4 wave_5 = vec4(1.66, 0.07, 0.15, 1.81);
uniform sampler2D height1tex : filter_linear_mipmap_anisotropic; uniform vec4 wave_6 = vec4(1.20, 1.14, 0.01, 0.33);
uniform sampler2D height2tex : filter_linear_mipmap_anisotropic; uniform vec4 wave_7 = vec4(-1.6, 7.3, 0.11, 0.73);
uniform float heightstrength : hint_range(0.0, 5.0, 0.01) = 0.12; uniform vec4 wave_8 = vec4(-0.42, -1.63, 0.15, 1.52);
uniform sampler2D edge1tex : filter_linear_mipmap_anisotropic;
uniform sampler2D edge2tex : filter_linear_mipmap_anisotropic;
varying vec2 position; // Uniforms for time factor, noise zoom, and noise amplitude
varying vec3 wposition; uniform float time_factor = 2.5;
uniform float noise_zoom = 2.0;
uniform float noise_amp = 1.0;
group_uniforms refraction; // Group uniforms for water colors
group_uniforms Water_colours;
uniform vec3 base_water_color:source_color;
uniform vec3 fresnel_water_color:source_color;
uniform vec4 deep_water_color : source_color;
uniform vec4 shallow_water_color : source_color;
uniform float refrationamount : hint_range(0.0, 1.0, 0.01); // Group uniforms for depth-related parameters
uniform bool fog_underwater; group_uniforms Depth;
uniform float beers_law = 0.5;
uniform float depth_offset = -1.2;
uniform float near = 7.0;
uniform float far = 10000.0;
group_uniforms edge; // Group uniforms for edge detection and foam effects
group_uniforms Edge_Detection;
uniform float edge_texture_scale = 3.5;
uniform float edge_texture_offset = 1.0;
uniform float edge_texture_speed = 0.1;
uniform float edge_foam_intensity = 2.0;
uniform float edge_fade_start = -3.0;
uniform float edge_fade_end = 6.6;
uniform sampler2D edge_foam_texture;
uniform float edge_size : hint_range(0.01, 0.5, 0.01) = 0.1; // Group uniforms for wave peak effects
uniform bool foam_or_fade = false; group_uniforms WavePeakEffect;
uniform float peak_height_threshold = 1.0;
uniform vec3 peak_color = vec3(1.0, 1.0, 1.0);
uniform float peak_intensity = 1.0;
uniform sampler2D foam_texture;
uniform float foam_intensity = 1.0;
uniform float foam_scale = 1.0;
uniform sampler2D DEPTH_TEXTURE : hint_depth_texture, filter_linear_mipmap, repeat_disable; // Group uniforms for surface details
group_uniforms Surface_details;
uniform float metallic = 0.6;
uniform float roughness = 0.045;
uniform float uv_scale_text_a = 0.1;
uniform vec2 uv_speed_text_a = vec2(0.42, 0.3);
uniform float uv_scale_text_b = 0.6;
uniform vec2 uv_speed_text_b = vec2(0.15, 0.1);
uniform float normal_strength = 1.0;
uniform float uv_sampler_scale = 0.3;
uniform float blend_factor = 0.28;
uniform float perturbation_strength = 1.0; // Adjust this value to tile/de-tile the oceans surface.
uniform float perturbation_time = 0.3; // Offset perturbation_time for patern variation
uniform sampler2D normalmap_a;
uniform sampler2D normalmap_b;
uniform sampler2D uv_sampler;
uniform sampler2DArray caustic_sampler : hint_default_black;
group_uniforms screen_space_reflection; uniform float num_caustic_layers = 16.0; // <<< IMPORTANT: DOUBLE CHECK THIS against your Texture2DArray's actual slices!
uniform float caustic_distortion_strength = 0.001; // Keep this value within a range of 0.001 to 0.009
uniform float far_clip = 50.0; // Fresnel function to calculate the reflection/refraction effect
uniform int steps : hint_range(64, 1024, 16) = 512; float fresnel(float amount, vec3 normal, vec3 view) {
uniform float ssr_screen_fade : hint_range(0.01, 0.5, 0.01) = 0.05; return pow((1.0 - clamp(dot(normalize(normal), normalize(view)), 0.0, 1.0)), amount);
float schlickfresnel(float ior1, float ior2, vec3 view, vec3 norm) {
float incident = dot(view, norm);
float reflectance = pow(((ior2 - ior1)/(ior2 + ior1)), 2.0);
float fresnelincident = reflectance + (1.0 - reflectance) * pow(1.0 - cos(incident), 5.0);
return(fresnelincident / incident);
} }
// Function to calculate edge depth
float edge(float depth) {
depth = 2.0 * depth - 1.0;
return near * far / (far - depth * (near - far));
}
// Function to calculate dynamic amplitude based on position and time
float dynamic_amplitude(vec2 pos, float time) {
return 1.0 + 0.5 * sin(time + length(pos) * 0.1);
}
// Hash function for noise generation
float hash(vec2 p) {
return fract(sin(dot(p * 17.17, vec2(14.91, 67.31))) * 4791.9511);
}
// 2D noise function
float noise(vec2 x) {
vec2 p = floor(x);
vec2 f = fract(x);
f = f * f * (3.0 - 2.0 * f);
vec2 a = vec2(1.0, 0.0);
return mix(mix(hash(p + a.yy), hash(p + a.xy), f.x),
mix(hash(p + a.yx), hash(p + a.xx), f.x), f.y);
}
// Fractional Brownian Motion (fBM) function for generating complex noise
float fbm(vec2 x) {
float height = 0.0;
float amplitude = 0.5;
float frequency = 3.0;
for (int i = 0; i < 6; i++) {
height += noise(x * frequency) * amplitude;
amplitude *= 0.5;
frequency *= 2.0;
}
return height;
}
// Structure to hold wave results: displacement, tangent, binormal, and normal
struct WaveResult {
vec3 displacement;
vec3 tangent;
vec3 binormal;
vec3 normal;
};
// Gerstner wave function to calculate wave displacement and normals
WaveResult gerstner_wave(vec4 params, vec2 pos, float time) {
float steepness = params.z * dynamic_amplitude(pos, time);
float wavelength = params.w;
float k = 2.0 * PI / wavelength;
float c = sqrt(9.81 / k);
vec2 d = normalize(params.xy);
float f = k * (dot(d, pos.xy) - c * time);
float a = steepness / k;
vec3 displacement = vec3(d.x * (a * cos(f)), a * sin(f), d.y * (a * cos(f)));
vec3 tangent = vec3(1.0 - d.x * d.x * steepness * sin(f), steepness * cos(f), -d.x * d.y * steepness * sin(f));
vec3 binormal = vec3(-d.x * d.y * steepness * sin(f), steepness * cos(f), 1.0 - d.y * d.y * steepness * sin(f));
vec3 normal = normalize(cross(tangent, binormal));
return WaveResult(displacement, tangent, binormal, normal);
}
// Function to combine multiple Gerstner waves
WaveResult wave(vec2 pos, float time) {
WaveResult waveResult;
waveResult.displacement = vec3(0.0);
waveResult.tangent = vec3(1.0, 0.0, 0.0);
waveResult.binormal = vec3(0.0, 0.0, 1.0);
waveResult.normal = vec3(0.0, 1.0, 0.0);
WaveResult wr;
wr = gerstner_wave(wave_1, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_2, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_3, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_4, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_5, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_6, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_7, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
wr = gerstner_wave(wave_8, pos, time);
waveResult.displacement += wr.displacement;
waveResult.tangent += wr.tangent;
waveResult.binormal += wr.binormal;
waveResult.normal += wr.normal;
// Add noise to the wave displacement for more natural look
waveResult.displacement.y += fbm(pos.xy * (noise_zoom / 50.0)) * noise_amp;
return waveResult;
}
// Varying variables to pass data from vertex to fragment shader
varying float height;
varying vec3 world_position;
varying mat3 tbn_matrix;
varying mat4 inv_mvp;
// Vertex shader function
void vertex() { void vertex() {
position = VERTEX.xz; // Calculate time based on the global TIME variable and time_factor
UV = VERTEX.xz * samplerscale + (sampler1speed * TIME); float time = TIME / time_factor;
UV2 = VERTEX.xz * samplerscale + (sampler2speed * TIME); // Calculate wave displacement and normals
float height = mix(texture(height1tex, UV),texture(height2tex, UV2),samplermix).x; WaveResult waveResult = wave(VERTEX.xz, time);
VERTEX.y += (height - 0.5) * heightstrength; // Apply wave displacement to the vertex position
wposition = VERTEX; VERTEX += waveResult.displacement;
// Called for every vertex the material is visible on. // Store the height of the wave displacement
height = waveResult.displacement.y;
// Transform normals, tangents, and binormals to world space
vec3 n = normalize((MODELVIEW_MATRIX * vec4(waveResult.normal, 0.0)).xyz);
vec3 t = normalize((MODELVIEW_MATRIX * vec4(waveResult.tangent.xyz, 0.0)).xyz);
vec3 b = normalize((MODELVIEW_MATRIX * vec4((cross(waveResult.normal, waveResult.tangent.xyz)), 0.0)).xyz);
// Calculate world position of the vertex
world_position = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
// Create TBN matrix for normal mapping
tbn_matrix = mat3(t, b, n);
// Calculate inverse MVP matrix for screen space transformations
inv_mvp = inverse(PROJECTION_MATRIX * MODELVIEW_MATRIX);
} }
float snells_window(vec3 normal, vec3 view, float ior) {
float cos_theta = dot(normal, view); // 2D Random hash function
return step(sqrt(1.0 - cos_theta * cos_theta) * ior, 1.0); float random(vec2 p) {
return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);
} }
float linear_depth(float nonlinear_depth, mat4 inv_projection_matrix) { // Smooth noise function
return 1.0 / (nonlinear_depth * inv_projection_matrix[2].w + inv_projection_matrix[3].w); float smooth_noise(vec2 p) {
vec2 i = floor(p);
vec2 f = fract(p);
vec2 u = f * f * (3.0 - 2.0 * f);
return mix(
mix(random(i + vec2(0.0, 0.0)), random(i + vec2(1.0, 0.0)), u.x),
mix(random(i + vec2(0.0, 1.0)), random(i + vec2(1.0, 1.0)), u.x),
u.y
);
} }
float nonlinear_depth(float linear_depth, mat4 inv_projection_matrix) { // Layered noise for detiling
return (1.0 / linear_depth - inv_projection_matrix[3].w) / inv_projection_matrix[2].w; float layered_noise(vec2 p, float scale) {
float n = 0.0;
n += smooth_noise(p * scale) * 0.5;
n += smooth_noise(p * scale * 2.0) * 0.25;
n += smooth_noise(p * scale * 4.0) * 0.125;
return n;
} }
vec2 view2uv(vec3 position_view_space, mat4 proj_m) // Perturb UV coordinates for detiling
{ vec2 perturb_uv(vec2 uv, vec2 world_pos, float time, float strength) {
vec4 position_clip_space = proj_m * vec4(position_view_space.xyz, 1.0); // Use world position to generate unique noise patterns
vec2 position_ndc = position_clip_space.xy / position_clip_space.w; vec2 noise_offset = vec2(
return position_ndc.xy * 0.5 + 0.5; layered_noise(world_pos * 0.3 + time * 0.06, 1.0),
layered_noise(world_pos * 0.3 + time * 0.06 + vec2(10.0), 1.0)
);
// Apply subtle distortion to UVs
return uv + noise_offset * strength;
} }
float remap(float x, float min1, float max1, float min2, float max2) {
return ((x - min1) / (max1 - min1) + min2) * (max2 - min2);
}
float remap1(float x, float min1, float max1) {
return (x - min1) / (max1 - min1);
}
float edge_fade(vec2 uv, float size) {
float x1 = clamp(remap1(uv.x, 0.0, size), 0.0, 1.0);
float x2 = clamp(remap1(uv.x, 1.0, 1.0 - size), 0.0, 1.0);
float y1 = clamp(remap1(uv.y, 0.0, size), 0.0, 1.0);
float y2 = clamp(remap1(uv.y, 1.0, 1.0 - size), 0.0, 1.0);
return x1*x2*y1*y2;
}
// Fragment shader function
void fragment() { void fragment() {
// Calculate UV coordinates based on world position
vec2 uv = world_position.xz;
vec3 onorm = NORMAL; // Sample UV offset texture
vec2 uv_offset = texture(uv_sampler, uv * uv_sampler_scale).rg;
vec2 normmap = mix(texture(normal1tex, UV),texture(normal2tex, UV2),samplermix).xy; // Calculate base UV coordinates for normal maps
NORMAL += TANGENT * (normmap.x - 0.5) * normalstrength; vec2 base_uv_a = (uv + uv_speed_text_a * TIME + uv_offset) * uv_scale_text_a;
NORMAL += BINORMAL * (normmap.y - 0.5) * normalstrength; vec2 base_uv_b = (uv + uv_speed_text_b * TIME + uv_offset) * uv_scale_text_b;
vec3 wnorm = (vec4(NORMAL, 0.0) * VIEW_MATRIX).xyz; // Apply noise-based perturbation to UVs
vec3 wview = (vec4(VIEW, 0.0) * VIEW_MATRIX).xyz; vec2 animated_uv_a = perturb_uv(base_uv_a, world_position.xz, TIME, perturbation_strength);
if (FRONT_FACING) { vec2 animated_uv_b = perturb_uv(base_uv_b, world_position.xz, TIME + 0.0, perturbation_time);
ROUGHNESS = 0.0; // Sample normal maps
METALLIC = 1.0; vec3 normal_sample_a = texture(normalmap_a, animated_uv_a).rgb;
SPECULAR = 0.0; vec3 normal_sample_b = texture(normalmap_b, animated_uv_b).rgb;
float fres = schlickfresnel(AirIOR, IOR, VIEW, NORMAL); // Normalize normal samples and combine them
ALBEDO = surfacecolour * fres; normal_sample_a = normalize(normal_sample_a * 2.0 - 1.0);
normal_sample_b = normalize(normal_sample_b * 2.0 - 1.0);
vec3 combined_normal = normalize(mix(normal_sample_a, normal_sample_b, blend_factor));
// REFRACTION // Perturb the normal using the TBN matrix
vec3 perturbed_normal = normalize(tbn_matrix * (combined_normal * normal_strength));
float lineardepth = linear_depth(texture(DEPTH_TEXTURE, SCREEN_UV).r, INV_PROJECTION_MATRIX); // Sample depth texture
float selfdepth = -VERTEX.z; float depth_raw = texture(DEPTH_TEXTURE, SCREEN_UV).r;
float depth_diff = lineardepth - selfdepth; float depth = PROJECTION_MATRIX[3][2] / (depth_raw + PROJECTION_MATRIX[2][2]);
vec3 tanx = BINORMAL * (normmap.x - 0.5) * normalstrength;
vec3 tany = TANGENT * (normmap.y - 0.5) * normalstrength;
vec2 refracted_uv = SCREEN_UV + (tanx + tany).xy * refrationamount * depth_diff / lineardepth;
float newdepth = linear_depth(texture(DEPTH_TEXTURE, refracted_uv).r, INV_PROJECTION_MATRIX);
//float selfdepth = 1.0/(1.0 + 2.0 * distance(wposition, CAMERA_POSITION_WORLD));
vec3 newvolcolour = mix(volumecolour, vec3(1.0), clamp(1.0 / (depth_diff * 1.0), 0.0, 1.0));
EMISSION = newvolcolour * texture(screen, refracted_uv).rgb;
if (newdepth < selfdepth) { // Calculate the distance from the camera to the water surface
EMISSION = newvolcolour * texture(screen, SCREEN_UV).rgb; float camera_depth = INV_VIEW_MATRIX[3].y - world_position.y;
if (camera_depth < 0.0) { // Camera is underwater
// Map the depth to a range where deeper = positive beers_law, closer = negative beers_law
float depth_factor = smoothstep(-10.0, 0.0, camera_depth); // Adjust -10.0 for the depth range
ALPHA -= depth_factor * 0.3;
} }
// Calculate depth blend factor using Beer's law
float depth_blend = exp((depth + VERTEX.z + depth_offset) * -beers_law);
depth_blend = clamp(1.0 - depth_blend, 0.0, 1.0);
float depth_blend_power = clamp(pow(depth_blend, 2.5), 0.0, 1.0);
// SSR // Sample screen color and blend it with depth color
vec3 screen_color = textureLod(SCREEN_TEXTURE, SCREEN_UV, depth_blend_power * 2.5).rgb;
vec3 depth_color = mix(shallow_water_color.rgb, deep_water_color.rgb, depth_blend_power);
vec3 color = mix(screen_color * depth_color, depth_color * 0.25, depth_blend_power * 0.5);
vec3 reflected = -reflect(VIEW, NORMAL); // Calculate depth difference for edge detection
vec3 pos = VERTEX; float z_depth = edge(texture(DEPTH_TEXTURE, SCREEN_UV).x);
int curstep = 0; float z_pos = edge(FRAGCOORD.z);
bool finished = false; float z_dif = z_depth - z_pos;
vec2 uv;
float currentdepth;
while (curstep < steps) {
float step_scale = float(curstep + 1) / float(steps);
float step_dist = step_scale * step_scale * far_clip;
pos += reflected * step_dist;
curstep += 1;
currentdepth = -pos.z;
uv = view2uv(pos, PROJECTION_MATRIX);
if (!(uv.x < 1.0 && uv.y < 1.0 && uv.x > 0.0 && uv.y > 0.0)) {
break;
}
float testdepth = linear_depth(texture(DEPTH_TEXTURE, uv).r, INV_PROJECTION_MATRIX);
if (testdepth < currentdepth) {
finished = true;
break;
}
}
if (finished && currentdepth < far_clip * 0.99) {
ALBEDO *= 1.0 - edge_fade(uv, ssr_screen_fade);
METALLIC *= 1.0 - edge_fade(uv, ssr_screen_fade);
EMISSION += texture(screen, uv).xyz * schlickfresnel(1.0, 1.33, VIEW, NORMAL) * edge_fade(uv, ssr_screen_fade);
}
// EDGE EFFECT // Calculate caustic effect
vec4 caustic_screenPos = vec4(SCREEN_UV * 2.0 - 1.0, depth_raw, 1.0);
vec4 caustic_localPos = inv_mvp * caustic_screenPos;
caustic_localPos = vec4(caustic_localPos.xyz / caustic_localPos.w, caustic_localPos.w);
float distfromedge = depth_diff * dot(normalize(NORMAL), normalize(-VERTEX)) / VIEW.z; vec2 caustic_Uv = caustic_localPos.xz / vec2(1024.0) + 0.5;
if (distfromedge < edge_size) { caustic_Uv += perturbed_normal.xz * caustic_distortion_strength;
distfromedge /= edge_size;
if (foam_or_fade) {
ALPHA = distfromedge;
} else {
float edgetex = mix(texture(edge1tex, UV).r, texture(edge2tex, UV2).r, samplermix);
if (edgetex > distfromedge) {
ALBEDO = vec3(1.0);
ROUGHNESS = 1.0;
METALLIC = 1.0;
EMISSION = vec3(0.0);
NORMAL = onorm;
}
}
}
} else { float caustic_layer_index = floor(mod(TIME * 26.0, num_caustic_layers)); // Use floor for integer index
// SNELLS WINDOW vec4 caustic_color = texture(caustic_sampler, vec3(caustic_Uv * 660.0, caustic_layer_index));
float window = snells_window(wnorm, wview, IOR); float caustic_intensity_multiplier = (1.0 - depth_blend_power) * 6.0;
if (window > 0.5) { color *= 1.0 + pow(caustic_color.r, 1.50) * caustic_intensity_multiplier;
ROUGHNESS = 1.0;
METALLIC = 1.0;
ALBEDO = vec3(0.0);
SPECULAR = 0.0;
float linear_depth = 1.0 / (texture(DEPTH_TEXTURE, SCREEN_UV).r * INV_PROJECTION_MATRIX[2].w + INV_PROJECTION_MATRIX[3].w);
float selfdepth = 1.0 / (FRAGCOORD.z * INV_PROJECTION_MATRIX[2].w + INV_PROJECTION_MATRIX[3].w);
float depth_diff = linear_depth - selfdepth;
vec3 tanx = BINORMAL * (normmap.x - 0.5) * normalstrength;
vec3 tany = TANGENT * (normmap.y - 0.5) * normalstrength;
float newdepth = 1.0 / (texture(DEPTH_TEXTURE, SCREEN_UV + (tanx + tany).xy * refrationamount).r * INV_PROJECTION_MATRIX[2].w + INV_PROJECTION_MATRIX[3].w);
//float selfdepth = 1.0/(1.0 + 2.0 * distance(wposition, CAMERA_POSITION_WORLD));
vec3 newvolcolour = mix(volumecolour, vec3(1.0), clamp(1.0 / (selfdepth * 1.0), 0.0, 1.0));
if (!fog_underwater) {
newvolcolour = vec3(1.0);
}
EMISSION = newvolcolour * texture(screen, SCREEN_UV + (tanx + tany).xy * refrationamount).rgb;
} else {
ALBEDO = surfacecolour;
ROUGHNESS = 0.0;
METALLIC = 1.0;
// SSR // Calculate fresnel effect
float fresnel = fresnel(5.0, NORMAL, VIEW);
vec3 surface_color = mix(base_water_color, fresnel_water_color, fresnel);
vec3 reflected = -reflect(VIEW, NORMAL); // Calculate edge foam effect
vec3 pos = VERTEX; vec2 edge_uv = world_position.xz * edge_texture_scale + edge_texture_offset + TIME * edge_texture_speed;
int curstep = 0; float edge_fade = smoothstep(edge_fade_start, edge_fade_end, z_dif);
bool finished = false; vec3 depth_color_adj = mix(texture(edge_foam_texture, edge_uv).rgb * edge_foam_intensity, color, edge_fade);
vec2 uv;
float currentdepth;
while (curstep < steps) {
float step_scale = float(curstep + 1) / float(steps);
float step_dist = step_scale * step_scale * far_clip;
pos += reflected * step_dist;
curstep += 1;
currentdepth = -pos.z;
uv = view2uv(pos, PROJECTION_MATRIX);
if (!(uv.x < 1.0 && uv.y < 1.0 && uv.x > 0.0 && uv.y > 0.0)) {
break;
}
float testdepth = linear_depth(texture(DEPTH_TEXTURE, uv).r, INV_PROJECTION_MATRIX);
if (testdepth < currentdepth) {
finished = true;
break;
}
}
if (finished && currentdepth < far_clip * 0.99) {
ALBEDO *= 1.0 - edge_fade(uv, ssr_screen_fade);
METALLIC *= 1.0 - edge_fade(uv, ssr_screen_fade);
EMISSION += texture(screen, uv).xyz * schlickfresnel(1.0, 1.33, VIEW, NORMAL) * edge_fade(uv, ssr_screen_fade);
}
}
} // Apply peak color effect based on height with noise
float peak_factor = smoothstep(peak_height_threshold, peak_height_threshold + 0.2, height);
float noise_factor = fbm(world_position.xz * 0.1 + TIME * 0.1);
peak_factor = peak_factor * noise_factor;
vec3 final_color = mix(surface_color, peak_color * peak_intensity, peak_factor);
// Sample the foam texture and blend it with the final color
vec2 foam_uv = world_position.xz * foam_scale + TIME * 0.1;
float foam_sample = texture(foam_texture, foam_uv).r;
float foam_blend_factor = smoothstep(0.0, 1.0, peak_factor) * foam_sample * foam_intensity;
final_color = mix(final_color, vec3(1.0), foam_blend_factor);
// Set the final color, metallic, roughness, and normal
ALBEDO = clamp(final_color + depth_color_adj, vec3(0.0), vec3(1.0));
METALLIC = metallic;
ROUGHNESS = roughness;
NORMAL = perturbed_normal;
} }

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=286 format=4 uid="uid://dvnc26rebk6o0"] [gd_scene load_steps=305 format=4 uid="uid://dvnc26rebk6o0"]
[ext_resource type="Script" uid="uid://cuhfkyh3d7noa" path="res://src/map/dungeon/code/Overworld.cs" id="1_5hmt3"] [ext_resource type="Script" uid="uid://cuhfkyh3d7noa" path="res://src/map/dungeon/code/Overworld.cs" id="1_5hmt3"]
[ext_resource type="Texture2D" uid="uid://co6h8vyi11sl2" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_63.png" id="2_g6b7b"] [ext_resource type="Texture2D" uid="uid://co6h8vyi11sl2" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_63.png" id="2_g6b7b"]
@@ -21,7 +21,6 @@
[ext_resource type="Texture2D" uid="uid://bj11280ljrj2b" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_OUTTER_46.png" id="14_nfcfh"] [ext_resource type="Texture2D" uid="uid://bj11280ljrj2b" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_OUTTER_46.png" id="14_nfcfh"]
[ext_resource type="Texture2D" uid="uid://dicwnhepupj5a" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_OUTTER_33.png" id="15_8isf0"] [ext_resource type="Texture2D" uid="uid://dicwnhepupj5a" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_OUTTER_33.png" id="15_8isf0"]
[ext_resource type="Shader" uid="uid://blrcjqdo7emhs" path="res://src/map/overworld/Models/water.gdshader" id="17_b53dq"] [ext_resource type="Shader" uid="uid://blrcjqdo7emhs" path="res://src/map/overworld/Models/water.gdshader" id="17_b53dq"]
[ext_resource type="Shader" uid="uid://yagva4an6w2" path="res://src/map/map shaders/Overworld Water.gdshader" id="17_q2pi3"]
[ext_resource type="Texture2D" uid="uid://cchqagfhsko0r" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_A1_eyeblock.png" id="18_r86sn"] [ext_resource type="Texture2D" uid="uid://cchqagfhsko0r" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_A1_eyeblock.png" id="18_r86sn"]
[ext_resource type="Texture2D" uid="uid://bkly85kkv2gjs" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_concrete_0025_color_1k.jpg" id="19_0u0mt"] [ext_resource type="Texture2D" uid="uid://bkly85kkv2gjs" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_concrete_0025_color_1k.jpg" id="19_0u0mt"]
[ext_resource type="Texture2D" uid="uid://cgx3b275abnwg" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_OW_Worked-Stone-Outside.png" id="20_4rcfa"] [ext_resource type="Texture2D" uid="uid://cgx3b275abnwg" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_OW_Worked-Stone-Outside.png" id="20_4rcfa"]
@@ -76,10 +75,16 @@
[ext_resource type="Texture2D" uid="uid://c5jloiaiy7iug" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_BANYAN_LEAVES_3.png" id="68_8o0x4"] [ext_resource type="Texture2D" uid="uid://c5jloiaiy7iug" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_BANYAN_LEAVES_3.png" id="68_8o0x4"]
[ext_resource type="Shader" uid="uid://d3pf3ubk3lwwt" path="res://src/map/map shaders/Overworld Sea Fog Layer.gdshader" id="70_uyygh"] [ext_resource type="Shader" uid="uid://d3pf3ubk3lwwt" path="res://src/map/map shaders/Overworld Sea Fog Layer.gdshader" id="70_uyygh"]
[ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/map shaders/DUST_1.png" id="71_r8r3k"] [ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/map shaders/DUST_1.png" id="71_r8r3k"]
[ext_resource type="Shader" uid="uid://dluqraq5bnmb3" path="res://src/map/map shaders/Water3.gdshader" id="72_8nnl3"]
[ext_resource type="Shader" uid="uid://dj3ut2w0lnwq2" path="res://src/map/map shaders/Overworld God Rays.gdshader" id="72_t71yg"] [ext_resource type="Shader" uid="uid://dj3ut2w0lnwq2" path="res://src/map/map shaders/Overworld God Rays.gdshader" id="72_t71yg"]
[ext_resource type="Texture2D" uid="uid://b53gm6277ng4e" path="res://src/map/assetts/waternormal.jpeg" id="73_yrg6l"]
[ext_resource type="Shader" uid="uid://b7t52o30btgnn" path="res://src/map/map shaders/Ocean.gdshader" id="74_r86sn"]
[ext_resource type="PackedScene" uid="uid://d4l4qutp8x40c" path="res://src/npc/Rat/Rat.tscn" id="75_322om"] [ext_resource type="PackedScene" uid="uid://d4l4qutp8x40c" path="res://src/npc/Rat/Rat.tscn" id="75_322om"]
[ext_resource type="PackedScene" uid="uid://ccwn5dfst7o4d" path="res://src/npc/Clalo/Clalo.tscn" id="76_nfcfh"] [ext_resource type="PackedScene" uid="uid://ccwn5dfst7o4d" path="res://src/npc/Clalo/Clalo.tscn" id="76_nfcfh"]
[ext_resource type="Texture2D" uid="uid://dtdjtk7ksssmb" path="res://src/map/assetts/sarapa2.png" id="80_0u0mt"]
[ext_resource type="PackedScene" uid="uid://cjj6wabswtkk1" path="res://src/npc/Caretaker/Caretaker.tscn" id="80_8isf0"] [ext_resource type="PackedScene" uid="uid://cjj6wabswtkk1" path="res://src/npc/Caretaker/Caretaker.tscn" id="80_8isf0"]
[ext_resource type="CompressedTexture2DArray" uid="uid://c0kjnbpgaa6bs" path="res://src/map/assetts/caustics.png" id="84_r86sn"]
[ext_resource type="Texture2D" uid="uid://cbsdc4uthojov" path="res://src/map/assetts/waternormal2.jpg" id="85_0u0mt"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_kq4kf"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_kq4kf"]
render_priority = 0 render_priority = 0
@@ -7872,8 +7877,9 @@ ambient_light_color = Color(0.995122, 0.995774, 0.995477, 1)
ambient_light_sky_contribution = 0.28 ambient_light_sky_contribution = 0.28
reflected_light_source = 2 reflected_light_source = 2
sdfgi_enabled = true sdfgi_enabled = true
sdfgi_read_sky_light = false
sdfgi_min_cell_size = 2.0 sdfgi_min_cell_size = 2.0
sdfgi_y_scale = 0
sdfgi_energy = 0.665
glow_enabled = true glow_enabled = true
glow_intensity = 2.1 glow_intensity = 2.1
glow_strength = 0.32 glow_strength = 0.32
@@ -7897,38 +7903,52 @@ shader = ExtResource("70_uyygh")
shader_parameter/cloud_color = Vector4(2.165, 1.93, 2.76, 0.625) shader_parameter/cloud_color = Vector4(2.165, 1.93, 2.76, 0.625)
shader_parameter/cloud_opacity = 0.022 shader_parameter/cloud_opacity = 0.022
[sub_resource type="FastNoiseLite" id="FastNoiseLite_l0fgw"]
noise_type = 2
seed = 4
frequency = 0.0281
domain_warp_enabled = true
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_kq4kf"]
seamless = true
seamless_blend_skirt = 0.278
noise = SubResource("FastNoiseLite_l0fgw")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_r8r3k"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_r8r3k"]
render_priority = 0 render_priority = 0
shader = ExtResource("17_b53dq") shader = ExtResource("17_b53dq")
shader_parameter/surfacecolour = Color(0.180064, 0.671296, 0.502047, 1) shader_parameter/wave_1 = Vector4(0.3, 4, 0.2, 0.6)
shader_parameter/volumecolour = Color(0.372451, 0.778248, 0.616884, 1) shader_parameter/wave_2 = Vector4(-0.26, -0.19, 0.01, 0.47)
shader_parameter/AirIOR = 1.0 shader_parameter/wave_3 = Vector4(-7.67, 5.63, 0.1, 0.38)
shader_parameter/IOR = 1.33 shader_parameter/wave_4 = Vector4(-0.42, -1.63, 0.1, 0.28)
shader_parameter/sampler1speed = Vector2(0.035, 0.14) shader_parameter/wave_5 = Vector4(1.66, 0.07, 0.15, 1.81)
shader_parameter/sampler2speed = Vector2(0, 0.02) shader_parameter/wave_6 = Vector4(1.2, 1.14, 0.01, 0.33)
shader_parameter/samplermix = 0.5 shader_parameter/wave_7 = Vector4(-1.6, 7.3, 0.11, 0.73)
shader_parameter/samplerscale = Vector2(0.1, 0.1) shader_parameter/wave_8 = Vector4(-0.42, -1.63, 0.15, 1.52)
shader_parameter/normal1tex = SubResource("NoiseTexture2D_kq4kf") shader_parameter/time_factor = 2.5
shader_parameter/normalstrength = 0.2 shader_parameter/noise_zoom = 2.0
shader_parameter/heightstrength = 1.0 shader_parameter/noise_amp = 1.0
shader_parameter/refrationamount = 0.14 shader_parameter/base_water_color = Color(4.57242e-06, 0.762003, 0.312142, 1)
shader_parameter/fog_underwater = true shader_parameter/fresnel_water_color = Color(0, 0, 0, 1)
shader_parameter/edge_size = 0.31 shader_parameter/deep_water_color = Color(0, 0, 0, 1)
shader_parameter/foam_or_fade = false shader_parameter/shallow_water_color = Color(0, 0, 0, 1)
shader_parameter/far_clip = 50.0 shader_parameter/beers_law = 0.5
shader_parameter/steps = 512 shader_parameter/depth_offset = -1.2
shader_parameter/ssr_screen_fade = 0.05 shader_parameter/near = 7.0
shader_parameter/far = 10000.0
shader_parameter/edge_texture_scale = 3.5
shader_parameter/edge_texture_offset = 1.0
shader_parameter/edge_texture_speed = 0.1
shader_parameter/edge_foam_intensity = 2.0
shader_parameter/edge_fade_start = -3.0
shader_parameter/edge_fade_end = 6.6
shader_parameter/peak_height_threshold = 1.0
shader_parameter/peak_color = Vector3(1, 1, 1)
shader_parameter/peak_intensity = 1.0
shader_parameter/foam_intensity = 1.0
shader_parameter/foam_scale = 1.0
shader_parameter/metallic = 0.6
shader_parameter/roughness = 0.045
shader_parameter/uv_scale_text_a = 0.1
shader_parameter/uv_speed_text_a = Vector2(0.42, 0.3)
shader_parameter/uv_scale_text_b = 0.6
shader_parameter/uv_speed_text_b = Vector2(0.15, 0.1)
shader_parameter/normal_strength = 1.0
shader_parameter/uv_sampler_scale = 0.3
shader_parameter/blend_factor = 0.28
shader_parameter/perturbation_strength = 1.0
shader_parameter/perturbation_time = 0.3
shader_parameter/num_caustic_layers = 16.0
shader_parameter/caustic_distortion_strength = 0.001
[sub_resource type="ArrayMesh" id="ArrayMesh_0gwme"] [sub_resource type="ArrayMesh" id="ArrayMesh_0gwme"]
_surfaces = [{ _surfaces = [{
@@ -7966,42 +7986,95 @@ shadow_mesh = SubResource("ArrayMesh_0gwme")
[sub_resource type="PlaneMesh" id="PlaneMesh_322om"] [sub_resource type="PlaneMesh" id="PlaneMesh_322om"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_c2gp5"] [sub_resource type="PlaneMesh" id="PlaneMesh_4rcfa"]
noise_type = 3 size = Vector2(4000, 4000)
seed = 4 subdivide_width = 600
frequency = 0.0299 subdivide_depth = 600
fractal_octaves = 2
domain_warp_enabled = true
domain_warp_amplitude = 40.02
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_pvi8n"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_273fb"]
width = 1024 noise_type = 3
height = 1024 frequency = 0.0286
domain_warp_enabled = true
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_avpdt"]
noise = SubResource("FastNoiseLite_273fb")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_arif4"]
noise_type = 3
frequency = 0.0366
fractal_type = 0
domain_warp_enabled = true
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_odhf5"]
seamless = true seamless = true
seamless_blend_skirt = 0.231 noise = SubResource("FastNoiseLite_arif4")
noise = SubResource("FastNoiseLite_c2gp5")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_uuhpn"]
render_priority = 0
shader = ExtResource("72_8nnl3")
shader_parameter/wave_1 = Vector4(0.3, 4, 0.2, 0.6)
shader_parameter/wave_2 = Vector4(-0.26, -0.19, 0.01, 0.47)
shader_parameter/wave_3 = Vector4(-7.67, 5.63, 0.1, 0.38)
shader_parameter/wave_4 = Vector4(-0.42, -1.63, 0.1, 0.28)
shader_parameter/wave_5 = Vector4(1.66, 0.07, 0.15, 1.81)
shader_parameter/wave_6 = Vector4(1.2, 1.14, 0.01, 0.33)
shader_parameter/wave_7 = Vector4(-1.6, 7.3, 0.11, 0.73)
shader_parameter/wave_8 = Vector4(-0.42, -1.63, 0.15, 1.52)
shader_parameter/time_factor = 2.5
shader_parameter/noise_zoom = 2.0
shader_parameter/noise_amp = 1.28
shader_parameter/base_water_color = Color(0.172474, 0.114632, 0.00425973, 1)
shader_parameter/fresnel_water_color = Color(0.287863, 0.480234, 0.258425, 1)
shader_parameter/deep_water_color = Color(0.273267, 0.335214, 0.123708, 1)
shader_parameter/shallow_water_color = Color(0.283059, 0.50084, 0.333336, 1)
shader_parameter/beers_law = 0.5
shader_parameter/depth_offset = -1.2
shader_parameter/near = 7.0
shader_parameter/far = 10000.0
shader_parameter/edge_texture_scale = 0.0
shader_parameter/edge_texture_offset = 0.0
shader_parameter/edge_texture_speed = 0.0
shader_parameter/edge_foam_intensity = 0.0
shader_parameter/edge_fade_start = -3.0
shader_parameter/edge_fade_end = 6.6
shader_parameter/peak_height_threshold = 1.0
shader_parameter/peak_color = Vector3(1, 1, 1)
shader_parameter/peak_intensity = 1.0
shader_parameter/foam_intensity = 1.0
shader_parameter/foam_scale = 1.0
shader_parameter/metallic = 0.46
shader_parameter/roughness = 0.47
shader_parameter/uv_scale_text_a = 0.1
shader_parameter/uv_speed_text_a = Vector2(0.42, 0.3)
shader_parameter/uv_scale_text_b = 0.6
shader_parameter/uv_speed_text_b = Vector2(0.15, 0.1)
shader_parameter/normal_strength = 1.0
shader_parameter/uv_sampler_scale = 0.3
shader_parameter/blend_factor = 0.065
shader_parameter/perturbation_strength = 1.0
shader_parameter/perturbation_time = 0.3
shader_parameter/normalmap_a = ExtResource("73_yrg6l")
shader_parameter/normalmap_b = SubResource("NoiseTexture2D_avpdt")
shader_parameter/uv_sampler = SubResource("NoiseTexture2D_odhf5")
shader_parameter/num_caustic_layers = 16.0
shader_parameter/caustic_distortion_strength = 0.001
[sub_resource type="FastNoiseLite" id="FastNoiseLite_vurh2"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_b2mdl"]
noise = SubResource("FastNoiseLite_vurh2")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_d1qcb"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_d1qcb"]
render_priority = 0 render_priority = 0
shader = ExtResource("17_q2pi3") shader = ExtResource("74_r86sn")
shader_parameter/surfacecolour = Color(9.62615e-07, 0.76529, 0.77634, 1)
shader_parameter/volumecolour = Color(0.224564, 0.518909, 0.356444, 1)
shader_parameter/AirIOR = 1.0
shader_parameter/IOR = 1.33
shader_parameter/sampler1speed = Vector2(0.11, 0) shader_parameter/sampler1speed = Vector2(0.11, 0)
shader_parameter/sampler2speed = Vector2(0, 0.02) shader_parameter/sampler2speed = Vector2(0, 0.02)
shader_parameter/samplermix = 0.5 shader_parameter/albedo = Color(0.298342, 0.325725, 0.147222, 1)
shader_parameter/samplerscale = Vector2(0.1, 0.1) shader_parameter/normalmap = SubResource("NoiseTexture2D_b2mdl")
shader_parameter/normal1tex = SubResource("NoiseTexture2D_pvi8n") shader_parameter/time_scale = 0.1
shader_parameter/normalstrength = 1.77 shader_parameter/alpha = 0.8
shader_parameter/heightstrength = 1.96 shader_parameter/refraction_strength = 0.5
shader_parameter/refrationamount = 1.0 shader_parameter/is_depth_based = true
shader_parameter/fog_underwater = true
shader_parameter/edge_size = 0.14
shader_parameter/foam_or_fade = true
shader_parameter/far_clip = 50.0
shader_parameter/steps = 512
shader_parameter/ssr_screen_fade = 0.05
[sub_resource type="ArrayMesh" id="ArrayMesh_3kd5v"] [sub_resource type="ArrayMesh" id="ArrayMesh_3kd5v"]
_surfaces = [{ _surfaces = [{
@@ -8094,18 +8167,95 @@ shader_parameter/emission_energy = 0.33
shader_parameter/uv1_scale = Vector3(5, 0, 0) shader_parameter/uv1_scale = Vector3(5, 0, 0)
shader_parameter/uv1_offset = Vector3(0, 1, 0) shader_parameter/uv1_offset = Vector3(0, 1, 0)
[sub_resource type="PlaneMesh" id="PlaneMesh_cqjgr"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gdgdy"]
albedo_texture = ExtResource("80_0u0mt")
[sub_resource type="SphereMesh" id="SphereMesh_j5lgo"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nt2s5"]
emission_enabled = true
emission = Color(0.680461, 0.84613, 0.59892, 1)
emission_energy_multiplier = 0.49
[sub_resource type="FastNoiseLite" id="FastNoiseLite_d8mjt"]
noise_type = 3
frequency = 0.051
fractal_type = 0
domain_warp_enabled = true
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_lelcw"]
seamless = true
noise = SubResource("FastNoiseLite_d8mjt")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_7im4w"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_u788r"]
noise = SubResource("FastNoiseLite_7im4w")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ou4jy"]
render_priority = 0
shader = ExtResource("17_b53dq")
shader_parameter/wave_1 = Vector4(0.3, 4, 0.2, 0.6)
shader_parameter/wave_2 = Vector4(-0.26, -0.19, 0.01, 0.47)
shader_parameter/wave_3 = Vector4(-7.67, 5.63, 0.1, 0.38)
shader_parameter/wave_4 = Vector4(-0.42, -1.63, 0.1, 0.28)
shader_parameter/wave_5 = Vector4(1.66, 0.07, 0.15, 1.81)
shader_parameter/wave_6 = Vector4(1.2, 1.14, 0.01, 0.33)
shader_parameter/wave_7 = Vector4(-1.6, 7.3, 0.11, 0.73)
shader_parameter/wave_8 = Vector4(-0.42, -1.63, 0.15, 1.52)
shader_parameter/time_factor = 2.5
shader_parameter/noise_zoom = 2.0
shader_parameter/noise_amp = 1.0
shader_parameter/base_water_color = Color(7.03912e-07, 0.256287, 0.114492, 1)
shader_parameter/fresnel_water_color = Color(0.457416, 0.678852, 0.519402, 1)
shader_parameter/deep_water_color = Color(0.732793, 0.968719, 0.655931, 1)
shader_parameter/shallow_water_color = Color(0.406848, 0.699941, 0.470216, 1)
shader_parameter/beers_law = 0.495
shader_parameter/depth_offset = -1.2
shader_parameter/near = 7.0
shader_parameter/far = 10000.0
shader_parameter/edge_texture_scale = 3.5
shader_parameter/edge_texture_offset = 1.0
shader_parameter/edge_texture_speed = 0.1
shader_parameter/edge_foam_intensity = 2.0
shader_parameter/edge_fade_start = -3.0
shader_parameter/edge_fade_end = 6.6
shader_parameter/peak_height_threshold = 1.0
shader_parameter/peak_color = Vector3(1, 1, 1)
shader_parameter/peak_intensity = 1.0
shader_parameter/foam_intensity = 1.0
shader_parameter/foam_scale = 1.0
shader_parameter/metallic = 0.6
shader_parameter/roughness = 0.54
shader_parameter/uv_scale_text_a = 0.1
shader_parameter/uv_speed_text_a = Vector2(1.18, 1.52)
shader_parameter/uv_scale_text_b = 0.6
shader_parameter/uv_speed_text_b = Vector2(0.15, 0.1)
shader_parameter/normal_strength = 1.0
shader_parameter/uv_sampler_scale = 0.3
shader_parameter/blend_factor = 0.03
shader_parameter/perturbation_strength = 1.0
shader_parameter/perturbation_time = 0.3
shader_parameter/normalmap_a = ExtResource("85_0u0mt")
shader_parameter/normalmap_b = SubResource("NoiseTexture2D_lelcw")
shader_parameter/uv_sampler = SubResource("NoiseTexture2D_u788r")
shader_parameter/caustic_sampler = ExtResource("84_r86sn")
shader_parameter/num_caustic_layers = 1.0
shader_parameter/caustic_distortion_strength = 0.001
[sub_resource type="PlaneMesh" id="PlaneMesh_xwneg"]
lightmap_size_hint = Vector2i(1003, 753)
material = SubResource("ShaderMaterial_ou4jy")
uv2_padding = 3.49
size = Vector2(230, 154.675)
subdivide_width = 100
subdivide_depth = 100
[node name="Overworld" type="Node3D"] [node name="Overworld" type="Node3D"]
script = ExtResource("1_5hmt3") script = ExtResource("1_5hmt3")
[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(0.417275, 0, -0.90878, 0, 1, 0, 0.90878, 0, 0.417275, -631.062, 52.795, 31.9554)
light_energy = 0.939
light_indirect_energy = 1.273
light_volumetric_fog_energy = 1.091
light_size = 0.02
shadow_enabled = true
omni_range = 98.182
[node name="TOWER" type="MeshInstance3D" parent="."] [node name="TOWER" type="MeshInstance3D" parent="."]
transform = Transform3D(-57.601, 0, 0, 0, -697.398, 0, 0, 0, -43.378, 391.927, 1716.78, 2845.35) transform = Transform3D(-57.601, 0, 0, 0, -697.398, 0, 0, 0, -43.378, 391.927, 1716.78, 2845.35)
mesh = SubResource("ArrayMesh_ensfr") mesh = SubResource("ArrayMesh_ensfr")
@@ -8126,6 +8276,8 @@ transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 485.326, 0)
[node name="CLOUDS INNER" type="MeshInstance3D" parent="Model/AnimationPlayer/Overworld_CLOUD_RINGS_INNER"] [node name="CLOUDS INNER" type="MeshInstance3D" parent="Model/AnimationPlayer/Overworld_CLOUD_RINGS_INNER"]
transform = Transform3D(0.978971, 0, 0, 0, 0.978971, 0, 0, 0, 0.978971, -289.724, 186.952, -167.344) transform = Transform3D(0.978971, 0, 0, 0, 0.978971, 0, 0, 0, 0.978971, -289.724, 186.952, -167.344)
transparency = 0.47
cast_shadow = 0
mesh = SubResource("ArrayMesh_qdw5b") mesh = SubResource("ArrayMesh_qdw5b")
skeleton = NodePath("") skeleton = NodePath("")
@@ -8134,6 +8286,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 95.6608, 0)
[node name="CLOUDS OUTER" type="MeshInstance3D" parent="Model/Overworld_CLOUD_RINGS_OUTTER"] [node name="CLOUDS OUTER" type="MeshInstance3D" parent="Model/Overworld_CLOUD_RINGS_OUTTER"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -127.561, 190.421, -121.735) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -127.561, 190.421, -121.735)
transparency = 0.5
cast_shadow = 0
mesh = SubResource("ArrayMesh_5chdm") mesh = SubResource("ArrayMesh_5chdm")
skeleton = NodePath("") skeleton = NodePath("")
@@ -8275,7 +8429,7 @@ mesh = SubResource("ArrayMesh_1rbxq")
skeleton = NodePath("") skeleton = NodePath("")
[node name="LOW SECTION J" type="MeshInstance3D" parent="Model/Overworld_optimized_Pass 1"] [node name="LOW SECTION J" type="MeshInstance3D" parent="Model/Overworld_optimized_Pass 1"]
transform = Transform3D(0.978971, 0, 0, 0, 0.978971, 0, 0, 0, 0.978971, -296.101, -27.9834, -55.3445) transform = Transform3D(0.978971, 0, 0, 0, 0.978971, 0, 0, 0, 0.978971, -296.101, -28.209, -55.3445)
mesh = SubResource("ArrayMesh_rwlhw") mesh = SubResource("ArrayMesh_rwlhw")
skeleton = NodePath("") skeleton = NodePath("")
@@ -8456,7 +8610,7 @@ collision_layer = 256
collision_mask = 256 collision_mask = 256
[node name="CollisionShape3D" type="CollisionShape3D" parent="Spawn Points/Exit"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Spawn Points/Exit"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.5815, -2.1779, -2.13338) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.5815, -2.1779, -3.51543)
shape = SubResource("BoxShape3D_b53dq") shape = SubResource("BoxShape3D_b53dq")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."] [node name="WorldEnvironment" type="WorldEnvironment" parent="."]
@@ -8499,6 +8653,7 @@ transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
[node name="WATER PLANE" type="MeshInstance3D" parent="Overworld_top_water"] [node name="WATER PLANE" type="MeshInstance3D" parent="Overworld_top_water"]
transform = Transform3D(-10.3279, -0.0536741, 0.100519, 0.053937, -10.3283, 0.0267699, -0.100378, -0.0272931, -10.328, -268.048, -1.56485, 28.1197) transform = Transform3D(-10.3279, -0.0536741, 0.100519, 0.053937, -10.3283, 0.0267699, -0.100378, -0.0272931, -10.328, -268.048, -1.56485, 28.1197)
visible = false
mesh = SubResource("ArrayMesh_tcsn2") mesh = SubResource("ArrayMesh_tcsn2")
skeleton = NodePath("") skeleton = NodePath("")
@@ -8537,11 +8692,18 @@ transform = Transform3D(17.7515, 0, 21.5243, 0, 27.9, 0, -21.5243, 0, 17.7515, -
mesh = SubResource("PlaneMesh_322om") mesh = SubResource("PlaneMesh_322om")
skeleton = NodePath("../DirectionalLight3D") skeleton = NodePath("../DirectionalLight3D")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -53.1681, 0)
mesh = SubResource("PlaneMesh_4rcfa")
skeleton = NodePath("../Overworld_ocean_plane/OCEAN")
surface_material_override/0 = SubResource("ShaderMaterial_uuhpn")
[node name="Overworld_ocean_plane" type="Node3D" parent="."] [node name="Overworld_ocean_plane" type="Node3D" parent="."]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0) transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
[node name="OCEAN" type="MeshInstance3D" parent="Overworld_ocean_plane"] [node name="OCEAN" type="MeshInstance3D" parent="Overworld_ocean_plane"]
transform = Transform3D(1286.4, 0, 0, 0, 800.72, 0, 0, 0, 1286.4, 26.7474, -37.2743, -591.628) transform = Transform3D(1286.4, 0, 0, 0, 800.72, 0, 0, 0, 1286.4, 26.7474, -37.2743, -591.628)
visible = false
layers = 2 layers = 2
mesh = SubResource("ArrayMesh_w03pw") mesh = SubResource("ArrayMesh_w03pw")
skeleton = NodePath("") skeleton = NodePath("")
@@ -8575,13 +8737,60 @@ cone = true
material = SubResource("ShaderMaterial_l0fgw") material = SubResource("ShaderMaterial_l0fgw")
[node name="NPC" parent="." instance=ExtResource("75_322om")] [node name="NPC" parent="." instance=ExtResource("75_322om")]
transform = Transform3D(-0.405705, 0, 0.533201, 0, 0.67, 0, -0.533201, 0, -0.405705, -450.983, 2.44118, 51.2245) transform = Transform3D(-0.405705, 0, 0.533201, 0, 0.67, 0, -0.533201, 0, -0.405705, -455.469, 5.49128, 51.2245)
[node name="Caretaker of Saints" parent="." instance=ExtResource("80_8isf0")]
transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, -261.985, 5.6968, 68.6049)
[node name="Clalo" parent="." instance=ExtResource("76_nfcfh")] [node name="Clalo" parent="." instance=ExtResource("76_nfcfh")]
transform = Transform3D(2.18, 0, 0, 0, 2.18, 0, 0, 0, 2.18, -332.022, 4.82279, 134.982) transform = Transform3D(1.75, 0, 0, 0, 1.75, 0, 0, 0, 1.75, -332.022, 4.6967, 134.982)
[node name="AnimatedSprite3D" parent="Clalo" index="0"]
transform = Transform3D(1.11, 0, 0, 0, 1.11, 0, 0, 0, 1.11, 0, 0.179583, 0)
frame_progress = 0.120696
[node name="Caretaker of Saints" parent="." instance=ExtResource("80_8isf0")]
transform = Transform3D(2.91246, 0, 0.719413, 0, 3, 0, -0.719413, 0, 2.91246, -251.911, 5.6968, 75.2894)
[node name="AnimatedSprite3D" parent="Caretaker of Saints" index="0"]
texture_filter = 0
frame_progress = 0.585375
[node name="sarapa" type="MeshInstance3D" parent="Caretaker of Saints"]
transform = Transform3D(0.713424, 0, -0.394023, 0, 0.6, 0, 0.621242, 0, 0.452489, -0.238167, -1.33666, 0)
mesh = SubResource("PlaneMesh_cqjgr")
surface_material_override/0 = SubResource("StandardMaterial3D_gdgdy")
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -193.765, 8.24953, 49.6951)
visible = false
light_color = Color(0.587899, 0.866387, 0.510469, 1)
light_indirect_energy = 1.192
shadow_enabled = true
[node name="MeshInstance3D" type="MeshInstance3D" parent="OmniLight3D2"]
transform = Transform3D(1.93, 0, 0, 0, 1.93, 0, 0, 0, 1.93, 0, 0.627194, 0)
mesh = SubResource("SphereMesh_j5lgo")
surface_material_override/0 = SubResource("StandardMaterial3D_nt2s5")
[node name="OmniLight3D3" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -193.765, 8.24953, 64.4293)
visible = false
light_color = Color(0.674854, 0.896728, 0.576016, 1)
light_indirect_energy = 1.192
shadow_enabled = true
[node name="MeshInstance3D2" type="MeshInstance3D" parent="OmniLight3D3"]
transform = Transform3D(1.93, 0, 0, 0, 1.93, 0, 0, 0, 1.93, 0.178116, 0.627194, 0.0180283)
mesh = SubResource("SphereMesh_j5lgo")
skeleton = NodePath("../../OmniLight3D2")
surface_material_override/0 = SubResource("StandardMaterial3D_nt2s5")
[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(0.417275, 0, -0.90878, 0, 1, 0, 0.90878, 0, 0.417275, -631.062, 52.795, 31.9554)
light_energy = 0.939
light_indirect_energy = 1.273
light_volumetric_fog_energy = 1.091
light_size = 0.02
shadow_enabled = true
omni_range = 98.182
[node name="SpotLight3D" type="SpotLight3D" parent="."] [node name="SpotLight3D" type="SpotLight3D" parent="."]
transform = Transform3D(-0.795121, -0.576258, 0.18897, -0.194692, 0.537659, 0.820377, -0.57435, 0.615508, -0.539697, -341.478, 26.3272, 119.649) transform = Transform3D(-0.795121, -0.576258, 0.18897, -0.194692, 0.537659, 0.820377, -0.57435, 0.615508, -0.539697, -341.478, 26.3272, 119.649)
@@ -8609,7 +8818,6 @@ volume_db = 5.275
unit_size = 10.55 unit_size = 10.55
max_db = -3.264 max_db = -3.264
autoplay = true autoplay = true
stream_paused = true
max_distance = 100.0 max_distance = 100.0
bus = &"AMBIENT" bus = &"AMBIENT"
@@ -8662,8 +8870,14 @@ attenuation_filter_db = -34.0
[node name="Waterfall" type="AudioStreamPlayer3D" parent="AudioStreamPlayer/AUDIO"] [node name="Waterfall" type="AudioStreamPlayer3D" parent="AudioStreamPlayer/AUDIO"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -196.16, 0, -39.4298) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -196.16, 0, -39.4298)
stream = ExtResource("3_c2gp5") stream = ExtResource("3_c2gp5")
volume_db = 2.774
autoplay = true autoplay = true
max_distance = 116.36 max_distance = 116.36
bus = &"AMBIENT" bus = &"AMBIENT"
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -329.435, -3.90238, 103.53)
mesh = SubResource("PlaneMesh_xwneg")
[editable path="Clalo"] [editable path="Clalo"]
[editable path="Caretaker of Saints"]

View File

@@ -1,8 +1,39 @@
[gd_scene load_steps=7 format=3 uid="uid://cjj6wabswtkk1"] [gd_scene load_steps=13 format=3 uid="uid://cjj6wabswtkk1"]
[ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_3at8w"] [ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_3at8w"]
[ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_egfgt"] [ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_egfgt"]
[ext_resource type="Texture2D" uid="uid://ce6a08oyeym31" path="res://src/npc/Caretaker/caretaker.png" id="3_85c36"] [ext_resource type="Texture2D" uid="uid://clxfk0epnsc43" path="res://src/npc/Caretaker/Frames -Caretaker/Layer 1.png" id="3_0ls57"]
[ext_resource type="Texture2D" uid="uid://cbytxo7bj4ntr" path="res://src/npc/Caretaker/Frames -Caretaker/Layer 2.png" id="4_wfx33"]
[ext_resource type="Texture2D" uid="uid://du14u20mbycya" path="res://src/npc/Caretaker/Frames -Caretaker/Layer 3.png" id="5_lsu6x"]
[ext_resource type="Texture2D" uid="uid://b34agdm8berta" path="res://src/npc/Caretaker/Frames -Caretaker/Layer 4.png" id="6_glo3k"]
[ext_resource type="Texture2D" uid="uid://bdwnutjo5eefi" path="res://src/npc/Caretaker/Frames -Caretaker/Layer 5.png" id="7_apjk7"]
[ext_resource type="Texture2D" uid="uid://ctma51sw1td0l" path="res://src/npc/Caretaker/Frames -Caretaker/Layer 6.png" id="8_d5b5i"]
[sub_resource type="SpriteFrames" id="SpriteFrames_d3ca4"]
animations = [{
"frames": [{
"duration": 1.4,
"texture": ExtResource("3_0ls57")
}, {
"duration": 1.7,
"texture": ExtResource("4_wfx33")
}, {
"duration": 1.7,
"texture": ExtResource("5_lsu6x")
}, {
"duration": 1.7,
"texture": ExtResource("6_glo3k")
}, {
"duration": 1.7,
"texture": ExtResource("7_apjk7")
}, {
"duration": 1.4,
"texture": ExtResource("8_d5b5i")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_wfhgc"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_wfhgc"]
radius = 3.0 radius = 3.0
@@ -19,14 +50,14 @@ radius = 1.941
script = ExtResource("1_3at8w") script = ExtResource("1_3at8w")
Dialogue = ExtResource("2_egfgt") Dialogue = ExtResource("2_egfgt")
[node name="Sprite" type="Sprite3D" parent="."] [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
gi_mode = 0
billboard = 2 billboard = 2
shaded = true shaded = true
texture_filter = 0 texture_filter = 1
texture = ExtResource("3_85c36") sprite_frames = SubResource("SpriteFrames_d3ca4")
autoplay = "default"
frame_progress = 0.0515292
[node name="DialogueZone" type="Area3D" parent="."] [node name="DialogueZone" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true

View File

@@ -1,30 +1,26 @@
[gd_scene load_steps=12 format=3 uid="uid://ccwn5dfst7o4d"] [gd_scene load_steps=11 format=3 uid="uid://ccwn5dfst7o4d"]
[ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_38loe"] [ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_38loe"]
[ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_x0dcb"] [ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_x0dcb"]
[ext_resource type="Texture2D" uid="uid://bxsfdfmxl50j3" path="res://src/npc/Clalo/Frames - Clalo/Layer 1.png" id="3_lsxy3"] [ext_resource type="Texture2D" uid="uid://bnlkkohfpl0sg" path="res://src/npc/Clalo/Frames - Clalo/CLALO.png" id="3_jlve4"]
[ext_resource type="Texture2D" uid="uid://btv5qexxh42pn" path="res://src/npc/Clalo/Frames - Clalo/Layer 2.png" id="4_mui6r"] [ext_resource type="Texture2D" uid="uid://dfgjbfhe1gd0c" path="res://src/npc/Clalo/Frames - Clalo/CLALO2.png" id="4_lsxy3"]
[ext_resource type="Texture2D" uid="uid://dnw24fugfsoai" path="res://src/npc/Clalo/Frames - Clalo/Layer 3.png" id="5_m5mvh"] [ext_resource type="Texture2D" uid="uid://beqct82gjncjx" path="res://src/npc/Clalo/Frames - Clalo/CLALO3.png" id="5_mui6r"]
[ext_resource type="Texture2D" uid="uid://bmxw5wii4bol8" path="res://src/npc/Clalo/Frames - Clalo/Layer 4.png" id="6_4no7j"] [ext_resource type="Texture2D" uid="uid://bhn155yfrmyeu" path="res://src/npc/Clalo/Frames - Clalo/CLALO4.png" id="6_m5mvh"]
[ext_resource type="Texture2D" uid="uid://u47jxc8127cq" path="res://src/npc/Clalo/Frames - Clalo/Layer 5.png" id="7_kk3oj"]
[sub_resource type="SpriteFrames" id="SpriteFrames_2xsnq"] [sub_resource type="SpriteFrames" id="SpriteFrames_2xsnq"]
animations = [{ animations = [{
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("3_lsxy3") "texture": ExtResource("3_jlve4")
}, {
"duration": 1.9,
"texture": ExtResource("4_lsxy3")
}, {
"duration": 2.0,
"texture": ExtResource("5_mui6r")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("4_mui6r") "texture": ExtResource("6_m5mvh")
}, {
"duration": 1.0,
"texture": ExtResource("5_m5mvh")
}, {
"duration": 1.0,
"texture": ExtResource("6_4no7j")
}, {
"duration": 1.0,
"texture": ExtResource("7_kk3oj")
}], }],
"loop": true, "loop": true,
"name": &"default", "name": &"default",
@@ -47,13 +43,15 @@ script = ExtResource("1_38loe")
Dialogue = ExtResource("2_x0dcb") Dialogue = ExtResource("2_x0dcb")
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."] [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
billboard = 2 billboard = 2
shaded = true shaded = true
alpha_antialiasing_mode = 1 alpha_antialiasing_mode = 1
alpha_antialiasing_edge = 1.0 alpha_antialiasing_edge = 1.0
texture_filter = 1
sprite_frames = SubResource("SpriteFrames_2xsnq") sprite_frames = SubResource("SpriteFrames_2xsnq")
autoplay = "default" autoplay = "default"
frame_progress = 0.430368 frame_progress = 0.274888
[node name="DialogueZone" type="Area3D" parent="."] [node name="DialogueZone" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://x2d7hgs3xf0f" uid="uid://bnlkkohfpl0sg"
path="res://.godot/imported/Layer 9.png-9ac03182161b3d471d3662796e7a0b61.ctex" path="res://.godot/imported/CLALO.png-aebb2a6c11fec17074030c394d49e42d.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Puer/Frames - Puer/Layer 9.png" source_file="res://src/npc/Clalo/Frames - Clalo/CLALO.png"
dest_files=["res://.godot/imported/Layer 9.png-9ac03182161b3d471d3662796e7a0b61.ctex"] dest_files=["res://.godot/imported/CLALO.png-aebb2a6c11fec17074030c394d49e42d.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://i1ep0f0m0ec7" uid="uid://dfgjbfhe1gd0c"
path="res://.godot/imported/Layer 2.png-65be9b121ee94642aefa4861de7beec1.ctex" path="res://.godot/imported/CLALO2.png-01cebd5dddbc9c3744379e59abbccd31.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Puer/Frames - Puer/Layer 2.png" source_file="res://src/npc/Clalo/Frames - Clalo/CLALO2.png"
dest_files=["res://.godot/imported/Layer 2.png-65be9b121ee94642aefa4861de7beec1.ctex"] dest_files=["res://.godot/imported/CLALO2.png-01cebd5dddbc9c3744379e59abbccd31.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bnp13hsqq0wwu" uid="uid://beqct82gjncjx"
path="res://.godot/imported/Layer 1.png-5795c396deb2fd7d1ed1f8a019075511.ctex" path="res://.godot/imported/CLALO3.png-0286821c0395b09d55352a51b4ccc404.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Puer/Frames - Puer/Layer 1.png" source_file="res://src/npc/Clalo/Frames - Clalo/CLALO3.png"
dest_files=["res://.godot/imported/Layer 1.png-5795c396deb2fd7d1ed1f8a019075511.ctex"] dest_files=["res://.godot/imported/CLALO3.png-0286821c0395b09d55352a51b4ccc404.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bhn155yfrmyeu"
path="res://.godot/imported/CLALO4.png-9d9acadf63339abe073647cdb08c7fdd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Clalo/Frames - Clalo/CLALO4.png"
dest_files=["res://.godot/imported/CLALO4.png-9d9acadf63339abe073647cdb08c7fdd.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b8stk44d8tq8"
path="res://.godot/imported/CLALO5.png-0dde43b0605c588631c73edf9b739ffe.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Clalo/Frames - Clalo/CLALO5.png"
dest_files=["res://.godot/imported/CLALO5.png-0dde43b0605c588631c73edf9b739ffe.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://btv5qexxh42pn"
path="res://.godot/imported/Layer 2.png-7cf4d20d55368c090d7e6a38cc1ae6e5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Clalo/Frames - Clalo/Layer 2.png"
dest_files=["res://.godot/imported/Layer 2.png-7cf4d20d55368c090d7e6a38cc1ae6e5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://u47jxc8127cq"
path="res://.godot/imported/Layer 5.png-2e96d932b13d2528f2197ee578ad2a1e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Clalo/Frames - Clalo/Layer 5.png"
dest_files=["res://.godot/imported/Layer 5.png-2e96d932b13d2528f2197ee578ad2a1e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bcrph5ui64ova"
path="res://.godot/imported/Layer 5.png-62e1925892b357f7fc68969f98c83790.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth1/Layer 5.png"
dest_files=["res://.godot/imported/Layer 5.png-62e1925892b357f7fc68969f98c83790.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dx7h3wjx0l1he"
path="res://.godot/imported/Layer 7.png-bbaed603e1806911272e7d0b7ef805bf.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth1/Layer 7.png"
dest_files=["res://.godot/imported/Layer 7.png-bbaed603e1806911272e7d0b7ef805bf.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c66gw1fpsfj31"
path="res://.godot/imported/Layer 8.png-98e0bbc00799c28cd07556bf5bfa6ec4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth1/Layer 8.png"
dest_files=["res://.godot/imported/Layer 8.png-98e0bbc00799c28cd07556bf5bfa6ec4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://b1yvuhq04qjrw" uid="uid://b2oi3m1eh0hyn"
path="res://.godot/imported/Layer 2.png-8a3131a52b8e47c3f1d93c4f6bd2dad3.ctex" path="res://.godot/imported/gesth11.png-a7f367e0250519b9956f0e9b2bacee00.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth1/Layer 2.png" source_file="res://src/npc/Gesthesemii/Frames - Gesth1/gesth11.png"
dest_files=["res://.godot/imported/Layer 2.png-8a3131a52b8e47c3f1d93c4f6bd2dad3.ctex"] dest_files=["res://.godot/imported/gesth11.png-a7f367e0250519b9956f0e9b2bacee00.ctex"]
[params] [params]

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dh34vwb2a3jbw" uid="uid://dimcevxeo0kop"
path="res://.godot/imported/Layer 3.png-9d5f968e03bac5ddff3593fab83e2c06.ctex" path="res://.godot/imported/gesth12.png-aba826db0b40e29ee59b10055ea6a7b5.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth1/Layer 3.png" source_file="res://src/npc/Gesthesemii/Frames - Gesth1/gesth12.png"
dest_files=["res://.godot/imported/Layer 3.png-9d5f968e03bac5ddff3593fab83e2c06.ctex"] dest_files=["res://.godot/imported/gesth12.png-aba826db0b40e29ee59b10055ea6a7b5.ctex"]
[params] [params]

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://vjthy608wg7m" uid="uid://y36poq5qyhyp"
path="res://.godot/imported/Layer 1.png-b5f6db7766c4b2e0dd27c2aa829c3e46.ctex" path="res://.godot/imported/gesth13.png-7e244a64ee3f8836e38b148baa21b625.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth1/Layer 1.png" source_file="res://src/npc/Gesthesemii/Frames - Gesth1/gesth13.png"
dest_files=["res://.godot/imported/Layer 1.png-b5f6db7766c4b2e0dd27c2aa829c3e46.ctex"] dest_files=["res://.godot/imported/gesth13.png-7e244a64ee3f8836e38b148baa21b625.ctex"]
[params] [params]

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://b7pxwkr0m7jgx" uid="uid://cnsynvu0bbjj8"
path="res://.godot/imported/Layer 4.png-6550c09b18a1612d47c953a7b03fa98f.ctex" path="res://.godot/imported/gesth14.png-7901f553edfe0040b768bc01b482c7ff.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth1/Layer 4.png" source_file="res://src/npc/Gesthesemii/Frames - Gesth1/gesth14.png"
dest_files=["res://.godot/imported/Layer 4.png-6550c09b18a1612d47c953a7b03fa98f.ctex"] dest_files=["res://.godot/imported/gesth14.png-7901f553edfe0040b768bc01b482c7ff.ctex"]
[params] [params]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ddecktp73bk5j"
path="res://.godot/imported/Layer 1.png-8f05974c1f6cee2e64f90c4ed01c1328.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/Layer 1.png"
dest_files=["res://.godot/imported/Layer 1.png-8f05974c1f6cee2e64f90c4ed01c1328.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c3rqx4urrkexs"
path="res://.godot/imported/Layer 2.png-e5f5ee7451f07c376af0b780bdb3411f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/Layer 2.png"
dest_files=["res://.godot/imported/Layer 2.png-e5f5ee7451f07c376af0b780bdb3411f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ci3v6ayqxiqq4"
path="res://.godot/imported/Layer 3.png-c73f632b281ef1bf710fb9948d779f7a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/Layer 3.png"
dest_files=["res://.godot/imported/Layer 3.png-c73f632b281ef1bf710fb9948d779f7a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://vvkwf0okwowv"
path="res://.godot/imported/Layer 4.png-604c9e1aaa5216faa0638ba62ffe45ed.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/Layer 4.png"
dest_files=["res://.godot/imported/Layer 4.png-604c9e1aaa5216faa0638ba62ffe45ed.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bepv0a1avfyvy"
path="res://.godot/imported/Layer 5.png-d51f3d9bde083491635e956af573bd97.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/Layer 5.png"
dest_files=["res://.godot/imported/Layer 5.png-d51f3d9bde083491635e956af573bd97.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://1redylhfnw0e"
path="res://.godot/imported/Layer 6.png-c3ec1e4f9a3aac001017dc62923fc1b8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/Layer 6.png"
dest_files=["res://.godot/imported/Layer 6.png-c3ec1e4f9a3aac001017dc62923fc1b8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dbp3aou2bvv6y"
path="res://.godot/imported/Layer 7.png-16833289032627d7741da9fc9cbd3e89.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/Layer 7.png"
dest_files=["res://.godot/imported/Layer 7.png-16833289032627d7741da9fc9cbd3e89.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cevnm8n0sow25"
path="res://.godot/imported/Layer 8.png-f208906756899444b0be6f536d1c3d3a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/Layer 8.png"
dest_files=["res://.godot/imported/Layer 8.png-f208906756899444b0be6f536d1c3d3a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bdhpfdrhhxswq"
path="res://.godot/imported/gesth21.png-f075a15ddbf7fef9ea987cd2c3981099.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/gesth21.png"
dest_files=["res://.godot/imported/gesth21.png-f075a15ddbf7fef9ea987cd2c3981099.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d4g1v6fqtvscv"
path="res://.godot/imported/gesth22.png-be449bcd08c31403332aeb26c6bbad76.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/gesth22.png"
dest_files=["res://.godot/imported/gesth22.png-be449bcd08c31403332aeb26c6bbad76.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c44qtdgv0wcwo"
path="res://.godot/imported/gesth23.png-31f73360a2c770c097c957e4a7e95471.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth2/gesth23.png"
dest_files=["res://.godot/imported/gesth23.png-31f73360a2c770c097c957e4a7e95471.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://3j6aggtl0luv" uid="uid://wmfeujrpqt78"
path="res://.godot/imported/Layer 6.png-d393626538c98a0ad5bb90808d816f23.ctex" path="res://.godot/imported/gesth24.png-43015fd8591ef4d0bf23fd8d5858c91a.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Gesthesemii/Frames - Gesth1/Layer 6.png" source_file="res://src/npc/Gesthesemii/Frames - Gesth2/gesth24.png"
dest_files=["res://.godot/imported/Layer 6.png-d393626538c98a0ad5bb90808d816f23.ctex"] dest_files=["res://.godot/imported/gesth24.png-43015fd8591ef4d0bf23fd8d5858c91a.ctex"]
[params] [params]

View File

@@ -1,8 +1,37 @@
[gd_scene load_steps=7 format=3 uid="uid://b5tl2jawmvwtd"] [gd_scene load_steps=11 format=3 uid="uid://b5tl2jawmvwtd"]
[ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_d5tpe"] [ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_d5tpe"]
[ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_xassj"] [ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_xassj"]
[ext_resource type="Texture2D" uid="uid://gtylrk5yxgnp" path="res://src/npc/Gesthesemii/gesthesemii2.png" id="3_xassj"] [ext_resource type="Texture2D" uid="uid://b2oi3m1eh0hyn" path="res://src/npc/Gesthesemii/Frames - Gesth1/gesth11.png" id="3_m5jqa"]
[ext_resource type="Texture2D" uid="uid://dimcevxeo0kop" path="res://src/npc/Gesthesemii/Frames - Gesth1/gesth12.png" id="4_xlatl"]
[ext_resource type="Texture2D" uid="uid://y36poq5qyhyp" path="res://src/npc/Gesthesemii/Frames - Gesth1/gesth13.png" id="5_m57jb"]
[ext_resource type="Texture2D" uid="uid://cnsynvu0bbjj8" path="res://src/npc/Gesthesemii/Frames - Gesth1/gesth14.png" id="6_aefdm"]
[sub_resource type="SpriteFrames" id="SpriteFrames_yguia"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_m5jqa")
}, {
"duration": 1.0,
"texture": ExtResource("4_xlatl")
}, {
"duration": 1.0,
"texture": ExtResource("5_m57jb")
}, {
"duration": 1.0,
"texture": ExtResource("6_aefdm")
}, {
"duration": 1.0,
"texture": ExtResource("5_m57jb")
}, {
"duration": 1.0,
"texture": ExtResource("4_xlatl")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_wfhgc"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_wfhgc"]
radius = 3.0 radius = 3.0
@@ -19,16 +48,13 @@ radius = 1.941
script = ExtResource("1_d5tpe") script = ExtResource("1_d5tpe")
Dialogue = ExtResource("2_xassj") Dialogue = ExtResource("2_xassj")
[node name="Sprite" type="Sprite3D" parent="."] [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
unique_name_in_owner = true
gi_mode = 0
pixel_size = 0.008
billboard = 2 billboard = 2
shaded = true shaded = true
double_sided = false texture_filter = 1
alpha_cut = 2 sprite_frames = SubResource("SpriteFrames_yguia")
texture_filter = 0 autoplay = "default"
texture = ExtResource("3_xassj") frame_progress = 0.498051
[node name="DialogueZone" type="Area3D" parent="."] [node name="DialogueZone" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true

View File

@@ -1,8 +1,37 @@
[gd_scene load_steps=7 format=3 uid="uid://bxybc56hq0566"] [gd_scene load_steps=11 format=3 uid="uid://bxybc56hq0566"]
[ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_6dvbs"] [ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_6dvbs"]
[ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_v6uui"] [ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_v6uui"]
[ext_resource type="Texture2D" uid="uid://b1mj13j2peypc" path="res://src/npc/Gesthesemii/gethesemii.png" id="3_6dvbs"] [ext_resource type="Texture2D" uid="uid://bdhpfdrhhxswq" path="res://src/npc/Gesthesemii/Frames - Gesth2/gesth21.png" id="3_pytuc"]
[ext_resource type="Texture2D" uid="uid://d4g1v6fqtvscv" path="res://src/npc/Gesthesemii/Frames - Gesth2/gesth22.png" id="4_fytn6"]
[ext_resource type="Texture2D" uid="uid://c44qtdgv0wcwo" path="res://src/npc/Gesthesemii/Frames - Gesth2/gesth23.png" id="5_oy1li"]
[ext_resource type="Texture2D" uid="uid://wmfeujrpqt78" path="res://src/npc/Gesthesemii/Frames - Gesth2/gesth24.png" id="6_at2mo"]
[sub_resource type="SpriteFrames" id="SpriteFrames_21rbj"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_pytuc")
}, {
"duration": 1.5,
"texture": ExtResource("4_fytn6")
}, {
"duration": 1.5,
"texture": ExtResource("5_oy1li")
}, {
"duration": 2.0,
"texture": ExtResource("6_at2mo")
}, {
"duration": 1.0,
"texture": ExtResource("5_oy1li")
}, {
"duration": 1.0,
"texture": ExtResource("4_fytn6")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_wfhgc"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_wfhgc"]
radius = 3.0 radius = 3.0
@@ -19,17 +48,12 @@ radius = 1.941
script = ExtResource("1_6dvbs") script = ExtResource("1_6dvbs")
Dialogue = ExtResource("2_v6uui") Dialogue = ExtResource("2_v6uui")
[node name="Sprite" type="Sprite3D" parent="."] [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
unique_name_in_owner = true
gi_mode = 0
offset = Vector2(-100, 0)
pixel_size = 0.008
billboard = 2 billboard = 2
shaded = true shaded = true
double_sided = false sprite_frames = SubResource("SpriteFrames_21rbj")
alpha_cut = 2 autoplay = "default"
texture_filter = 0 frame_progress = 0.103734
texture = ExtResource("3_6dvbs")
[node name="DialogueZone" type="Area3D" parent="."] [node name="DialogueZone" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://coxqqubpf7rl5"
path="res://.godot/imported/Layer 1.png-492226d17c9a4498b64e0c1b59b12d11.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/Layer 1.png"
dest_files=["res://.godot/imported/Layer 1.png-492226d17c9a4498b64e0c1b59b12d11.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://crtqvrd5vr2va"
path="res://.godot/imported/Layer 6.png-f9cf31f9e087a4d8124127f0b47dcb53.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/Layer 6.png"
dest_files=["res://.godot/imported/Layer 6.png-f9cf31f9e087a4d8124127f0b47dcb53.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bvkf44xc1pcjc"
path="res://.godot/imported/Layer 7.png-ede777398da38900d2ad78cc216c7456.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/Layer 7.png"
dest_files=["res://.godot/imported/Layer 7.png-ede777398da38900d2ad78cc216c7456.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dhifahf1f2i1g"
path="res://.godot/imported/Layer 8.png-b350d4ab22680123d579d5db2058c177.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/Layer 8.png"
dest_files=["res://.godot/imported/Layer 8.png-b350d4ab22680123d579d5db2058c177.ctex"]
[params]
compress/mode=0
compress/high_quality=false
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://crjb2uh8wogw" uid="uid://c586lhgcr8l5t"
path="res://.godot/imported/Layer 5.png-0a0924e33bc75e1f66048d0e2134ead3.ctex" path="res://.godot/imported/gog1.png-c5c7d7011554bc580765c679b2862f4b.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/Layer 5.png" source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/gog1.png"
dest_files=["res://.godot/imported/Layer 5.png-0a0924e33bc75e1f66048d0e2134ead3.ctex"] dest_files=["res://.godot/imported/gog1.png-c5c7d7011554bc580765c679b2862f4b.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dc1tghlpx2i7t" uid="uid://cggg63r00s0gq"
path="res://.godot/imported/Layer 2.png-c71e819841041ff209b8e51e2ca1e026.ctex" path="res://.godot/imported/gog2.png-a8d4b4089b99a85be0cafefd5aaedce2.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/Layer 2.png" source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/gog2.png"
dest_files=["res://.godot/imported/Layer 2.png-c71e819841041ff209b8e51e2ca1e026.ctex"] dest_files=["res://.godot/imported/gog2.png-a8d4b4089b99a85be0cafefd5aaedce2.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://cvml6w0cd5wd2" uid="uid://cawmwhv5rypdw"
path="res://.godot/imported/Layer 3.png-a00e9cf9b5be5e355ac22de3c5f262fd.ctex" path="res://.godot/imported/gog3.png-08b4622d20df69ab58de897d14ca3e86.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/Layer 3.png" source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/gog3.png"
dest_files=["res://.godot/imported/Layer 3.png-a00e9cf9b5be5e355ac22de3c5f262fd.ctex"] dest_files=["res://.godot/imported/gog3.png-08b4622d20df69ab58de897d14ca3e86.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dkhdt3gu4ytaa" uid="uid://dr68tkqt7x558"
path="res://.godot/imported/Layer 4.png-6e1bead94c91dae9a4e4b66f09c3dc9f.ctex" path="res://.godot/imported/gog4.png-57bed30882c8c5a18c46bb3c50343332.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/Layer 4.png" source_file="res://src/npc/Goddess of Guidance/Frames - Guidance/gog4.png"
dest_files=["res://.godot/imported/Layer 4.png-6e1bead94c91dae9a4e4b66f09c3dc9f.ctex"] dest_files=["res://.godot/imported/gog4.png-57bed30882c8c5a18c46bb3c50343332.ctex"]
[params] [params]

Some files were not shown because too many files have changed in this diff Show More