Added all NPC Idle animations, Overworld water changes,
@@ -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
|
||||||
|
After Width: | Height: | Size: 131 KiB |
@@ -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=""
|
||||||
BIN
Zennysoft.Game.Ma/src/map/assetts/caustics.png
Normal file
|
After Width: | Height: | Size: 520 KiB |
26
Zennysoft.Game.Ma/src/map/assetts/caustics.png.import
Normal 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
|
||||||
BIN
Zennysoft.Game.Ma/src/map/assetts/sarapa2.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
@@ -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]
|
||||||
|
|
||||||
BIN
Zennysoft.Game.Ma/src/map/assetts/waternormal.jpeg
Normal file
|
After Width: | Height: | Size: 327 KiB |
@@ -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]
|
||||||
|
|
||||||
BIN
Zennysoft.Game.Ma/src/map/assetts/waternormal2.jpg
Normal file
|
After Width: | Height: | Size: 52 KiB |
@@ -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]
|
||||||
|
|
||||||
@@ -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="."]
|
||||||
|
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
25
Zennysoft.Game.Ma/src/map/map shaders/Ocean.gdshader
Normal 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);
|
||||||
|
}
|
||||||
1
Zennysoft.Game.Ma/src/map/map shaders/Ocean.gdshader.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://b7t52o30btgnn
|
||||||
385
Zennysoft.Game.Ma/src/map/map shaders/Water3.gdshader
Normal 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;
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://dluqraq5bnmb3
|
||||||
@@ -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);
|
||||||
// REFRACTION
|
vec3 combined_normal = normalize(mix(normal_sample_a, normal_sample_b, blend_factor));
|
||||||
|
|
||||||
float lineardepth = linear_depth(texture(DEPTH_TEXTURE, SCREEN_UV).r, INV_PROJECTION_MATRIX);
|
|
||||||
float selfdepth = -VERTEX.z;
|
|
||||||
float depth_diff = lineardepth - selfdepth;
|
|
||||||
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) {
|
// Perturb the normal using the TBN matrix
|
||||||
EMISSION = newvolcolour * texture(screen, SCREEN_UV).rgb;
|
vec3 perturbed_normal = normalize(tbn_matrix * (combined_normal * normal_strength));
|
||||||
}
|
|
||||||
|
|
||||||
// SSR
|
|
||||||
|
|
||||||
vec3 reflected = -reflect(VIEW, NORMAL);
|
|
||||||
vec3 pos = VERTEX;
|
|
||||||
int curstep = 0;
|
|
||||||
bool finished = false;
|
|
||||||
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
|
|
||||||
|
|
||||||
float distfromedge = depth_diff * dot(normalize(NORMAL), normalize(-VERTEX)) / VIEW.z;
|
|
||||||
if (distfromedge < edge_size) {
|
|
||||||
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 {
|
// Sample depth texture
|
||||||
|
float depth_raw = texture(DEPTH_TEXTURE, SCREEN_UV).r;
|
||||||
// SNELLS WINDOW
|
float depth = PROJECTION_MATRIX[3][2] / (depth_raw + PROJECTION_MATRIX[2][2]);
|
||||||
float window = snells_window(wnorm, wview, IOR);
|
|
||||||
|
// 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;
|
||||||
|
|
||||||
if (window > 0.5) {
|
float caustic_layer_index = floor(mod(TIME * 26.0, num_caustic_layers)); // Use floor for integer index
|
||||||
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
|
|
||||||
|
|
||||||
vec3 reflected = -reflect(VIEW, NORMAL);
|
|
||||||
vec3 pos = VERTEX;
|
|
||||||
int curstep = 0;
|
|
||||||
bool finished = false;
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
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;
|
||||||
|
}
|
||||||
|
|||||||
@@ -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"]
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
BIN
Zennysoft.Game.Ma/src/npc/Clalo/Frames - Clalo/CLALO.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
@@ -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]
|
||||||
|
|
||||||
BIN
Zennysoft.Game.Ma/src/npc/Clalo/Frames - Clalo/CLALO2.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
@@ -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]
|
||||||
|
|
||||||
BIN
Zennysoft.Game.Ma/src/npc/Clalo/Frames - Clalo/CLALO3.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
@@ -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]
|
||||||
|
|
||||||
BIN
Zennysoft.Game.Ma/src/npc/Clalo/Frames - Clalo/CLALO4.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
@@ -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
|
||||||
BIN
Zennysoft.Game.Ma/src/npc/Clalo/Frames - Clalo/CLALO5.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
@@ -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
|
||||||
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 41 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 41 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 37 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 37 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 37 KiB |
@@ -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
|
|
||||||
@@ -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]
|
||||||
|
|
||||||
@@ -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]
|
||||||
|
|
||||||
@@ -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]
|
||||||
|
|
||||||
@@ -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]
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 32 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 32 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 32 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 32 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 32 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 32 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 32 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 31 KiB |
@@ -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
|
|
||||||
|
After Width: | Height: | Size: 29 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 34 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 33 KiB |
@@ -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
|
||||||
|
After Width: | Height: | Size: 33 KiB |
@@ -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]
|
||||||
|
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 25 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 44 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 39 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 24 KiB |
@@ -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
|
|
||||||
|
After Width: | Height: | Size: 22 KiB |
@@ -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]
|
||||||
|
|
||||||
|
After Width: | Height: | Size: 22 KiB |
@@ -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]
|
||||||
|
|
||||||
|
After Width: | Height: | Size: 22 KiB |
@@ -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]
|
||||||
|
|
||||||
|
After Width: | Height: | Size: 22 KiB |
@@ -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]
|
||||||
|
|
||||||