textures
This commit is contained in:
File diff suppressed because one or more lines are too long
33
assets/materials/walls/roof.tres
Normal file
33
assets/materials/walls/roof.tres
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://crmfn3ffj8oi4"]
|
||||||
|
|
||||||
|
[ext_resource type="Shader" uid="uid://clgsf8uqgmqa6" path="res://assets/materials/walls/walls.gdshader" id="1_0e3id"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b7bj41iep7068" path="res://assets/materials/walls/textures/clay_roof_tiles_02_disp_4k.png" id="2_0e3id"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://djj0wp5xhwp7e" path="res://assets/materials/walls/textures/clay_roof_tiles_02_nor_gl_4k.png" id="3_f1b6h"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b76lrrh6vyg4m" path="res://assets/materials/walls/textures/clay_roof_tiles_02_rough_4k.png" id="4_rir86"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dickf0midb32u" path="res://assets/materials/walls/textures/clay_roof_tiles_02_diff_4k.jpg" id="5_7jlns"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("1_0e3id")
|
||||||
|
shader_parameter/blendSharpness = 0.0
|
||||||
|
shader_parameter/specular = 0.08
|
||||||
|
shader_parameter/albedoTint = Color(0.9542733, 0.7775326, 0.7131461, 1)
|
||||||
|
shader_parameter/roughnessMultiplier = 1.0
|
||||||
|
shader_parameter/floorAlbedoTint = Color(0.94823223, 0.7557853, 0.6872866, 1)
|
||||||
|
shader_parameter/floorRoughnessMultiplier = 1.0
|
||||||
|
shader_parameter/textureMap = ExtResource("5_7jlns")
|
||||||
|
shader_parameter/roughnessMap = ExtResource("4_rir86")
|
||||||
|
shader_parameter/normalMap = ExtResource("3_f1b6h")
|
||||||
|
shader_parameter/heightMap = ExtResource("2_0e3id")
|
||||||
|
shader_parameter/normalMapStrength = 1.0
|
||||||
|
shader_parameter/uvScale = 0.2
|
||||||
|
shader_parameter/enableFloor = true
|
||||||
|
shader_parameter/floorTextureMap = ExtResource("5_7jlns")
|
||||||
|
shader_parameter/floorRoughnessMap = ExtResource("4_rir86")
|
||||||
|
shader_parameter/floorNormalMap = ExtResource("3_f1b6h")
|
||||||
|
shader_parameter/floorHeightMap = ExtResource("2_0e3id")
|
||||||
|
shader_parameter/floorUvScale = 0.5
|
||||||
|
shader_parameter/enablePom = true
|
||||||
|
shader_parameter/heightMinLayers = 8
|
||||||
|
shader_parameter/heightMaxLayers = 64
|
||||||
|
shader_parameter/heightScale = 0.08
|
||||||
BIN
assets/materials/walls/textures/clay_roof_tiles_02_diff_4k.jpg
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/clay_roof_tiles_02_diff_4k.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dickf0midb32u"
|
||||||
|
path.s3tc="res://.godot/imported/clay_roof_tiles_02_diff_4k.jpg-5823ff540d82d50496805d95ee6e788b.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/clay_roof_tiles_02_diff_4k.jpg-5823ff540d82d50496805d95ee6e788b.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/clay_roof_tiles_02_diff_4k.jpg"
|
||||||
|
dest_files=["res://.godot/imported/clay_roof_tiles_02_diff_4k.jpg-5823ff540d82d50496805d95ee6e788b.s3tc.ctex", "res://.godot/imported/clay_roof_tiles_02_diff_4k.jpg-5823ff540d82d50496805d95ee6e788b.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/clay_roof_tiles_02_disp_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/clay_roof_tiles_02_disp_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b7bj41iep7068"
|
||||||
|
path.s3tc="res://.godot/imported/clay_roof_tiles_02_disp_4k.png-623bc22b41a0fdec3dfe6f2c8672c482.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/clay_roof_tiles_02_disp_4k.png-623bc22b41a0fdec3dfe6f2c8672c482.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/clay_roof_tiles_02_disp_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/clay_roof_tiles_02_disp_4k.png-623bc22b41a0fdec3dfe6f2c8672c482.s3tc.ctex", "res://.godot/imported/clay_roof_tiles_02_disp_4k.png-623bc22b41a0fdec3dfe6f2c8672c482.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/clay_roof_tiles_02_nor_gl_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/clay_roof_tiles_02_nor_gl_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://djj0wp5xhwp7e"
|
||||||
|
path.s3tc="res://.godot/imported/clay_roof_tiles_02_nor_gl_4k.png-071f5ce21d7d297bca4c1992cdceffb9.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/clay_roof_tiles_02_nor_gl_4k.png-071f5ce21d7d297bca4c1992cdceffb9.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/clay_roof_tiles_02_nor_gl_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/clay_roof_tiles_02_nor_gl_4k.png-071f5ce21d7d297bca4c1992cdceffb9.s3tc.ctex", "res://.godot/imported/clay_roof_tiles_02_nor_gl_4k.png-071f5ce21d7d297bca4c1992cdceffb9.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=1
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/clay_roof_tiles_02_rough_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/clay_roof_tiles_02_rough_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b76lrrh6vyg4m"
|
||||||
|
path.s3tc="res://.godot/imported/clay_roof_tiles_02_rough_4k.png-e6cb436c6ff4afdea2a51fc78cdc6859.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/clay_roof_tiles_02_rough_4k.png-e6cb436c6ff4afdea2a51fc78cdc6859.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/clay_roof_tiles_02_rough_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/clay_roof_tiles_02_rough_4k.png-e6cb436c6ff4afdea2a51fc78cdc6859.s3tc.ctex", "res://.godot/imported/clay_roof_tiles_02_rough_4k.png-e6cb436c6ff4afdea2a51fc78cdc6859.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/patterned_paving_02_diff_4k.jpg
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/patterned_paving_02_diff_4k.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://q8t2qoldgk82"
|
||||||
|
path.s3tc="res://.godot/imported/patterned_paving_02_diff_4k.jpg-c6ee059f93e958798864fe8d9db3e0ef.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/patterned_paving_02_diff_4k.jpg-c6ee059f93e958798864fe8d9db3e0ef.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/patterned_paving_02_diff_4k.jpg"
|
||||||
|
dest_files=["res://.godot/imported/patterned_paving_02_diff_4k.jpg-c6ee059f93e958798864fe8d9db3e0ef.s3tc.ctex", "res://.godot/imported/patterned_paving_02_diff_4k.jpg-c6ee059f93e958798864fe8d9db3e0ef.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/patterned_paving_02_disp_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/patterned_paving_02_disp_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bxthsx73n827h"
|
||||||
|
path.s3tc="res://.godot/imported/patterned_paving_02_disp_4k.png-daefa5776b6478ffe3897406047e8fef.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/patterned_paving_02_disp_4k.png-daefa5776b6478ffe3897406047e8fef.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/patterned_paving_02_disp_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/patterned_paving_02_disp_4k.png-daefa5776b6478ffe3897406047e8fef.s3tc.ctex", "res://.godot/imported/patterned_paving_02_disp_4k.png-daefa5776b6478ffe3897406047e8fef.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/patterned_paving_02_nor_gl_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/patterned_paving_02_nor_gl_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b5vh20x8tvigd"
|
||||||
|
path.s3tc="res://.godot/imported/patterned_paving_02_nor_gl_4k.png-ff3cbcf6401937fecbf6812daa49f87a.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/patterned_paving_02_nor_gl_4k.png-ff3cbcf6401937fecbf6812daa49f87a.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/patterned_paving_02_nor_gl_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/patterned_paving_02_nor_gl_4k.png-ff3cbcf6401937fecbf6812daa49f87a.s3tc.ctex", "res://.godot/imported/patterned_paving_02_nor_gl_4k.png-ff3cbcf6401937fecbf6812daa49f87a.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=1
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/patterned_paving_02_rough_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/patterned_paving_02_rough_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dd7n608qw6wjy"
|
||||||
|
path.s3tc="res://.godot/imported/patterned_paving_02_rough_4k.png-60a85611c735eef075b0aa47e32ed6c6.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/patterned_paving_02_rough_4k.png-60a85611c735eef075b0aa47e32ed6c6.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/patterned_paving_02_rough_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/patterned_paving_02_rough_4k.png-60a85611c735eef075b0aa47e32ed6c6.s3tc.ctex", "res://.godot/imported/patterned_paving_02_rough_4k.png-60a85611c735eef075b0aa47e32ed6c6.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/rock_wall_03_diff_4k.jpg
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/rock_wall_03_diff_4k.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://ne3nxvx6338v"
|
||||||
|
path.s3tc="res://.godot/imported/rock_wall_03_diff_4k.jpg-4adbda3b1f8e8232766d25539b5a03d4.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/rock_wall_03_diff_4k.jpg-4adbda3b1f8e8232766d25539b5a03d4.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/rock_wall_03_diff_4k.jpg"
|
||||||
|
dest_files=["res://.godot/imported/rock_wall_03_diff_4k.jpg-4adbda3b1f8e8232766d25539b5a03d4.s3tc.ctex", "res://.godot/imported/rock_wall_03_diff_4k.jpg-4adbda3b1f8e8232766d25539b5a03d4.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/rock_wall_03_disp_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/rock_wall_03_disp_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cp25nnta7haq1"
|
||||||
|
path.s3tc="res://.godot/imported/rock_wall_03_disp_4k.png-0d0dc46b7d4cd4b82d0864d8870ed278.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/rock_wall_03_disp_4k.png-0d0dc46b7d4cd4b82d0864d8870ed278.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/rock_wall_03_disp_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/rock_wall_03_disp_4k.png-0d0dc46b7d4cd4b82d0864d8870ed278.s3tc.ctex", "res://.godot/imported/rock_wall_03_disp_4k.png-0d0dc46b7d4cd4b82d0864d8870ed278.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/rock_wall_03_nor_gl_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/rock_wall_03_nor_gl_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://mc1ioc2s54jx"
|
||||||
|
path.s3tc="res://.godot/imported/rock_wall_03_nor_gl_4k.png-b18a23f6754f58a73c151d0f2295aac5.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/rock_wall_03_nor_gl_4k.png-b18a23f6754f58a73c151d0f2295aac5.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/rock_wall_03_nor_gl_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/rock_wall_03_nor_gl_4k.png-b18a23f6754f58a73c151d0f2295aac5.s3tc.ctex", "res://.godot/imported/rock_wall_03_nor_gl_4k.png-b18a23f6754f58a73c151d0f2295aac5.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=1
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/rock_wall_03_rough_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/rock_wall_03_rough_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://wky0g4ab2rsf"
|
||||||
|
path.s3tc="res://.godot/imported/rock_wall_03_rough_4k.png-3ba3ada829166ae83e32e01cd4364da9.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/rock_wall_03_rough_4k.png-3ba3ada829166ae83e32e01cd4364da9.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/rock_wall_03_rough_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/rock_wall_03_rough_4k.png-3ba3ada829166ae83e32e01cd4364da9.s3tc.ctex", "res://.godot/imported/rock_wall_03_rough_4k.png-3ba3ada829166ae83e32e01cd4364da9.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/wood_planks_dirt_diff_4k.jpg
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/wood_planks_dirt_diff_4k.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dm31fykckwfts"
|
||||||
|
path.s3tc="res://.godot/imported/wood_planks_dirt_diff_4k.jpg-4152d8d1931227d064fbf97b075b9334.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/wood_planks_dirt_diff_4k.jpg-4152d8d1931227d064fbf97b075b9334.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/wood_planks_dirt_diff_4k.jpg"
|
||||||
|
dest_files=["res://.godot/imported/wood_planks_dirt_diff_4k.jpg-4152d8d1931227d064fbf97b075b9334.s3tc.ctex", "res://.godot/imported/wood_planks_dirt_diff_4k.jpg-4152d8d1931227d064fbf97b075b9334.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/wood_planks_dirt_disp_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/wood_planks_dirt_disp_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dunt7q5302f8i"
|
||||||
|
path.s3tc="res://.godot/imported/wood_planks_dirt_disp_4k.png-3a13bc3595b10649d9b46da9fc33d923.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/wood_planks_dirt_disp_4k.png-3a13bc3595b10649d9b46da9fc33d923.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/wood_planks_dirt_disp_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/wood_planks_dirt_disp_4k.png-3a13bc3595b10649d9b46da9fc33d923.s3tc.ctex", "res://.godot/imported/wood_planks_dirt_disp_4k.png-3a13bc3595b10649d9b46da9fc33d923.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/wood_planks_dirt_nor_gl_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/wood_planks_dirt_nor_gl_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cju0ury64ricq"
|
||||||
|
path.s3tc="res://.godot/imported/wood_planks_dirt_nor_gl_4k.png-078b342977d15f2ba8dec7d6bf8182a5.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/wood_planks_dirt_nor_gl_4k.png-078b342977d15f2ba8dec7d6bf8182a5.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/wood_planks_dirt_nor_gl_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/wood_planks_dirt_nor_gl_4k.png-078b342977d15f2ba8dec7d6bf8182a5.s3tc.ctex", "res://.godot/imported/wood_planks_dirt_nor_gl_4k.png-078b342977d15f2ba8dec7d6bf8182a5.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=1
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
assets/materials/walls/textures/wood_planks_dirt_rough_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/wood_planks_dirt_rough_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b8ukrfsw0x6q6"
|
||||||
|
path.s3tc="res://.godot/imported/wood_planks_dirt_rough_4k.png-1b25c1288e791143eb79273718a1ca6d.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/wood_planks_dirt_rough_4k.png-1b25c1288e791143eb79273718a1ca6d.etc2.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/materials/walls/textures/wood_planks_dirt_rough_4k.png"
|
||||||
|
dest_files=["res://.godot/imported/wood_planks_dirt_rough_4k.png-1b25c1288e791143eb79273718a1ca6d.s3tc.ctex", "res://.godot/imported/wood_planks_dirt_rough_4k.png-1b25c1288e791143eb79273718a1ca6d.etc2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
188
assets/materials/walls/walls.gdshader
Normal file
188
assets/materials/walls/walls.gdshader
Normal file
@@ -0,0 +1,188 @@
|
|||||||
|
shader_type spatial;
|
||||||
|
|
||||||
|
uniform float blendSharpness;
|
||||||
|
uniform float specular = 0.0;
|
||||||
|
uniform vec4 albedoTint : source_color = vec4(1.0);
|
||||||
|
uniform float roughnessMultiplier = 1.0;
|
||||||
|
uniform vec4 floorAlbedoTint : source_color = vec4(1.0);
|
||||||
|
uniform float floorRoughnessMultiplier = 1.0;
|
||||||
|
|
||||||
|
uniform sampler2D textureMap : source_color;
|
||||||
|
uniform sampler2D roughnessMap : hint_roughness_gray;
|
||||||
|
uniform sampler2D normalMap : hint_normal;
|
||||||
|
uniform sampler2D heightMap : hint_default_white;
|
||||||
|
uniform float normalMapStrength : hint_range(0, 1) = 1.0;
|
||||||
|
uniform float uvScale = 1.0;
|
||||||
|
|
||||||
|
uniform bool enableFloor = false;
|
||||||
|
uniform sampler2D floorTextureMap : source_color;
|
||||||
|
uniform sampler2D floorRoughnessMap : hint_roughness_gray;
|
||||||
|
uniform sampler2D floorNormalMap : hint_normal;
|
||||||
|
uniform sampler2D floorHeightMap : hint_default_white;
|
||||||
|
uniform float floorUvScale = 1.0;
|
||||||
|
|
||||||
|
uniform bool enablePom = true;
|
||||||
|
uniform int heightMinLayers = 8;
|
||||||
|
uniform int heightMaxLayers = 64;
|
||||||
|
uniform float heightScale = 1.0;
|
||||||
|
|
||||||
|
varying vec3 worldPos;
|
||||||
|
varying vec3 worldNormal;
|
||||||
|
|
||||||
|
|
||||||
|
void vertex() {
|
||||||
|
// Transform the vertex position to world space
|
||||||
|
worldPos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
|
||||||
|
|
||||||
|
// Transform the vertex normal to world space
|
||||||
|
worldNormal = normalize((MODEL_MATRIX * vec4(NORMAL, 0.0)).xyz);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO conditionals...
|
||||||
|
vec2 scaleUV(float yDot, vec2 uv) {
|
||||||
|
return uv * (enableFloor && yDot > 0.0 ? floorUvScale : uvScale);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO conditionals...
|
||||||
|
vec4 sampleColor(float yDot, vec2 uv) {
|
||||||
|
return enableFloor && yDot > 0.0 ? texture(floorTextureMap, uv)*floorAlbedoTint : texture(textureMap, uv)*albedoTint;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO conditionals...
|
||||||
|
vec4 sampleRoughness(float yDot, vec2 uv) {
|
||||||
|
return enableFloor && yDot > 0.0 ? texture(floorRoughnessMap, uv)*floorRoughnessMultiplier : texture(roughnessMap, uv)*roughnessMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO conditionals...
|
||||||
|
vec4 sampleHeight(float yDot, vec2 uv) {
|
||||||
|
return enableFloor && yDot > 0.0 ? texture(floorHeightMap, uv) : texture(heightMap, uv);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO conditionals...
|
||||||
|
vec4 sampleNormal(float yDot, vec2 uv) {
|
||||||
|
return enableFloor && yDot > 0.0 ? texture(floorNormalMap, uv) : texture(normalMap, uv);
|
||||||
|
}
|
||||||
|
|
||||||
|
vec4 triplanarSample(vec2 uvX, vec2 uvY, vec2 uvZ, vec3 blend, float yDot) {
|
||||||
|
// Sample the texture using the calculated texture coordinates
|
||||||
|
vec4 texColorX = texture(textureMap, uvX);
|
||||||
|
vec4 texColorY = sampleColor(yDot, uvY);
|
||||||
|
vec4 texColorZ = texture(textureMap, uvZ);
|
||||||
|
|
||||||
|
// Blend the samples together
|
||||||
|
return texColorX * blend.x
|
||||||
|
+ texColorY * blend.y
|
||||||
|
+ texColorZ * blend.z;
|
||||||
|
}
|
||||||
|
|
||||||
|
vec4 triplanarRoughness(vec2 uvX, vec2 uvY, vec2 uvZ, vec3 blend, float yDot) {
|
||||||
|
// Sample the texture using the calculated texture coordinates
|
||||||
|
vec4 texColorX = texture(textureMap, uvX);
|
||||||
|
vec4 texColorY = sampleRoughness(yDot, uvY);
|
||||||
|
vec4 texColorZ = texture(textureMap, uvZ);
|
||||||
|
|
||||||
|
// Blend the samples together
|
||||||
|
return texColorX * blend.x
|
||||||
|
+ texColorY * blend.y
|
||||||
|
+ texColorZ * blend.z;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The simplest appoach suggested in the goat's article:
|
||||||
|
// https://bgolus.medium.com/normal-mapping-for-a-triplanar-shader-10bf39dca05a
|
||||||
|
vec3 triplanarNormal(float yDot, vec2 uvX, vec2 uvY, vec2 uvZ, vec3 blend) {
|
||||||
|
|
||||||
|
// Tangent space normal maps
|
||||||
|
vec3 tnormalX = texture(normalMap, uvX).rgb;
|
||||||
|
vec3 tnormalY = sampleNormal(yDot, uvY).rgb;
|
||||||
|
vec3 tnormalZ = texture(normalMap, uvZ).rgb;
|
||||||
|
|
||||||
|
// Get the sign (-1 or 1) of the surface normal
|
||||||
|
vec3 axisSign = sign(worldNormal);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Flip tangent normal z to account for surface normal facing
|
||||||
|
tnormalX.z *= axisSign.x;
|
||||||
|
tnormalY.z *= axisSign.y;
|
||||||
|
tnormalZ.z *= axisSign.z;
|
||||||
|
|
||||||
|
// Swizzle tangent normals to match world orientation and triblend
|
||||||
|
return normalize(
|
||||||
|
tnormalX.zyx * blend.x +
|
||||||
|
tnormalY.xzy * blend.y +
|
||||||
|
tnormalZ.xyz * blend.z
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adapted from the tutorial. Changed to accept a viewDir which represents each plane.
|
||||||
|
// https://www.youtube.com/watch?v=LrnE5f3h2SU
|
||||||
|
vec2 pomUV(float yDot, vec2 m_base_uv, vec3 viewDir) {
|
||||||
|
float viewDot = dot(viewDir, vec3(1, 0, 0));
|
||||||
|
float minLayers = float(min(heightMinLayers, heightMaxLayers));
|
||||||
|
float maxLayers = float(max(heightMinLayers, heightMaxLayers));
|
||||||
|
float numLayers = mix(maxLayers, minLayers, abs(viewDot));
|
||||||
|
numLayers = clamp(numLayers, minLayers, maxLayers);
|
||||||
|
float layerDepth = 1.0f / numLayers;
|
||||||
|
|
||||||
|
vec2 uvOffset = viewDir.xy * heightScale / numLayers;
|
||||||
|
|
||||||
|
// tracks how "deep" we are on each iteration
|
||||||
|
float currentLayerDepth = 0.0;
|
||||||
|
// tracks how deep the heightmap; adjusted on each iteration as UVs shift
|
||||||
|
float depthMapValue = 1.0 - sampleHeight(yDot, m_base_uv).r;
|
||||||
|
|
||||||
|
// loop until the current layer is deeper than the heightmap (hit)
|
||||||
|
// the 100 iteration cap is because I'm paranoid
|
||||||
|
for (int i = 0; i < 100 && currentLayerDepth < depthMapValue; i++) {
|
||||||
|
m_base_uv -= uvOffset;
|
||||||
|
depthMapValue = 1.0 - sampleHeight(yDot, m_base_uv).r;
|
||||||
|
currentLayerDepth += layerDepth;
|
||||||
|
}
|
||||||
|
|
||||||
|
// occlusion (interpolate with prev value)
|
||||||
|
vec2 prevUV = m_base_uv + uvOffset;
|
||||||
|
float afterDepth = depthMapValue - currentLayerDepth;
|
||||||
|
float beforeDepth = 1.0 - sampleHeight(yDot, prevUV).r - currentLayerDepth + layerDepth;
|
||||||
|
float weight = afterDepth / (afterDepth - beforeDepth);
|
||||||
|
m_base_uv = prevUV * weight + m_base_uv * (1.0 - weight);
|
||||||
|
|
||||||
|
return m_base_uv;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fragment() {
|
||||||
|
// Calculate blending
|
||||||
|
float yDot = dot(worldNormal, vec3(0.0, 1.0, 0.0));
|
||||||
|
vec3 blend = vec3(
|
||||||
|
smoothstep(blendSharpness, 1.0, abs(dot(worldNormal, vec3(1.0, 0.0, 0.0)))),
|
||||||
|
smoothstep(blendSharpness, 1.0, abs(yDot)),
|
||||||
|
smoothstep(blendSharpness, 1.0, abs(dot(worldNormal, vec3(0.0, 0.0, 1.0))))
|
||||||
|
);
|
||||||
|
|
||||||
|
// view dir will be swizzled to match coordinates
|
||||||
|
vec3 viewDir = normalize(CAMERA_POSITION_WORLD - worldPos);
|
||||||
|
|
||||||
|
// Calculate texture coordinates
|
||||||
|
vec2 texCoordX = worldPos.zy * uvScale;
|
||||||
|
vec2 texCoordY = scaleUV(yDot, worldPos.zx);
|
||||||
|
vec2 texCoordZ = worldPos.xy * uvScale;
|
||||||
|
// TODO conditionals...
|
||||||
|
if (enablePom) {
|
||||||
|
texCoordX = pomUV(yDot, texCoordX, viewDir.zyx);
|
||||||
|
texCoordY = pomUV(yDot, texCoordY, viewDir.zxy);
|
||||||
|
texCoordZ = pomUV(yDot, texCoordZ, viewDir.xyz);
|
||||||
|
}
|
||||||
|
|
||||||
|
// sample and output
|
||||||
|
SPECULAR = specular;
|
||||||
|
ALBEDO = triplanarSample(texCoordX, texCoordY, texCoordZ, blend, yDot).rgb;
|
||||||
|
ROUGHNESS = triplanarRoughness(texCoordX, texCoordY, texCoordZ, blend, yDot).r;
|
||||||
|
NORMAL = mix(worldNormal, triplanarNormal(yDot, texCoordX, texCoordY, texCoordZ, blend), normalMapStrength);
|
||||||
|
NORMAL = normalize((VIEW_MATRIX * vec4(NORMAL, 0.0)).xyz);
|
||||||
|
}
|
||||||
|
|
||||||
|
//void light() {
|
||||||
|
// // Called for every pixel for every light affecting the material.
|
||||||
|
// // Uncomment to replace the default light processing function with this one.
|
||||||
|
//}
|
||||||
1
assets/materials/walls/walls.gdshader.uid
Normal file
1
assets/materials/walls/walls.gdshader.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://clgsf8uqgmqa6
|
||||||
37
assets/materials/walls/walls_and_ground.tres
Normal file
37
assets/materials/walls/walls_and_ground.tres
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
[gd_resource type="ShaderMaterial" load_steps=10 format=3 uid="uid://crqalmyy5wynf"]
|
||||||
|
|
||||||
|
[ext_resource type="Shader" uid="uid://clgsf8uqgmqa6" path="res://assets/materials/walls/walls.gdshader" id="1_i648i"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bxthsx73n827h" path="res://assets/materials/walls/textures/patterned_paving_02_disp_4k.png" id="2_4vhk1"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b5vh20x8tvigd" path="res://assets/materials/walls/textures/patterned_paving_02_nor_gl_4k.png" id="3_ytvoj"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://q8t2qoldgk82" path="res://assets/materials/walls/textures/patterned_paving_02_diff_4k.jpg" id="4_4ogtk"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dd7n608qw6wjy" path="res://assets/materials/walls/textures/patterned_paving_02_rough_4k.png" id="4_4vhk1"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cp25nnta7haq1" path="res://assets/materials/walls/textures/rock_wall_03_disp_4k.png" id="5_0ulld"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://mc1ioc2s54jx" path="res://assets/materials/walls/textures/rock_wall_03_nor_gl_4k.png" id="6_llsjo"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ne3nxvx6338v" path="res://assets/materials/walls/textures/rock_wall_03_diff_4k.jpg" id="7_l87d0"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://wky0g4ab2rsf" path="res://assets/materials/walls/textures/rock_wall_03_rough_4k.png" id="8_ytvoj"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("1_i648i")
|
||||||
|
shader_parameter/blendSharpness = 0.0
|
||||||
|
shader_parameter/specular = 0.08
|
||||||
|
shader_parameter/albedoTint = Color(1, 1, 1, 1)
|
||||||
|
shader_parameter/roughnessMultiplier = 1.0
|
||||||
|
shader_parameter/floorAlbedoTint = Color(0.99232787, 0.92830753, 0.851413, 1)
|
||||||
|
shader_parameter/floorRoughnessMultiplier = 1.0
|
||||||
|
shader_parameter/textureMap = ExtResource("7_l87d0")
|
||||||
|
shader_parameter/roughnessMap = ExtResource("8_ytvoj")
|
||||||
|
shader_parameter/normalMap = ExtResource("6_llsjo")
|
||||||
|
shader_parameter/heightMap = ExtResource("5_0ulld")
|
||||||
|
shader_parameter/normalMapStrength = 1.0
|
||||||
|
shader_parameter/uvScale = 0.3
|
||||||
|
shader_parameter/enableFloor = true
|
||||||
|
shader_parameter/floorTextureMap = ExtResource("4_4ogtk")
|
||||||
|
shader_parameter/floorRoughnessMap = ExtResource("4_4vhk1")
|
||||||
|
shader_parameter/floorNormalMap = ExtResource("3_ytvoj")
|
||||||
|
shader_parameter/floorHeightMap = ExtResource("2_4vhk1")
|
||||||
|
shader_parameter/floorUvScale = 0.5
|
||||||
|
shader_parameter/enablePom = true
|
||||||
|
shader_parameter/heightMinLayers = 8
|
||||||
|
shader_parameter/heightMaxLayers = 64
|
||||||
|
shader_parameter/heightScale = 0.2
|
||||||
33
assets/materials/walls/wood_platform.tres
Normal file
33
assets/materials/walls/wood_platform.tres
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://cy7yon430rfy3"]
|
||||||
|
|
||||||
|
[ext_resource type="Shader" uid="uid://clgsf8uqgmqa6" path="res://assets/materials/walls/walls.gdshader" id="1_roy1o"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dunt7q5302f8i" path="res://assets/materials/walls/textures/wood_planks_dirt_disp_4k.png" id="2_roy1o"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cju0ury64ricq" path="res://assets/materials/walls/textures/wood_planks_dirt_nor_gl_4k.png" id="3_ff2cr"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b8ukrfsw0x6q6" path="res://assets/materials/walls/textures/wood_planks_dirt_rough_4k.png" id="4_ob11h"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dm31fykckwfts" path="res://assets/materials/walls/textures/wood_planks_dirt_diff_4k.jpg" id="5_gbaep"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("1_roy1o")
|
||||||
|
shader_parameter/blendSharpness = 0.0
|
||||||
|
shader_parameter/specular = 0.08
|
||||||
|
shader_parameter/albedoTint = Color(1, 1, 1, 1)
|
||||||
|
shader_parameter/roughnessMultiplier = 1.0
|
||||||
|
shader_parameter/floorAlbedoTint = Color(0.6487552, 0.5087499, 0.40841186, 1)
|
||||||
|
shader_parameter/floorRoughnessMultiplier = 1.0
|
||||||
|
shader_parameter/textureMap = ExtResource("5_gbaep")
|
||||||
|
shader_parameter/roughnessMap = ExtResource("4_ob11h")
|
||||||
|
shader_parameter/normalMap = ExtResource("3_ff2cr")
|
||||||
|
shader_parameter/heightMap = ExtResource("2_roy1o")
|
||||||
|
shader_parameter/normalMapStrength = 1.0
|
||||||
|
shader_parameter/uvScale = 0.3
|
||||||
|
shader_parameter/enableFloor = true
|
||||||
|
shader_parameter/floorTextureMap = ExtResource("5_gbaep")
|
||||||
|
shader_parameter/floorRoughnessMap = ExtResource("4_ob11h")
|
||||||
|
shader_parameter/floorNormalMap = ExtResource("3_ff2cr")
|
||||||
|
shader_parameter/floorHeightMap = ExtResource("2_roy1o")
|
||||||
|
shader_parameter/floorUvScale = 0.5
|
||||||
|
shader_parameter/enablePom = true
|
||||||
|
shader_parameter/heightMinLayers = 8
|
||||||
|
shader_parameter/heightMaxLayers = 64
|
||||||
|
shader_parameter/heightScale = 1.0
|
||||||
Binary file not shown.
Binary file not shown.
@@ -24,8 +24,7 @@ ssil_enabled = true
|
|||||||
sdfgi_use_occlusion = true
|
sdfgi_use_occlusion = true
|
||||||
fog_light_energy = 0.0
|
fog_light_energy = 0.0
|
||||||
volumetric_fog_enabled = true
|
volumetric_fog_enabled = true
|
||||||
volumetric_fog_density = 0.005
|
volumetric_fog_density = 0.0
|
||||||
volumetric_fog_albedo = Color(0.66990036, 0.47894412, 0.44653797, 1)
|
|
||||||
volumetric_fog_emission = Color(1, 1, 1, 1)
|
volumetric_fog_emission = Color(1, 1, 1, 1)
|
||||||
volumetric_fog_emission_energy = 0.1
|
volumetric_fog_emission_energy = 0.1
|
||||||
volumetric_fog_length = 200.0
|
volumetric_fog_length = 200.0
|
||||||
@@ -53,7 +52,7 @@ environment = SubResource("Environment_1bvp3")
|
|||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||||
transform = Transform3D(-0.78043425, 0.15240018, 0.60637933, 0.17673612, -0.8765135, 0.44775894, 0.5997381, 0.4566158, 0.6571267, 0, 0, 0)
|
transform = Transform3D(-0.78043425, 0.15240018, 0.60637933, 0.17673612, -0.8765135, 0.44775894, 0.5997381, 0.4566158, 0.6571267, 0, 0, 0)
|
||||||
light_color = Color(0.9999997, 0.92698854, 0.88834643, 1)
|
light_color = Color(0.99999934, 0.76777613, 0.6549227, 1)
|
||||||
light_energy = 5.0
|
light_energy = 5.0
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
shadow_opacity = 0.95
|
shadow_opacity = 0.95
|
||||||
|
|||||||
Reference in New Issue
Block a user