textures
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 15s
Create tag and build when new code gets to main / Export (push) Successful in 8m38s

This commit is contained in:
2025-10-16 11:27:55 +02:00
parent e39620ce52
commit 591993a1f2
41 changed files with 1593 additions and 4 deletions

File diff suppressed because one or more lines are too long

View 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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

Binary file not shown.

View File

@@ -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

View 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.
//}

View File

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

View 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

View 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.

View File

@@ -24,8 +24,7 @@ ssil_enabled = true
sdfgi_use_occlusion = true
fog_light_energy = 0.0
volumetric_fog_enabled = true
volumetric_fog_density = 0.005
volumetric_fog_albedo = Color(0.66990036, 0.47894412, 0.44653797, 1)
volumetric_fog_density = 0.0
volumetric_fog_emission = Color(1, 1, 1, 1)
volumetric_fog_emission_energy = 0.1
volumetric_fog_length = 200.0
@@ -53,7 +52,7 @@ environment = SubResource("Environment_1bvp3")
[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)
light_color = Color(0.9999997, 0.92698854, 0.88834643, 1)
light_color = Color(0.99999934, 0.76777613, 0.6549227, 1)
light_energy = 5.0
shadow_enabled = true
shadow_opacity = 0.95