diff --git a/3d/material_testers/README.md b/3d/material_testers/README.md index c9064424..d053dcc4 100644 --- a/3d/material_testers/README.md +++ b/3d/material_testers/README.md @@ -8,12 +8,10 @@ This demo was featured at the beginning of the Language: GDScript -Renderer: GLES 3 +Renderer: Forward Plus Check out this demo on the asset library: https://godotengine.org/asset-library/asset/123 ## Screenshots -![Screenshot](screenshots/stones.png) - -![Screenshot](screenshots/mirror.png) +![Screenshot](screenshots/material_testers.webp) diff --git a/3d/material_testers/backgrounds/experiment.hdr.import b/3d/material_testers/backgrounds/experiment.hdr.import index 6383041e..a880c516 100644 --- a/3d/material_testers/backgrounds/experiment.hdr.import +++ b/3d/material_testers/backgrounds/experiment.hdr.import @@ -2,28 +2,26 @@ importer="texture" type="CompressedTexture2D" -uid="uid://5vtwlgoj3j4v" -path.s3tc="res://.godot/imported/experiment.hdr-6856dc9c7216ce389b450cda78cd0dd4.s3tc.ctex" -path.etc2="res://.godot/imported/experiment.hdr-6856dc9c7216ce389b450cda78cd0dd4.etc2.ctex" +uid="uid://bc5g4j4hpwts4" +path="res://.godot/imported/experiment.hdr-6856dc9c7216ce389b450cda78cd0dd4.ctex" metadata={ -"imported_formats": ["s3tc", "etc2"], -"vram_texture": true +"vram_texture": false } [deps] source_file="res://backgrounds/experiment.hdr" -dest_files=["res://.godot/imported/experiment.hdr-6856dc9c7216ce389b450cda78cd0dd4.s3tc.ctex", "res://.godot/imported/experiment.hdr-6856dc9c7216ce389b450cda78cd0dd4.etc2.ctex"] +dest_files=["res://.godot/imported/experiment.hdr-6856dc9c7216ce389b450cda78cd0dd4.ctex"] [params] -compress/mode=2 +compress/mode=0 compress/lossy_quality=0.7 compress/hdr_compression=1 compress/bptc_ldr=0 compress/normal_map=0 compress/channel_pack=0 -mipmaps/generate=true +mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" @@ -31,5 +29,6 @@ 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 +detect_3d/compress_to=1 diff --git a/3d/material_testers/backgrounds/lobby.hdr.import b/3d/material_testers/backgrounds/lobby.hdr.import index eac43692..6ef7ed79 100644 --- a/3d/material_testers/backgrounds/lobby.hdr.import +++ b/3d/material_testers/backgrounds/lobby.hdr.import @@ -2,28 +2,26 @@ importer="texture" type="CompressedTexture2D" -uid="uid://dp6fru2qyhpnv" -path.s3tc="res://.godot/imported/lobby.hdr-4d3bebcac51f4f3bb35b80c08a53f6b5.s3tc.ctex" -path.etc2="res://.godot/imported/lobby.hdr-4d3bebcac51f4f3bb35b80c08a53f6b5.etc2.ctex" +uid="uid://b0ioercv62un7" +path="res://.godot/imported/lobby.hdr-4d3bebcac51f4f3bb35b80c08a53f6b5.ctex" metadata={ -"imported_formats": ["s3tc", "etc2"], -"vram_texture": true +"vram_texture": false } [deps] source_file="res://backgrounds/lobby.hdr" -dest_files=["res://.godot/imported/lobby.hdr-4d3bebcac51f4f3bb35b80c08a53f6b5.s3tc.ctex", "res://.godot/imported/lobby.hdr-4d3bebcac51f4f3bb35b80c08a53f6b5.etc2.ctex"] +dest_files=["res://.godot/imported/lobby.hdr-4d3bebcac51f4f3bb35b80c08a53f6b5.ctex"] [params] -compress/mode=2 +compress/mode=0 compress/lossy_quality=0.7 compress/hdr_compression=1 compress/bptc_ldr=0 compress/normal_map=0 compress/channel_pack=0 -mipmaps/generate=true +mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" @@ -31,5 +29,6 @@ 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 +detect_3d/compress_to=1 diff --git a/3d/material_testers/backgrounds/night.hdr.import b/3d/material_testers/backgrounds/night.hdr.import index dd73d1c3..7960ac78 100644 --- a/3d/material_testers/backgrounds/night.hdr.import +++ b/3d/material_testers/backgrounds/night.hdr.import @@ -2,28 +2,26 @@ importer="texture" type="CompressedTexture2D" -uid="uid://j3nvneplcglg" -path.s3tc="res://.godot/imported/night.hdr-da28dc6f2f43b1d95c11d8df7ccace96.s3tc.ctex" -path.etc2="res://.godot/imported/night.hdr-da28dc6f2f43b1d95c11d8df7ccace96.etc2.ctex" +uid="uid://b5i26muxfsyj" +path="res://.godot/imported/night.hdr-da28dc6f2f43b1d95c11d8df7ccace96.ctex" metadata={ -"imported_formats": ["s3tc", "etc2"], -"vram_texture": true +"vram_texture": false } [deps] source_file="res://backgrounds/night.hdr" -dest_files=["res://.godot/imported/night.hdr-da28dc6f2f43b1d95c11d8df7ccace96.s3tc.ctex", "res://.godot/imported/night.hdr-da28dc6f2f43b1d95c11d8df7ccace96.etc2.ctex"] +dest_files=["res://.godot/imported/night.hdr-da28dc6f2f43b1d95c11d8df7ccace96.ctex"] [params] -compress/mode=2 +compress/mode=0 compress/lossy_quality=0.7 compress/hdr_compression=1 compress/bptc_ldr=0 compress/normal_map=0 compress/channel_pack=0 -mipmaps/generate=true +mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" @@ -31,5 +29,6 @@ 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 +detect_3d/compress_to=1 diff --git a/3d/material_testers/backgrounds/park.hdr.import b/3d/material_testers/backgrounds/park.hdr.import index 92b558b8..ace57af2 100644 --- a/3d/material_testers/backgrounds/park.hdr.import +++ b/3d/material_testers/backgrounds/park.hdr.import @@ -2,28 +2,26 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cddwkc5abl0ea" -path.s3tc="res://.godot/imported/park.hdr-fcd9651d2de266bdfd1d7ec8a320f831.s3tc.ctex" -path.etc2="res://.godot/imported/park.hdr-fcd9651d2de266bdfd1d7ec8a320f831.etc2.ctex" +uid="uid://b1at3250k1fim" +path="res://.godot/imported/park.hdr-fcd9651d2de266bdfd1d7ec8a320f831.ctex" metadata={ -"imported_formats": ["s3tc", "etc2"], -"vram_texture": true +"vram_texture": false } [deps] source_file="res://backgrounds/park.hdr" -dest_files=["res://.godot/imported/park.hdr-fcd9651d2de266bdfd1d7ec8a320f831.s3tc.ctex", "res://.godot/imported/park.hdr-fcd9651d2de266bdfd1d7ec8a320f831.etc2.ctex"] +dest_files=["res://.godot/imported/park.hdr-fcd9651d2de266bdfd1d7ec8a320f831.ctex"] [params] -compress/mode=2 +compress/mode=0 compress/lossy_quality=0.7 compress/hdr_compression=1 compress/bptc_ldr=0 compress/normal_map=0 compress/channel_pack=0 -mipmaps/generate=true +mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" @@ -31,5 +29,6 @@ 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 +detect_3d/compress_to=1 diff --git a/3d/material_testers/backgrounds/schelde.hdr.import b/3d/material_testers/backgrounds/schelde.hdr.import index da6a828b..efc3209d 100644 --- a/3d/material_testers/backgrounds/schelde.hdr.import +++ b/3d/material_testers/backgrounds/schelde.hdr.import @@ -2,22 +2,20 @@ importer="texture" type="CompressedTexture2D" -uid="uid://qxqvflsnn1ur" -path.s3tc="res://.godot/imported/schelde.hdr-6a13661ddf6710bbc9fa448634fb1bdb.s3tc.ctex" -path.etc2="res://.godot/imported/schelde.hdr-6a13661ddf6710bbc9fa448634fb1bdb.etc2.ctex" +uid="uid://ddo4ecus0bal4" +path="res://.godot/imported/schelde.hdr-6a13661ddf6710bbc9fa448634fb1bdb.ctex" metadata={ -"imported_formats": ["s3tc", "etc2"], -"vram_texture": true +"vram_texture": false } [deps] source_file="res://backgrounds/schelde.hdr" -dest_files=["res://.godot/imported/schelde.hdr-6a13661ddf6710bbc9fa448634fb1bdb.s3tc.ctex", "res://.godot/imported/schelde.hdr-6a13661ddf6710bbc9fa448634fb1bdb.etc2.ctex"] +dest_files=["res://.godot/imported/schelde.hdr-6a13661ddf6710bbc9fa448634fb1bdb.ctex"] [params] -compress/mode=2 +compress/mode=0 compress/lossy_quality=0.7 compress/hdr_compression=1 compress/bptc_ldr=0 @@ -31,5 +29,6 @@ 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 diff --git a/3d/material_testers/default_env.tres b/3d/material_testers/default_env.tres index 9ae079c2..a1547eb7 100644 --- a/3d/material_testers/default_env.tres +++ b/3d/material_testers/default_env.tres @@ -1,17 +1,19 @@ -[gd_resource type="Environment" load_steps=3 format=2] +[gd_resource type="Environment" load_steps=4 format=3 uid="uid://du5gp6ah0abgv"] -[ext_resource path="res://backgrounds/schelde.hdr" type="Texture2D" id=1] +[ext_resource type="Texture2D" uid="uid://ddo4ecus0bal4" path="res://backgrounds/schelde.hdr" id="1"] -[sub_resource type="PanoramaSkyMaterial" id=1] -panorama = ExtResource( 1 ) +[sub_resource type="PanoramaSkyMaterial" id="1"] +panorama = ExtResource("1") + +[sub_resource type="Sky" id="2"] +sky_material = SubResource("1") +radiance_size = 4 [resource] background_mode = 2 -background_sky = SubResource( 1 ) -tonemap_mode = 2 -tonemap_exposure = 1.2 +sky = SubResource("2") +tonemap_mode = 3 tonemap_white = 6.0 -ssao_enabled = true -ssao_light_affect = 0.78 -ssao_quality = 2 -dof_blur_far_distance = 3.22 +fog_enabled = true +fog_density = 0.002 +fog_sky_affect = 0.0 diff --git a/3d/material_testers/icon.png b/3d/material_testers/icon.png index e83556a2..973f0be7 100644 Binary files a/3d/material_testers/icon.png and b/3d/material_testers/icon.png differ diff --git a/3d/material_testers/icon.png.import b/3d/material_testers/icon.png.import index 2e5bf096..8649ca7d 100644 --- a/3d/material_testers/icon.png.import +++ b/3d/material_testers/icon.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://doyw0t1ntc6ll" +uid="uid://c4ofbmj3jtd8q" path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" metadata={ "vram_texture": false diff --git a/3d/material_testers/material_tester.tscn b/3d/material_testers/material_tester.tscn index 40a0dc56..b05729cc 100644 --- a/3d/material_testers/material_tester.tscn +++ b/3d/material_testers/material_tester.tscn @@ -1,302 +1,175 @@ -[gd_scene load_steps=50 format=3 uid="uid://cr0xfyxw5byn"] +[gd_scene load_steps=21 format=3 uid="uid://c57duuo5p7mc0"] [ext_resource type="Script" path="res://tester.gd" id="1"] -[ext_resource type="Texture2D" uid="uid://qxqvflsnn1ur" path="res://backgrounds/schelde.hdr" id="2_hjmay"] +[ext_resource type="Environment" uid="uid://du5gp6ah0abgv" path="res://default_env.tres" id="2"] [ext_resource type="PackedScene" uid="uid://cgqfdwd4g5e14" path="res://models/test_bed/test_bed.tscn" id="3"] -[ext_resource type="ArrayMesh" uid="uid://dxsfckuirf72p" path="res://models/godot_ball.mesh" id="4"] -[ext_resource type="Texture2D" uid="uid://b3efpr0uwln6w" path="res://test_materials/texture_wood.png" id="5"] -[ext_resource type="Texture2D" uid="uid://xu18ocodkbx7" path="res://test_materials/texture_cheese_albedo.png" id="6"] -[ext_resource type="Texture2D" uid="uid://65icecsss5vf" path="res://test_materials/texture_cheese_ao.png" id="7"] -[ext_resource type="Texture2D" uid="uid://8o7dvpd64s0i" path="res://test_materials/texture_cheese_depth.png" id="8"] -[ext_resource type="Texture2D" uid="uid://7dpm3ud1syn" path="res://test_materials/texture_cheese_normal.png" id="9"] -[ext_resource type="Texture2D" uid="uid://dll713t0m0b6k" path="res://test_materials/texture_rock_albedo.png" id="10"] -[ext_resource type="Texture2D" uid="uid://cg1wtsuae0lmc" path="res://test_materials/texture_rock_ao.png" id="11"] -[ext_resource type="Texture2D" uid="uid://x5qdkxkf4tmq" path="res://test_materials/texture_rock_depth.png" id="12"] -[ext_resource type="Texture2D" uid="uid://bte0rsu3bcmxa" path="res://test_materials/texture_rock_metal.png" id="13"] -[ext_resource type="Texture2D" uid="uid://dqhvdd867nvjm" path="res://test_materials/texture_rock_normal.png" id="14"] -[ext_resource type="Texture2D" uid="uid://w5wmopu8t6ya" path="res://test_materials/texture_bricks.jpg" id="15"] -[ext_resource type="Texture2D" uid="uid://lbhnr6ww3frm" path="res://test_materials/texture_bricks_depth.jpg" id="16"] -[ext_resource type="Texture2D" uid="uid://c2d4tyfl662ra" path="res://test_materials/texture_bricks_metal.jpg" id="17"] -[ext_resource type="Texture2D" uid="uid://baces1lcbjoxv" path="res://test_materials/texture_bricks_normal.jpg" id="18"] -[ext_resource type="Texture2D" uid="uid://do34kmmykk6gf" path="res://test_materials/wool_albedo.png" id="19"] -[ext_resource type="Texture2D" uid="uid://b45auu1apiq0g" path="res://test_materials/wool_depth.png" id="20"] -[ext_resource type="Texture2D" uid="uid://cc44l0alh6gr4" path="res://test_materials/wool_normal.png" id="21"] -[ext_resource type="Texture2D" uid="uid://b8o8fe1yoym4t" path="res://test_materials/aluminium_albedo.png" id="22"] -[ext_resource type="Texture2D" uid="uid://0546okw1k04b" path="res://test_materials/aluminium_normal.png" id="23"] -[ext_resource type="Texture2D" uid="uid://c31bsq44dxyh1" path="res://test_materials/marble_albedo.png" id="24"] -[ext_resource type="Texture2D" uid="uid://babs1mrgolbcj" path="res://test_materials/sand_albedo.jpg" id="25"] -[ext_resource type="Texture2D" uid="uid://cisvmvcj8c525" path="res://test_materials/sand_metal.jpg" id="26"] -[ext_resource type="Texture2D" uid="uid://xvn1ih5tbj6g" path="res://test_materials/sand_normal.jpg" id="27"] -[ext_resource type="Texture2D" uid="uid://bld3mlnaxf768" path="res://test_materials/sand_rough.jpg" id="28"] -[ext_resource type="Texture2D" uid="uid://7d4kolmsjw8b" path="res://test_materials/rock_albedo.jpg" id="29"] -[ext_resource type="Texture2D" uid="uid://3m1hjc851lp4" path="res://test_materials/rock_ao.jpg" id="30"] -[ext_resource type="Texture2D" uid="uid://h1biny5hb4xc" path="res://test_materials/rock_metal.jpg" id="31"] -[ext_resource type="Texture2D" uid="uid://1vmbgyaaju3v" path="res://test_materials/rock_rough.jpg" id="32"] - -[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_7uer8"] -panorama = ExtResource( "2_hjmay" ) - -[sub_resource type="Sky" id="Sky_ruw1w"] -sky_material = SubResource( "PanoramaSkyMaterial_7uer8" ) - -[sub_resource type="Environment" id="Environment_q1py5"] -background_mode = 2 -sky = SubResource( "Sky_ruw1w" ) -tonemap_mode = 2 -glow_enabled = true - -[sub_resource type="StandardMaterial3D" id="1"] -metallic = 0.4 -roughness = 0.35 - -[sub_resource type="StandardMaterial3D" id="5"] -metallic = 1.0 -roughness = 0.02 - -[sub_resource type="StandardMaterial3D" id="6"] -albedo_color = Color(0.806275, 0.575882, 0.361255, 1) -albedo_texture = ExtResource( "5" ) -metallic = 0.48 -roughness = 0.28 - -[sub_resource type="StandardMaterial3D" id="7"] -albedo_texture = ExtResource( "6" ) -roughness = 0.64 -normal_enabled = true -normal_texture = ExtResource( "9" ) -ao_enabled = true -ao_texture = ExtResource( "7" ) -heightmap_enabled = true -heightmap_scale = 0.13 -heightmap_deep_parallax = true -heightmap_min_layers = 8 -heightmap_max_layers = 32 -heightmap_texture = ExtResource( "8" ) -heightmap_flip_texture = true -subsurf_scatter_enabled = true -subsurf_scatter_strength = 0.37 - -[sub_resource type="StandardMaterial3D" id="8"] -albedo_texture = ExtResource( "10" ) -metallic = 0.86 -metallic_texture = ExtResource( "13" ) -roughness = 0.47 -normal_enabled = true -normal_texture = ExtResource( "14" ) -ao_enabled = true -ao_texture = ExtResource( "11" ) -heightmap_enabled = true -heightmap_scale = 0.18 -heightmap_deep_parallax = true -heightmap_min_layers = 8 -heightmap_max_layers = 32 -heightmap_texture = ExtResource( "12" ) -heightmap_flip_texture = true - -[sub_resource type="StandardMaterial3D" id="9"] -albedo_texture = ExtResource( "15" ) -metallic = 1.0 -metallic_texture = ExtResource( "17" ) -roughness = 0.56 -normal_enabled = true -normal_texture = ExtResource( "18" ) -heightmap_enabled = true -heightmap_scale = 0.03 -heightmap_deep_parallax = true -heightmap_min_layers = 8 -heightmap_max_layers = 32 -heightmap_texture = ExtResource( "16" ) -heightmap_flip_texture = true - -[sub_resource type="StandardMaterial3D" id="10"] -albedo_texture = ExtResource( "19" ) -metallic = 0.1 -roughness = 0.77 -normal_enabled = true -normal_scale = 0.3 -normal_texture = ExtResource( "21" ) -heightmap_enabled = true -heightmap_scale = 0.01 -heightmap_deep_parallax = true -heightmap_min_layers = 8 -heightmap_max_layers = 32 -heightmap_texture = ExtResource( "20" ) -heightmap_flip_texture = true - -[sub_resource type="StandardMaterial3D" id="11"] -albedo_texture = ExtResource( "22" ) -metallic = 0.59 -roughness = 0.4 -normal_enabled = true -normal_scale = 0.21 -normal_texture = ExtResource( "23" ) -anisotropy_enabled = true -anisotropy = -0.99 - -[sub_resource type="StandardMaterial3D" id="12"] -diffuse_mode = 2 -albedo_texture = ExtResource( "24" ) -metallic = 0.1 -roughness = 0.1 -rim_enabled = true -rim_tint = 1.0 -subsurf_scatter_enabled = true -subsurf_scatter_strength = 0.1 - -[sub_resource type="StandardMaterial3D" id="13"] -albedo_texture = ExtResource( "25" ) -metallic = 1.0 -metallic_texture = ExtResource( "26" ) -roughness_texture = ExtResource( "28" ) -normal_enabled = true -normal_scale = 0.43 -normal_texture = ExtResource( "27" ) - -[sub_resource type="StandardMaterial3D" id="14"] -albedo_texture = ExtResource( "29" ) -metallic = 0.12 -roughness_texture = ExtResource( "32" ) -normal_enabled = true -normal_texture = ExtResource( "31" ) -ao_enabled = true -ao_texture = ExtResource( "30" ) - -[sub_resource type="StandardMaterial3D" id="15"] -albedo_color = Color(1, 1, 1, 0) -albedo_texture = ExtResource( "29" ) -metallic = 1.0 -roughness = 0.62 -normal_enabled = true -normal_texture = ExtResource( "31" ) -ao_enabled = true -ao_texture = ExtResource( "30" ) -refraction_enabled = true -refraction_scale = 0.04 - -[sub_resource type="StandardMaterial3D" id="16"] -cull_mode = 1 -shading_mode = 0 -albedo_color = Color(0.0261569, 0, 0, 1) -grow = true -grow_amount = 0.03 - -[sub_resource type="StandardMaterial3D" id="17"] -next_pass = SubResource( "16" ) -diffuse_mode = 4 -specular_mode = 3 -albedo_color = Color(0.905765, 0.356039, 0.0994902, 1) -roughness = 0.04 +[ext_resource type="ArrayMesh" uid="uid://btydvpp0agbfj" path="res://models/godot_ball.res" id="4_7al4s"] +[ext_resource type="Material" uid="uid://bbfkhkmct7wu3" path="res://test_materials/blue.tres" id="5"] +[ext_resource type="Material" uid="uid://b0qkg55h84i3f" path="res://test_materials/white.tres" id="6"] +[ext_resource type="Material" uid="uid://d3u3snuqdn404" path="res://test_materials/gray.tres" id="7"] +[ext_resource type="Material" path="res://test_materials/white_plastic.tres" id="8"] +[ext_resource type="Material" uid="uid://qpdv7evfgbyw" path="res://test_materials/mirror.tres" id="9"] +[ext_resource type="Material" uid="uid://djut62ilojfmq" path="res://test_materials/dark_wood.tres" id="10"] +[ext_resource type="Material" uid="uid://ca5id5w12cprn" path="res://test_materials/stones.tres" id="11"] +[ext_resource type="Material" uid="uid://dfsu6vtygh0tc" path="res://test_materials/brick.tres" id="12"] +[ext_resource type="Material" uid="uid://dtui5o3potpen" path="res://test_materials/wool.tres" id="13"] +[ext_resource type="Material" uid="uid://cg7l6w2h0aq22" path="res://test_materials/aluminium.tres" id="14"] +[ext_resource type="Material" uid="uid://c5oxndmf0jbu3" path="res://test_materials/marble.tres" id="15"] +[ext_resource type="Material" uid="uid://dv76cxap5uj7y" path="res://test_materials/cheese.tres" id="16"] +[ext_resource type="Material" uid="uid://bx0jnmhhr8qwh" path="res://test_materials/wet_sand.tres" id="17"] +[ext_resource type="Material" uid="uid://dct7oit1go38a" path="res://test_materials/rock.tres" id="18"] +[ext_resource type="Material" uid="uid://bv6dr534vwcr1" path="res://test_materials/ice.tres" id="19"] +[ext_resource type="Material" uid="uid://y4yhjq6ftc3l" path="res://test_materials/toon.tres" id="20"] [node name="MaterialTester" type="Node3D"] -script = ExtResource( "1" ) +script = ExtResource("1") [node name="WorldEnvironment" type="WorldEnvironment" parent="."] -environment = SubResource( "Environment_q1py5" ) +environment = ExtResource("2") [node name="Testers" type="Node3D" parent="."] -[node name="White Plastic" parent="Testers" instance=ExtResource( "3" )] +[node name="White Plastic" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -36, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/White Plastic"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "1" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("8") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Mirror" parent="Testers" instance=ExtResource( "3" )] +[node name="Mirror" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Mirror"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "5" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("9") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Dark Wood" parent="Testers" instance=ExtResource( "3" )] +[node name="Dark Wood" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Dark Wood"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "6" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("10") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Cheese" parent="Testers" instance=ExtResource( "3" )] +[node name="Cheese" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Cheese"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "7" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("16") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Stones" parent="Testers" instance=ExtResource( "3" )] +[node name="Stones" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Stones"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "8" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("11") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Brick" parent="Testers" instance=ExtResource( "3" )] +[node name="Brick" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Brick"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "9" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("12") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Wool" parent="Testers" instance=ExtResource( "3" )] +[node name="Wool" parent="Testers" instance=ExtResource("3")] [node name="GodotBall" type="MeshInstance3D" parent="Testers/Wool"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "10" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("13") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Aluminium" parent="Testers" instance=ExtResource( "3" )] +[node name="Aluminium" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Aluminium"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "11" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("14") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Marble" parent="Testers" instance=ExtResource( "3" )] +[node name="Marble" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Marble"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "12" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("15") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Wet Sand" parent="Testers" instance=ExtResource( "3" )] +[node name="Wet Sand" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Wet Sand"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "13" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("17") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Rock" parent="Testers" instance=ExtResource( "3" )] +[node name="Rock" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Rock"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "14" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("18") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Ice" parent="Testers" instance=ExtResource( "3" )] +[node name="Ice" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Ice"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "15" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("19") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") -[node name="Toon" parent="Testers" instance=ExtResource( "3" )] +[node name="Toon" parent="Testers" instance=ExtResource("3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 0, 0) [node name="GodotBall" type="MeshInstance3D" parent="Testers/Toon"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.5, -4) -mesh = ExtResource( "4" ) -surface_material_override/0 = SubResource( "17" ) +mesh = ExtResource("4_7al4s") +surface_material_override/0 = ExtResource("20") +surface_material_override/1 = ExtResource("6") +surface_material_override/2 = ExtResource("5") +surface_material_override/3 = ExtResource("7") [node name="CameraHolder" type="Node3D" parent="."] transform = Transform3D(0.877582, 0, -0.479427, 0, 1, 0, 0.479427, 0, 0.877582, -36, 2.8, -4) @@ -304,51 +177,89 @@ transform = Transform3D(0.877582, 0, -0.479427, 0, 1, 0, 0.479427, 0, 0.877582, [node name="RotationX" type="Node3D" parent="CameraHolder"] transform = Transform3D(1, 0, 0, 0, 0.877582, 0.479427, 0, -0.479427, 0.877582, 0, 0, 0) -[node name="Camera3D" type="Camera3D" parent="CameraHolder/RotationX"] +[node name="Camera" type="Camera3D" parent="CameraHolder/RotationX"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5) fov = 65.0 near = 0.1 [node name="UI" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 mouse_filter = 2 [node name="Background" type="OptionButton" parent="UI"] -offset_left = 15.0 -offset_top = 6.0 -offset_right = 109.0 -offset_bottom = 26.0 +layout_mode = 0 +offset_left = 16.0 +offset_top = 16.0 +offset_right = 30.0 +offset_bottom = 36.0 +focus_mode = 0 [node name="Previous" type="Button" parent="UI"] +layout_mode = 1 +anchors_preset = 2 anchor_top = 1.0 anchor_bottom = 1.0 -offset_left = 30.0 -offset_top = -50.0 -offset_right = 97.0 -offset_bottom = -30.0 -text = "Previous" +offset_left = 16.0 +offset_top = -64.0 +offset_right = 152.0 +offset_bottom = -16.0 +grow_vertical = 0 +focus_mode = 0 +text = "« Previous" [node name="Next" type="Button" parent="UI"] +layout_mode = 1 +anchors_preset = 3 anchor_left = 1.0 anchor_top = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 -offset_left = -72.0 -offset_top = -50.0 -offset_right = -30.0 -offset_bottom = -30.0 -text = "Next" +offset_left = -98.0 +offset_top = -64.0 +offset_right = -16.0 +offset_bottom = -16.0 +grow_horizontal = 0 +grow_vertical = 0 +focus_mode = 0 +text = "Next »" [node name="MaterialName" type="Label" parent="UI"] +layout_mode = 1 +anchors_preset = 7 anchor_left = 0.5 anchor_top = 1.0 anchor_right = 0.5 anchor_bottom = 1.0 -offset_top = -44.0 -offset_bottom = -30.0 +offset_left = -0.5 +offset_top = -58.0 +offset_right = 0.5 +offset_bottom = -24.0 +grow_horizontal = 2 +grow_vertical = 0 size_flags_vertical = 0 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 5 +theme_override_font_sizes/font_size = 24 + +[node name="Quit" type="Button" parent="UI"] +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -89.0 +offset_top = 16.0 +offset_right = -16.0 +offset_bottom = 52.0 +grow_horizontal = 0 +focus_mode = 0 +text = "Quit" [connection signal="item_selected" from="UI/Background" to="." method="_on_bg_item_selected"] -[connection signal="pressed" from="UI/Previous" to="." method="_on_Previous_pressed"] -[connection signal="pressed" from="UI/Next" to="." method="_on_Next_pressed"] +[connection signal="pressed" from="UI/Previous" to="." method="_on_previous_pressed"] +[connection signal="pressed" from="UI/Next" to="." method="_on_next_pressed"] +[connection signal="pressed" from="UI/Quit" to="." method="_on_quit_pressed"] diff --git a/3d/material_testers/models/godot_ball.glb b/3d/material_testers/models/godot_ball.glb new file mode 100644 index 00000000..93bc43e6 Binary files /dev/null and b/3d/material_testers/models/godot_ball.glb differ diff --git a/3d/material_testers/models/godot_ball.glb.import b/3d/material_testers/models/godot_ball.glb.import new file mode 100644 index 00000000..68899f04 --- /dev/null +++ b/3d/material_testers/models/godot_ball.glb.import @@ -0,0 +1,43 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://dukdgh1bpa6q5" +path="res://.godot/imported/godot_ball.glb-1d29a1e2bd7edd355fb9eaf990a784af.scn" + +[deps] + +source_file="res://models/godot_ball.glb" +dest_files=["res://.godot/imported/godot_ball.glb-1d29a1e2bd7edd355fb9eaf990a784af.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=false +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.1 +skins/use_named_skins=true +animation/import=true +animation/fps=15 +animation/trimming=false +import_script/path="" +_subresources={ +"meshes": { +"godot_ball_MSH_GodotBall": { +"generate/lightmap_uv": 0, +"generate/lods": 0, +"generate/shadow_meshes": 0, +"lods/normal_merge_angle": 60.0, +"lods/normal_split_angle": 25.0, +"save_to_file/enabled": true, +"save_to_file/make_streamable": "", +"save_to_file/path": "res://models/godot_ball.res" +} +} +} diff --git a/3d/material_testers/models/godot_ball.glb.unwrap_cache b/3d/material_testers/models/godot_ball.glb.unwrap_cache new file mode 100644 index 00000000..4388463d Binary files /dev/null and b/3d/material_testers/models/godot_ball.glb.unwrap_cache differ diff --git a/3d/material_testers/models/godot_ball.mesh b/3d/material_testers/models/godot_ball.mesh deleted file mode 100644 index f0aa7f71..00000000 Binary files a/3d/material_testers/models/godot_ball.mesh and /dev/null differ diff --git a/3d/material_testers/models/godot_ball.res b/3d/material_testers/models/godot_ball.res new file mode 100644 index 00000000..148904eb Binary files /dev/null and b/3d/material_testers/models/godot_ball.res differ diff --git a/3d/material_testers/models/test_bed/large_material.tres b/3d/material_testers/models/test_bed/large_material.tres index d3ca962b..6d388ff6 100644 --- a/3d/material_testers/models/test_bed/large_material.tres +++ b/3d/material_testers/models/test_bed/large_material.tres @@ -1,7 +1,10 @@ -[gd_resource type="StandardMaterial3D" format=2] +[gd_resource type="StandardMaterial3D" format=3 uid="uid://1wd862s1kfdy"] [resource] -params_cull_mode = 1 -albedo_color = Color( 0.78327, 0.78327, 0.78327, 1 ) +cull_mode = 1 +albedo_color = Color(0.78327, 0.78327, 0.78327, 1) metallic = 0.1 roughness = 0.6 +distance_fade_mode = 2 +distance_fade_min_distance = 2.0 +distance_fade_max_distance = 3.0 diff --git a/3d/material_testers/models/test_bed/small_material.tres b/3d/material_testers/models/test_bed/small_material.tres index 5427fe88..817db83d 100644 --- a/3d/material_testers/models/test_bed/small_material.tres +++ b/3d/material_testers/models/test_bed/small_material.tres @@ -1,5 +1,8 @@ -[gd_resource type="StandardMaterial3D" format=2] +[gd_resource type="StandardMaterial3D" format=3 uid="uid://bh3dtgmpl7gv0"] [resource] -albedo_color = Color( 0.054902, 0.329412, 0.329412, 1 ) +albedo_color = Color(0.054902, 0.329412, 0.329412, 1) metallic = 0.1 +distance_fade_mode = 2 +distance_fade_min_distance = 2.0 +distance_fade_max_distance = 3.0 diff --git a/3d/material_testers/models/test_bed/test_bed.glb.import b/3d/material_testers/models/test_bed/test_bed.glb.import index 59e42922..9e2b8e6a 100644 --- a/3d/material_testers/models/test_bed/test_bed.glb.import +++ b/3d/material_testers/models/test_bed/test_bed.glb.import @@ -3,7 +3,7 @@ importer="scene" importer_version=1 type="PackedScene" -uid="uid://b60ph1cdl0xlp" +uid="uid://c1qfemtam74fa" path="res://.godot/imported/test_bed.glb-1dd9b9600e1c429fe8be7609006ad0c1.scn" [deps] @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/test_bed.glb-1dd9b9600e1c429fe8be7609006ad0c1 nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 meshes/ensure_tangents=true meshes/generate_lods=true @@ -24,5 +25,6 @@ meshes/lightmap_texel_size=0.1 skins/use_named_skins=true animation/import=true animation/fps=15 +animation/trimming=false import_script/path="" _subresources={} diff --git a/3d/material_testers/models/test_bed/test_bed.tscn b/3d/material_testers/models/test_bed/test_bed.tscn index d39fad39..00cc2df5 100644 --- a/3d/material_testers/models/test_bed/test_bed.tscn +++ b/3d/material_testers/models/test_bed/test_bed.tscn @@ -1,21 +1,22 @@ [gd_scene load_steps=4 format=3 uid="uid://cgqfdwd4g5e14"] -[ext_resource type="PackedScene" uid="uid://b60ph1cdl0xlp" path="res://models/test_bed/test_bed.glb" id="1"] -[ext_resource type="Material" path="res://models/test_bed/small_material.tres" id="2"] -[ext_resource type="Material" path="res://models/test_bed/large_material.tres" id="3"] +[ext_resource type="PackedScene" uid="uid://c1qfemtam74fa" path="res://models/test_bed/test_bed.glb" id="1"] +[ext_resource type="Material" uid="uid://bh3dtgmpl7gv0" path="res://models/test_bed/small_material.tres" id="2"] +[ext_resource type="Material" uid="uid://1wd862s1kfdy" path="res://models/test_bed/large_material.tres" id="3"] -[node name="TestBed" instance=ExtResource( "1" )] +[node name="TestBed" instance=ExtResource("1")] [node name="SmallPart" parent="." index="0"] -surface_material_override/0 = ExtResource( "2" ) +surface_material_override/0 = ExtResource("2") [node name="LargePart" parent="." index="1"] -surface_material_override/0 = ExtResource( "3" ) +surface_material_override/0 = ExtResource("3") -[node name="SpotLight3D" type="SpotLight3D" parent="." index="2"] +[node name="SpotLight" type="SpotLight3D" parent="." index="2"] transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 5.5, 0) +light_energy = 1.5 shadow_enabled = true -spot_range = 10.0 -spot_attenuation = 0.1 -spot_angle = 35.0 -spot_angle_attenuation = 2.0 +shadow_bias = 0.02 +shadow_blur = 2.0 +spot_range = 15.0 +spot_angle = 31.8299 diff --git a/3d/material_testers/project.godot b/3d/material_testers/project.godot index a494d46e..110716cd 100644 --- a/3d/material_testers/project.godot +++ b/3d/material_testers/project.godot @@ -24,6 +24,10 @@ config/icon="res://icon.png" window/stretch/mode="canvas_items" window/stretch/aspect="expand" +[filesystem] + +import/blender/enabled=false + [gdnative] singletons=[] @@ -34,6 +38,11 @@ multithread/thread_rid_pool_prealloc=60 [rendering] +textures/default_filters/anisotropic_filtering_level=4 +anti_aliasing/quality/msaa_3d=2 +anti_aliasing/quality/use_debanding=true +lights_and_shadows/positional_shadow/atlas_size=2048 +lights_and_shadows/positional_shadow/atlas_size.mobile=1024 quality/driver/fallback_to_gles2=true quality/intended_usage/framebuffer_allocation=3 vram_compression/import_etc=true diff --git a/3d/material_testers/screenshots/material_testers.webp b/3d/material_testers/screenshots/material_testers.webp new file mode 100644 index 00000000..e8940a9f Binary files /dev/null and b/3d/material_testers/screenshots/material_testers.webp differ diff --git a/3d/material_testers/screenshots/mirror.png b/3d/material_testers/screenshots/mirror.png deleted file mode 100644 index 2e8ea597..00000000 Binary files a/3d/material_testers/screenshots/mirror.png and /dev/null differ diff --git a/3d/material_testers/screenshots/stones.png b/3d/material_testers/screenshots/stones.png deleted file mode 100644 index 9b2fa052..00000000 Binary files a/3d/material_testers/screenshots/stones.png and /dev/null differ diff --git a/3d/material_testers/test_materials/aluminium.tres b/3d/material_testers/test_materials/aluminium.tres new file mode 100644 index 00000000..db7a5d0a --- /dev/null +++ b/3d/material_testers/test_materials/aluminium.tres @@ -0,0 +1,15 @@ +[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://cg7l6w2h0aq22"] + +[ext_resource type="Texture2D" uid="uid://dsb01xyn6yui5" path="res://test_materials/aluminium_albedo.png" id="1"] +[ext_resource type="Texture2D" uid="uid://ds1h5kb3sbtqq" path="res://test_materials/aluminium_normal.png" id="2"] + +[resource] +albedo_texture = ExtResource("1") +metallic = 0.59 +roughness = 0.4 +normal_enabled = true +normal_scale = 0.21 +normal_texture = ExtResource("2") +anisotropy_enabled = true +anisotropy = 0.95 +texture_filter = 5 diff --git a/3d/material_testers/test_materials/aluminium_albedo.png.import b/3d/material_testers/test_materials/aluminium_albedo.png.import index bd56a511..f282ac0f 100644 --- a/3d/material_testers/test_materials/aluminium_albedo.png.import +++ b/3d/material_testers/test_materials/aluminium_albedo.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://b8o8fe1yoym4t" +uid="uid://dsb01xyn6yui5" path.s3tc="res://.godot/imported/aluminium_albedo.png-a68e22c8a951430ab431b2a7307e8bc7.s3tc.ctex" path.etc2="res://.godot/imported/aluminium_albedo.png-a68e22c8a951430ab431b2a7307e8bc7.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/aluminium_flow.png.import b/3d/material_testers/test_materials/aluminium_flow.png.import index d5788fa0..64ced8e0 100644 --- a/3d/material_testers/test_materials/aluminium_flow.png.import +++ b/3d/material_testers/test_materials/aluminium_flow.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bebdum2tiuopj" +uid="uid://cqlianda7xhoy" path.s3tc="res://.godot/imported/aluminium_flow.png-93fdac7ed0fa884674e32e5ec0c6d690.s3tc.ctex" path.etc2="res://.godot/imported/aluminium_flow.png-93fdac7ed0fa884674e32e5ec0c6d690.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/aluminium_normal.png.import b/3d/material_testers/test_materials/aluminium_normal.png.import index 805958a1..63dcfa31 100644 --- a/3d/material_testers/test_materials/aluminium_normal.png.import +++ b/3d/material_testers/test_materials/aluminium_normal.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://0546okw1k04b" +uid="uid://ds1h5kb3sbtqq" path.s3tc="res://.godot/imported/aluminium_normal.png-ff9bf84211f307b1d9e8bf86ebea04b1.s3tc.ctex" path.etc2="res://.godot/imported/aluminium_normal.png-ff9bf84211f307b1d9e8bf86ebea04b1.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/blue.tres b/3d/material_testers/test_materials/blue.tres new file mode 100644 index 00000000..2e16d4b6 --- /dev/null +++ b/3d/material_testers/test_materials/blue.tres @@ -0,0 +1,6 @@ +[gd_resource type="StandardMaterial3D" format=3 uid="uid://bbfkhkmct7wu3"] + +[resource] +albedo_color = Color(0.551806, 0.709299, 0.980989, 1) +metallic = 0.31 +roughness = 0.42 diff --git a/3d/material_testers/test_materials/brick.tres b/3d/material_testers/test_materials/brick.tres new file mode 100644 index 00000000..6504fec1 --- /dev/null +++ b/3d/material_testers/test_materials/brick.tres @@ -0,0 +1,26 @@ +[gd_resource type="StandardMaterial3D" load_steps=6 format=3 uid="uid://dfsu6vtygh0tc"] + +[ext_resource type="Texture2D" uid="uid://dyyjfu431yi7r" path="res://test_materials/texture_bricks_depth.jpg" id="1"] +[ext_resource type="Texture2D" uid="uid://cn6yat4b4mngn" path="res://test_materials/texture_bricks_normal.jpg" id="2"] +[ext_resource type="Texture2D" uid="uid://cmin1t2jofd3o" path="res://test_materials/texture_bricks_ao.jpg" id="2_geolo"] +[ext_resource type="Texture2D" uid="uid://d4l8oj2cmq330" path="res://test_materials/texture_bricks.jpg" id="3"] +[ext_resource type="Texture2D" uid="uid://4t1ufkncfbs3" path="res://test_materials/texture_bricks_metal.jpg" id="4"] + +[resource] +albedo_texture = ExtResource("3") +metallic = 1.0 +metallic_texture = ExtResource("4") +roughness = 0.56 +normal_enabled = true +normal_texture = ExtResource("2") +ao_enabled = true +ao_light_affect = 1.0 +ao_texture = ExtResource("2_geolo") +heightmap_enabled = true +heightmap_scale = 6.0 +heightmap_deep_parallax = true +heightmap_min_layers = 4 +heightmap_max_layers = 16 +heightmap_texture = ExtResource("1") +heightmap_flip_texture = true +texture_filter = 5 diff --git a/3d/material_testers/test_materials/cheese.tres b/3d/material_testers/test_materials/cheese.tres new file mode 100644 index 00000000..437bd1ed --- /dev/null +++ b/3d/material_testers/test_materials/cheese.tres @@ -0,0 +1,24 @@ +[gd_resource type="StandardMaterial3D" load_steps=5 format=3 uid="uid://dv76cxap5uj7y"] + +[ext_resource type="Texture2D" uid="uid://bbei0af7fjhkn" path="res://test_materials/texture_cheese_albedo.png" id="1"] +[ext_resource type="Texture2D" uid="uid://ckyituyfs02mo" path="res://test_materials/texture_cheese_depth.png" id="2"] +[ext_resource type="Texture2D" uid="uid://cwpdpjj628we6" path="res://test_materials/texture_cheese_ao.png" id="3"] +[ext_resource type="Texture2D" uid="uid://drcrcryt6g6al" path="res://test_materials/texture_cheese_normal.png" id="4"] + +[resource] +albedo_texture = ExtResource("1") +roughness = 0.64 +normal_enabled = true +normal_texture = ExtResource("4") +ao_enabled = true +ao_light_affect = 1.0 +ao_texture = ExtResource("3") +heightmap_enabled = true +heightmap_scale = 8.0 +heightmap_deep_parallax = true +heightmap_min_layers = 4 +heightmap_max_layers = 16 +heightmap_texture = ExtResource("2") +heightmap_flip_texture = true +subsurf_scatter_enabled = true +subsurf_scatter_strength = 0.37 diff --git a/3d/material_testers/test_materials/dark_wood.tres b/3d/material_testers/test_materials/dark_wood.tres new file mode 100644 index 00000000..74ef8371 --- /dev/null +++ b/3d/material_testers/test_materials/dark_wood.tres @@ -0,0 +1,10 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://djut62ilojfmq"] + +[ext_resource type="Texture2D" uid="uid://c8gaxgw81rn5m" path="res://test_materials/texture_wood.png" id="1"] + +[resource] +albedo_color = Color(0.806275, 0.575882, 0.361255, 1) +albedo_texture = ExtResource("1") +metallic = 0.48 +roughness = 0.28 +texture_filter = 5 diff --git a/3d/material_testers/test_materials/gray.tres b/3d/material_testers/test_materials/gray.tres new file mode 100644 index 00000000..50b136ad --- /dev/null +++ b/3d/material_testers/test_materials/gray.tres @@ -0,0 +1,6 @@ +[gd_resource type="StandardMaterial3D" format=3 uid="uid://d3u3snuqdn404"] + +[resource] +albedo_color = Color(0.471216, 0.481647, 0.465961, 1) +metallic = 0.1 +roughness = 0.0 diff --git a/3d/material_testers/test_materials/ice.tres b/3d/material_testers/test_materials/ice.tres new file mode 100644 index 00000000..67ff37f9 --- /dev/null +++ b/3d/material_testers/test_materials/ice.tres @@ -0,0 +1,18 @@ +[gd_resource type="StandardMaterial3D" load_steps=4 format=3 uid="uid://bv6dr534vwcr1"] + +[ext_resource type="Texture2D" uid="uid://cjiwyepmfaa2d" path="res://test_materials/rock_ao.jpg" id="1"] +[ext_resource type="Texture2D" uid="uid://hul3jcu52o8g" path="res://test_materials/rock_albedo.jpg" id="2"] +[ext_resource type="Texture2D" uid="uid://cyvm2mj4ibl0" path="res://test_materials/rock_metal.jpg" id="3"] + +[resource] +albedo_color = Color(1, 1, 1, 0) +albedo_texture = ExtResource("2") +metallic = 1.0 +roughness = 0.62 +normal_enabled = true +normal_texture = ExtResource("3") +ao_enabled = true +ao_texture = ExtResource("1") +refraction_enabled = true +refraction_scale = 0.04 +texture_filter = 5 diff --git a/3d/material_testers/test_materials/marble.tres b/3d/material_testers/test_materials/marble.tres new file mode 100644 index 00000000..330038f8 --- /dev/null +++ b/3d/material_testers/test_materials/marble.tres @@ -0,0 +1,14 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://c5oxndmf0jbu3"] + +[ext_resource type="Texture2D" uid="uid://d1lj5qylojp6o" path="res://test_materials/marble_albedo.png" id="1"] + +[resource] +diffuse_mode = 2 +albedo_texture = ExtResource("1") +metallic = 0.1 +roughness = 0.1 +rim_enabled = true +rim_tint = 0.7 +subsurf_scatter_enabled = true +subsurf_scatter_strength = 0.1 +texture_filter = 5 diff --git a/3d/material_testers/test_materials/marble_albedo.png.import b/3d/material_testers/test_materials/marble_albedo.png.import index 21401175..316a6859 100644 --- a/3d/material_testers/test_materials/marble_albedo.png.import +++ b/3d/material_testers/test_materials/marble_albedo.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c31bsq44dxyh1" +uid="uid://d1lj5qylojp6o" path.s3tc="res://.godot/imported/marble_albedo.png-47e5ec5352a78eb204ccaf317de65697.s3tc.ctex" path.etc2="res://.godot/imported/marble_albedo.png-47e5ec5352a78eb204ccaf317de65697.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/mirror.tres b/3d/material_testers/test_materials/mirror.tres new file mode 100644 index 00000000..89c7087b --- /dev/null +++ b/3d/material_testers/test_materials/mirror.tres @@ -0,0 +1,5 @@ +[gd_resource type="StandardMaterial3D" format=3 uid="uid://qpdv7evfgbyw"] + +[resource] +metallic = 1.0 +roughness = 0.02 diff --git a/3d/material_testers/test_materials/rock.tres b/3d/material_testers/test_materials/rock.tres new file mode 100644 index 00000000..f1ec64a0 --- /dev/null +++ b/3d/material_testers/test_materials/rock.tres @@ -0,0 +1,16 @@ +[gd_resource type="StandardMaterial3D" load_steps=5 format=3 uid="uid://dct7oit1go38a"] + +[ext_resource type="Texture2D" uid="uid://cjiwyepmfaa2d" path="res://test_materials/rock_ao.jpg" id="1"] +[ext_resource type="Texture2D" uid="uid://d28x4upsru550" path="res://test_materials/rock_rough.jpg" id="2"] +[ext_resource type="Texture2D" uid="uid://hul3jcu52o8g" path="res://test_materials/rock_albedo.jpg" id="3"] +[ext_resource type="Texture2D" uid="uid://cyvm2mj4ibl0" path="res://test_materials/rock_metal.jpg" id="4"] + +[resource] +albedo_texture = ExtResource("3") +metallic = 0.12 +roughness_texture = ExtResource("2") +normal_enabled = true +normal_texture = ExtResource("4") +ao_enabled = true +ao_texture = ExtResource("1") +texture_filter = 5 diff --git a/3d/material_testers/test_materials/rock_albedo.jpg.import b/3d/material_testers/test_materials/rock_albedo.jpg.import index 5a856dc0..a636401d 100644 --- a/3d/material_testers/test_materials/rock_albedo.jpg.import +++ b/3d/material_testers/test_materials/rock_albedo.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://7d4kolmsjw8b" +uid="uid://hul3jcu52o8g" path.s3tc="res://.godot/imported/rock_albedo.jpg-65fe78b8c7d44da07721bb783fdef67a.s3tc.ctex" path.etc2="res://.godot/imported/rock_albedo.jpg-65fe78b8c7d44da07721bb783fdef67a.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/rock_ao.jpg.import b/3d/material_testers/test_materials/rock_ao.jpg.import index 88b558bd..439a7069 100644 --- a/3d/material_testers/test_materials/rock_ao.jpg.import +++ b/3d/material_testers/test_materials/rock_ao.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://3m1hjc851lp4" +uid="uid://cjiwyepmfaa2d" path.s3tc="res://.godot/imported/rock_ao.jpg-7578b4ab1e595c076d796172ca68cfa6.s3tc.ctex" path.etc2="res://.godot/imported/rock_ao.jpg-7578b4ab1e595c076d796172ca68cfa6.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/rock_depth.jpg.import b/3d/material_testers/test_materials/rock_depth.jpg.import index f8e9ef81..8f046cba 100644 --- a/3d/material_testers/test_materials/rock_depth.jpg.import +++ b/3d/material_testers/test_materials/rock_depth.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c0dbkcj7pe743" +uid="uid://bh3iv3ep28dsq" path.s3tc="res://.godot/imported/rock_depth.jpg-4080fbc6202f837d0b0deef2c981bad4.s3tc.ctex" path.etc2="res://.godot/imported/rock_depth.jpg-4080fbc6202f837d0b0deef2c981bad4.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/rock_metal.jpg.import b/3d/material_testers/test_materials/rock_metal.jpg.import index bd4c1479..591f8ceb 100644 --- a/3d/material_testers/test_materials/rock_metal.jpg.import +++ b/3d/material_testers/test_materials/rock_metal.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://h1biny5hb4xc" +uid="uid://cyvm2mj4ibl0" path.s3tc="res://.godot/imported/rock_metal.jpg-8defa2e9d8169c7a08962c4d1f3e6354.s3tc.ctex" path.etc2="res://.godot/imported/rock_metal.jpg-8defa2e9d8169c7a08962c4d1f3e6354.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/rock_rough.jpg.import b/3d/material_testers/test_materials/rock_rough.jpg.import index fa45404c..901ce8b5 100644 --- a/3d/material_testers/test_materials/rock_rough.jpg.import +++ b/3d/material_testers/test_materials/rock_rough.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://1vmbgyaaju3v" +uid="uid://d28x4upsru550" path.s3tc="res://.godot/imported/rock_rough.jpg-a18116680c5cb62b9f0632460fe30f62.s3tc.ctex" path.etc2="res://.godot/imported/rock_rough.jpg-a18116680c5cb62b9f0632460fe30f62.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/sand_albedo.jpg.import b/3d/material_testers/test_materials/sand_albedo.jpg.import index ec6d8f47..7314f9ae 100644 --- a/3d/material_testers/test_materials/sand_albedo.jpg.import +++ b/3d/material_testers/test_materials/sand_albedo.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://babs1mrgolbcj" +uid="uid://8ccausxvepx" path.s3tc="res://.godot/imported/sand_albedo.jpg-c03140f13a9e6c9b1c6fe52f92bc0e1b.s3tc.ctex" path.etc2="res://.godot/imported/sand_albedo.jpg-c03140f13a9e6c9b1c6fe52f92bc0e1b.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/sand_metal.jpg.import b/3d/material_testers/test_materials/sand_metal.jpg.import index 06ede6a4..159544fa 100644 --- a/3d/material_testers/test_materials/sand_metal.jpg.import +++ b/3d/material_testers/test_materials/sand_metal.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cisvmvcj8c525" +uid="uid://d1cw5asi5uuhm" path.s3tc="res://.godot/imported/sand_metal.jpg-bc79f66c3e18060c7cbaa67c44681910.s3tc.ctex" path.etc2="res://.godot/imported/sand_metal.jpg-bc79f66c3e18060c7cbaa67c44681910.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/sand_normal.jpg.import b/3d/material_testers/test_materials/sand_normal.jpg.import index 5d232f94..7716d111 100644 --- a/3d/material_testers/test_materials/sand_normal.jpg.import +++ b/3d/material_testers/test_materials/sand_normal.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://xvn1ih5tbj6g" +uid="uid://cukid0fpw2pn0" path.s3tc="res://.godot/imported/sand_normal.jpg-7a18b411efc93de1cffd09e24f6336b4.s3tc.ctex" path.etc2="res://.godot/imported/sand_normal.jpg-7a18b411efc93de1cffd09e24f6336b4.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/sand_rough.jpg.import b/3d/material_testers/test_materials/sand_rough.jpg.import index bd0121eb..e0010ab5 100644 --- a/3d/material_testers/test_materials/sand_rough.jpg.import +++ b/3d/material_testers/test_materials/sand_rough.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bld3mlnaxf768" +uid="uid://dn11j7g5oa50e" path.s3tc="res://.godot/imported/sand_rough.jpg-14616e257ba8a3726af90b2162c4ea2b.s3tc.ctex" path.etc2="res://.godot/imported/sand_rough.jpg-14616e257ba8a3726af90b2162c4ea2b.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/sand_shine.jpg.import b/3d/material_testers/test_materials/sand_shine.jpg.import index f64e64b2..907377eb 100644 --- a/3d/material_testers/test_materials/sand_shine.jpg.import +++ b/3d/material_testers/test_materials/sand_shine.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bk70hojw2e0np" +uid="uid://2equgeouca2h" path="res://.godot/imported/sand_shine.jpg-616f02f6faeaa1d08b3581323d96b4d0.ctex" metadata={ "vram_texture": false diff --git a/3d/material_testers/test_materials/stones.tres b/3d/material_testers/test_materials/stones.tres new file mode 100644 index 00000000..b56c835e --- /dev/null +++ b/3d/material_testers/test_materials/stones.tres @@ -0,0 +1,26 @@ +[gd_resource type="StandardMaterial3D" load_steps=6 format=3 uid="uid://ca5id5w12cprn"] + +[ext_resource type="Texture2D" uid="uid://vmfa0wdc1t8n" path="res://test_materials/texture_rock_normal.png" id="1"] +[ext_resource type="Texture2D" uid="uid://c3x34kbl5riq5" path="res://test_materials/texture_rock_depth.png" id="2"] +[ext_resource type="Texture2D" uid="uid://cyqj8mjgx816d" path="res://test_materials/texture_rock_ao.png" id="3"] +[ext_resource type="Texture2D" uid="uid://drf5vk54emlea" path="res://test_materials/texture_rock_metal.png" id="4"] +[ext_resource type="Texture2D" uid="uid://chkhlqxtypsgd" path="res://test_materials/texture_rock_albedo.png" id="5"] + +[resource] +albedo_texture = ExtResource("5") +metallic = 0.86 +metallic_texture = ExtResource("4") +roughness = 0.47 +normal_enabled = true +normal_texture = ExtResource("1") +ao_enabled = true +ao_light_affect = 1.0 +ao_texture = ExtResource("3") +heightmap_enabled = true +heightmap_scale = 8.0 +heightmap_deep_parallax = true +heightmap_min_layers = 4 +heightmap_max_layers = 16 +heightmap_texture = ExtResource("2") +heightmap_flip_texture = true +texture_filter = 5 diff --git a/3d/material_testers/test_materials/texture_bricks.jpg.import b/3d/material_testers/test_materials/texture_bricks.jpg.import index d62e88f4..7599ce44 100644 --- a/3d/material_testers/test_materials/texture_bricks.jpg.import +++ b/3d/material_testers/test_materials/texture_bricks.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://w5wmopu8t6ya" +uid="uid://d4l8oj2cmq330" path.s3tc="res://.godot/imported/texture_bricks.jpg-c5a7a817bf05cfd9e63ae7aecdfad44c.s3tc.ctex" path.etc2="res://.godot/imported/texture_bricks.jpg-c5a7a817bf05cfd9e63ae7aecdfad44c.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_bricks_ao.jpg b/3d/material_testers/test_materials/texture_bricks_ao.jpg new file mode 100644 index 00000000..cd86bae2 Binary files /dev/null and b/3d/material_testers/test_materials/texture_bricks_ao.jpg differ diff --git a/3d/material_testers/test_materials/texture_bricks_ao.jpg.import b/3d/material_testers/test_materials/texture_bricks_ao.jpg.import new file mode 100644 index 00000000..865b7d27 --- /dev/null +++ b/3d/material_testers/test_materials/texture_bricks_ao.jpg.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmin1t2jofd3o" +path.s3tc="res://.godot/imported/texture_bricks_ao.jpg-b6772c3eac21780de75b61fb29d8df6b.s3tc.ctex" +path.etc2="res://.godot/imported/texture_bricks_ao.jpg-b6772c3eac21780de75b61fb29d8df6b.etc2.ctex" +metadata={ +"imported_formats": ["s3tc", "etc2"], +"vram_texture": true +} + +[deps] + +source_file="res://test_materials/texture_bricks_ao.jpg" +dest_files=["res://.godot/imported/texture_bricks_ao.jpg-b6772c3eac21780de75b61fb29d8df6b.s3tc.ctex", "res://.godot/imported/texture_bricks_ao.jpg-b6772c3eac21780de75b61fb29d8df6b.etc2.ctex"] + +[params] + +compress/mode=2 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/3d/material_testers/test_materials/texture_bricks_depth.jpg b/3d/material_testers/test_materials/texture_bricks_depth.jpg index c2259559..bf6c0b1a 100644 Binary files a/3d/material_testers/test_materials/texture_bricks_depth.jpg and b/3d/material_testers/test_materials/texture_bricks_depth.jpg differ diff --git a/3d/material_testers/test_materials/texture_bricks_depth.jpg.import b/3d/material_testers/test_materials/texture_bricks_depth.jpg.import index 057e7db2..4a4bb369 100644 --- a/3d/material_testers/test_materials/texture_bricks_depth.jpg.import +++ b/3d/material_testers/test_materials/texture_bricks_depth.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://lbhnr6ww3frm" +uid="uid://dyyjfu431yi7r" path.s3tc="res://.godot/imported/texture_bricks_depth.jpg-fed037b05656973f46c8d8fc0dae33d5.s3tc.ctex" path.etc2="res://.godot/imported/texture_bricks_depth.jpg-fed037b05656973f46c8d8fc0dae33d5.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_bricks_metal.jpg.import b/3d/material_testers/test_materials/texture_bricks_metal.jpg.import index ba41b7e8..ee67abc9 100644 --- a/3d/material_testers/test_materials/texture_bricks_metal.jpg.import +++ b/3d/material_testers/test_materials/texture_bricks_metal.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c2d4tyfl662ra" +uid="uid://4t1ufkncfbs3" path.s3tc="res://.godot/imported/texture_bricks_metal.jpg-0cfc783b7a5646c7f79c1bfc856a0169.s3tc.ctex" path.etc2="res://.godot/imported/texture_bricks_metal.jpg-0cfc783b7a5646c7f79c1bfc856a0169.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_bricks_normal.jpg.import b/3d/material_testers/test_materials/texture_bricks_normal.jpg.import index 77020b09..4a944041 100644 --- a/3d/material_testers/test_materials/texture_bricks_normal.jpg.import +++ b/3d/material_testers/test_materials/texture_bricks_normal.jpg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://baces1lcbjoxv" +uid="uid://cn6yat4b4mngn" path.s3tc="res://.godot/imported/texture_bricks_normal.jpg-605ba8666210a56b09eb0b2392bd6355.s3tc.ctex" path.etc2="res://.godot/imported/texture_bricks_normal.jpg-605ba8666210a56b09eb0b2392bd6355.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_cheese_albedo.png.import b/3d/material_testers/test_materials/texture_cheese_albedo.png.import index 2804d048..0f3c2886 100644 --- a/3d/material_testers/test_materials/texture_cheese_albedo.png.import +++ b/3d/material_testers/test_materials/texture_cheese_albedo.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://xu18ocodkbx7" +uid="uid://bbei0af7fjhkn" path.s3tc="res://.godot/imported/texture_cheese_albedo.png-47db78359d020535d042fccfe547c563.s3tc.ctex" path.etc2="res://.godot/imported/texture_cheese_albedo.png-47db78359d020535d042fccfe547c563.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_cheese_ao.png.import b/3d/material_testers/test_materials/texture_cheese_ao.png.import index 64727f27..6556630a 100644 --- a/3d/material_testers/test_materials/texture_cheese_ao.png.import +++ b/3d/material_testers/test_materials/texture_cheese_ao.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://65icecsss5vf" +uid="uid://cwpdpjj628we6" path.s3tc="res://.godot/imported/texture_cheese_ao.png-db37cd87a9560149bf42629f84a8517d.s3tc.ctex" path.etc2="res://.godot/imported/texture_cheese_ao.png-db37cd87a9560149bf42629f84a8517d.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_cheese_depth.png.import b/3d/material_testers/test_materials/texture_cheese_depth.png.import index 4af3db7e..5d30e8cd 100644 --- a/3d/material_testers/test_materials/texture_cheese_depth.png.import +++ b/3d/material_testers/test_materials/texture_cheese_depth.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://8o7dvpd64s0i" +uid="uid://ckyituyfs02mo" path.s3tc="res://.godot/imported/texture_cheese_depth.png-71cbe5ab2c9f4e2343f1082a376b299f.s3tc.ctex" path.etc2="res://.godot/imported/texture_cheese_depth.png-71cbe5ab2c9f4e2343f1082a376b299f.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_cheese_normal.png.import b/3d/material_testers/test_materials/texture_cheese_normal.png.import index 47e117ad..cf72546e 100644 --- a/3d/material_testers/test_materials/texture_cheese_normal.png.import +++ b/3d/material_testers/test_materials/texture_cheese_normal.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://7dpm3ud1syn" +uid="uid://drcrcryt6g6al" path.s3tc="res://.godot/imported/texture_cheese_normal.png-cfbb1f914512de34b962a84fd60e3641.s3tc.ctex" path.etc2="res://.godot/imported/texture_cheese_normal.png-cfbb1f914512de34b962a84fd60e3641.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_rock_albedo.png.import b/3d/material_testers/test_materials/texture_rock_albedo.png.import index cbf33b7f..7f56cf30 100644 --- a/3d/material_testers/test_materials/texture_rock_albedo.png.import +++ b/3d/material_testers/test_materials/texture_rock_albedo.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://dll713t0m0b6k" +uid="uid://chkhlqxtypsgd" path.s3tc="res://.godot/imported/texture_rock_albedo.png-02df27b2a7e2344422e9ac7cdaec70ee.s3tc.ctex" path.etc2="res://.godot/imported/texture_rock_albedo.png-02df27b2a7e2344422e9ac7cdaec70ee.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_rock_ao.png.import b/3d/material_testers/test_materials/texture_rock_ao.png.import index 041e90fb..f22b065c 100644 --- a/3d/material_testers/test_materials/texture_rock_ao.png.import +++ b/3d/material_testers/test_materials/texture_rock_ao.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cg1wtsuae0lmc" +uid="uid://cyqj8mjgx816d" path.s3tc="res://.godot/imported/texture_rock_ao.png-b7008000c4f1458c49be4996848f1a6e.s3tc.ctex" path.etc2="res://.godot/imported/texture_rock_ao.png-b7008000c4f1458c49be4996848f1a6e.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_rock_depth.png.import b/3d/material_testers/test_materials/texture_rock_depth.png.import index cc177c4b..977795ab 100644 --- a/3d/material_testers/test_materials/texture_rock_depth.png.import +++ b/3d/material_testers/test_materials/texture_rock_depth.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://x5qdkxkf4tmq" +uid="uid://c3x34kbl5riq5" path.s3tc="res://.godot/imported/texture_rock_depth.png-e02f2dbd984045ed2373ac9f5ad46460.s3tc.ctex" path.etc2="res://.godot/imported/texture_rock_depth.png-e02f2dbd984045ed2373ac9f5ad46460.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_rock_metal.png.import b/3d/material_testers/test_materials/texture_rock_metal.png.import index 5701c983..5940c9e6 100644 --- a/3d/material_testers/test_materials/texture_rock_metal.png.import +++ b/3d/material_testers/test_materials/texture_rock_metal.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bte0rsu3bcmxa" +uid="uid://drf5vk54emlea" path.s3tc="res://.godot/imported/texture_rock_metal.png-53fdacd914e7bfa258d07a88f0644507.s3tc.ctex" path.etc2="res://.godot/imported/texture_rock_metal.png-53fdacd914e7bfa258d07a88f0644507.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_rock_normal.png.import b/3d/material_testers/test_materials/texture_rock_normal.png.import index ad283737..183b4b3e 100644 --- a/3d/material_testers/test_materials/texture_rock_normal.png.import +++ b/3d/material_testers/test_materials/texture_rock_normal.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://dqhvdd867nvjm" +uid="uid://vmfa0wdc1t8n" path.s3tc="res://.godot/imported/texture_rock_normal.png-c5ae054e70e4a6414518c2178ea9b0b7.s3tc.ctex" path.etc2="res://.godot/imported/texture_rock_normal.png-c5ae054e70e4a6414518c2178ea9b0b7.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/texture_wood.png.import b/3d/material_testers/test_materials/texture_wood.png.import index f1067913..e1e922c3 100644 --- a/3d/material_testers/test_materials/texture_wood.png.import +++ b/3d/material_testers/test_materials/texture_wood.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://b3efpr0uwln6w" +uid="uid://c8gaxgw81rn5m" path.s3tc="res://.godot/imported/texture_wood.png-e3109b4e15fb09c6edce5029c4f30771.s3tc.ctex" path.etc2="res://.godot/imported/texture_wood.png-e3109b4e15fb09c6edce5029c4f30771.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/toon.tres b/3d/material_testers/test_materials/toon.tres new file mode 100644 index 00000000..8267b822 --- /dev/null +++ b/3d/material_testers/test_materials/toon.tres @@ -0,0 +1,15 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://y4yhjq6ftc3l"] + +[sub_resource type="StandardMaterial3D" id="1"] +cull_mode = 1 +shading_mode = 0 +albedo_color = Color(0.24, 0.076, 0, 1) +grow = true +grow_amount = 0.03 + +[resource] +next_pass = SubResource("1") +specular_mode = 1 +albedo_color = Color(0.905882, 0.356863, 0.0980392, 1) +metallic_specular = 0.0 +roughness = 0.04 diff --git a/3d/material_testers/test_materials/wet_sand.tres b/3d/material_testers/test_materials/wet_sand.tres new file mode 100644 index 00000000..d6cc07da --- /dev/null +++ b/3d/material_testers/test_materials/wet_sand.tres @@ -0,0 +1,16 @@ +[gd_resource type="StandardMaterial3D" load_steps=5 format=3 uid="uid://bx0jnmhhr8qwh"] + +[ext_resource type="Texture2D" uid="uid://8ccausxvepx" path="res://test_materials/sand_albedo.jpg" id="1"] +[ext_resource type="Texture2D" uid="uid://d1cw5asi5uuhm" path="res://test_materials/sand_metal.jpg" id="2"] +[ext_resource type="Texture2D" uid="uid://dn11j7g5oa50e" path="res://test_materials/sand_rough.jpg" id="3"] +[ext_resource type="Texture2D" uid="uid://cukid0fpw2pn0" path="res://test_materials/sand_normal.jpg" id="4"] + +[resource] +albedo_texture = ExtResource("1") +metallic = 1.0 +metallic_texture = ExtResource("2") +roughness_texture = ExtResource("3") +normal_enabled = true +normal_scale = 0.43 +normal_texture = ExtResource("4") +texture_filter = 5 diff --git a/3d/material_testers/test_materials/white.tres b/3d/material_testers/test_materials/white.tres new file mode 100644 index 00000000..e44bd7ea --- /dev/null +++ b/3d/material_testers/test_materials/white.tres @@ -0,0 +1,6 @@ +[gd_resource type="StandardMaterial3D" format=3 uid="uid://b0qkg55h84i3f"] + +[resource] +albedo_color = Color(0.895294, 0.900549, 0.890078, 1) +metallic = 0.1 +roughness = 0.52 diff --git a/3d/material_testers/test_materials/white_plastic.tres b/3d/material_testers/test_materials/white_plastic.tres new file mode 100644 index 00000000..4328b1e2 --- /dev/null +++ b/3d/material_testers/test_materials/white_plastic.tres @@ -0,0 +1,5 @@ +[gd_resource type="SpatialMaterial" format=2] + +[resource] +metallic = 0.4 +roughness = 0.35 diff --git a/3d/material_testers/test_materials/wool.tres b/3d/material_testers/test_materials/wool.tres new file mode 100644 index 00000000..9f60cb04 --- /dev/null +++ b/3d/material_testers/test_materials/wool.tres @@ -0,0 +1,21 @@ +[gd_resource type="StandardMaterial3D" load_steps=4 format=3 uid="uid://dtui5o3potpen"] + +[ext_resource type="Texture2D" uid="uid://bayryamoxiov5" path="res://test_materials/wool_depth.png" id="1"] +[ext_resource type="Texture2D" uid="uid://b0t0oeh8bp1iv" path="res://test_materials/wool_normal.png" id="2"] +[ext_resource type="Texture2D" uid="uid://bmdw1rtlv8ij3" path="res://test_materials/wool_albedo.png" id="3"] + +[resource] +albedo_texture = ExtResource("3") +metallic = 0.1 +roughness = 0.77 +normal_enabled = true +normal_scale = 0.3 +normal_texture = ExtResource("2") +heightmap_enabled = true +heightmap_scale = 6.0 +heightmap_deep_parallax = true +heightmap_min_layers = 4 +heightmap_max_layers = 16 +heightmap_texture = ExtResource("1") +heightmap_flip_texture = true +texture_filter = 5 diff --git a/3d/material_testers/test_materials/wool_albedo.png.import b/3d/material_testers/test_materials/wool_albedo.png.import index 908f6421..76d8edda 100644 --- a/3d/material_testers/test_materials/wool_albedo.png.import +++ b/3d/material_testers/test_materials/wool_albedo.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://do34kmmykk6gf" +uid="uid://bmdw1rtlv8ij3" path.s3tc="res://.godot/imported/wool_albedo.png-a41e4f37762b4ccb66c8b36c42febef1.s3tc.ctex" path.etc2="res://.godot/imported/wool_albedo.png-a41e4f37762b4ccb66c8b36c42febef1.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/wool_depth.png b/3d/material_testers/test_materials/wool_depth.png index 85711f7f..bfa1fbf3 100644 Binary files a/3d/material_testers/test_materials/wool_depth.png and b/3d/material_testers/test_materials/wool_depth.png differ diff --git a/3d/material_testers/test_materials/wool_depth.png.import b/3d/material_testers/test_materials/wool_depth.png.import index 1f7caaac..2ec15cd1 100644 --- a/3d/material_testers/test_materials/wool_depth.png.import +++ b/3d/material_testers/test_materials/wool_depth.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://b45auu1apiq0g" +uid="uid://bayryamoxiov5" path.s3tc="res://.godot/imported/wool_depth.png-47d3fa1d6b4aa0857f735cbad6b1556e.s3tc.ctex" path.etc2="res://.godot/imported/wool_depth.png-47d3fa1d6b4aa0857f735cbad6b1556e.etc2.ctex" metadata={ diff --git a/3d/material_testers/test_materials/wool_normal.png.import b/3d/material_testers/test_materials/wool_normal.png.import index 9e53514b..e5d1dc3b 100644 --- a/3d/material_testers/test_materials/wool_normal.png.import +++ b/3d/material_testers/test_materials/wool_normal.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cc44l0alh6gr4" +uid="uid://b0t0oeh8bp1iv" path.s3tc="res://.godot/imported/wool_normal.png-e7a5ef7bc0ad8d444a32a136bf5d4f12.s3tc.ctex" path.etc2="res://.godot/imported/wool_normal.png-e7a5ef7bc0ad8d444a32a136bf5d4f12.etc2.ctex" metadata={ diff --git a/3d/material_testers/tester.gd b/3d/material_testers/tester.gd index bca52981..362d5c16 100644 --- a/3d/material_testers/tester.gd +++ b/3d/material_testers/tester.gd @@ -4,72 +4,94 @@ const INTERP_SPEED = 2 const ROT_SPEED = 0.003 const ZOOM_SPEED = 0.1 const ZOOM_MAX = 2.5 -const MAIN_BUTTONS = MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT | MOUSE_BUTTON_MASK_MIDDLE +const MAIN_BUTTONS = MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_MIDDLE | MOUSE_BUTTON_MASK_RIGHT var tester_index = 0 -var rot_x = -0.5 # This must be kept in sync with RotationX. -var rot_y = -0.5 # This must be kept in sync with CameraHolder. +var rot_x = -0.5 # This must be kept in sync with RotationX. +var rot_y = -0.5 # This must be kept in sync with CameraHolder. var zoom = 5 var base_height = ProjectSettings.get_setting("display/window/size/viewport_height") var backgrounds = [ - { path = "res://backgrounds/schelde.hdr", name = "Riverside"}, - { path = "res://backgrounds/lobby.hdr", name = "Lobby"}, - { path = "res://backgrounds/park.hdr", name = "Park"}, - { path = "res://backgrounds/night.hdr", name = "Night"}, - { path = "res://backgrounds/experiment.hdr", name = "Experiment"}, + { path = "res://backgrounds/schelde.hdr", name = "Riverside" }, + { path = "res://backgrounds/lobby.hdr", name = "Lobby" }, + { path = "res://backgrounds/park.hdr", name = "Park" }, + { path = "res://backgrounds/night.hdr", name = "Night" }, + { path = "res://backgrounds/experiment.hdr", name = "Experiment" }, ] -@onready var testers = $Testers -@onready var material_name = $UI/MaterialName +@onready var testers: Node3D = $Testers +@onready var material_name: Label = $UI/MaterialName -@onready var camera_holder = $CameraHolder # Has a position and rotates on Y. -@onready var rotation_x = $CameraHolder/RotationX -@onready var camera = $CameraHolder/RotationX/Camera3D +@onready var camera_holder: Node3D = $CameraHolder # Has a position and rotates on Y. +@onready var rotation_x: Node3D = $CameraHolder/RotationX +@onready var camera: Camera3D = $CameraHolder/RotationX/Camera func _ready(): for background in backgrounds: get_node(^"UI/Background").add_item(background.name) + update_gui() -func _unhandled_input(ev): - if ev is InputEventMouseButton: - if ev.button_index == MOUSE_BUTTON_WHEEL_UP: + +func _unhandled_input(event): + if event.is_action_pressed("ui_left"): + _on_previous_pressed() + if event.is_action_pressed("ui_right"): + _on_next_pressed() + + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_WHEEL_UP: zoom -= ZOOM_SPEED - if ev.button_index == MOUSE_BUTTON_WHEEL_DOWN: + if event.button_index == MOUSE_BUTTON_WHEEL_DOWN: zoom += ZOOM_SPEED zoom = clamp(zoom, 2, 8) camera.position.z = zoom - if ev is InputEventMouseMotion and ev.button_mask & MAIN_BUTTONS: + if event is InputEventMouseMotion and event.button_mask & MAIN_BUTTONS: # Compensate motion speed to be resolution-independent (based on the window height). - var relative_motion = ev.relative * get_viewport().size.y / base_height + var relative_motion = event.relative * DisplayServer.window_get_size().y / base_height rot_y -= relative_motion.x * ROT_SPEED rot_x -= relative_motion.y * ROT_SPEED - rot_y = clamp(rot_y, -1.6, 1.6) - rot_x = clamp(rot_x, -1.4, 0.5) + rot_x = clamp(rot_x, -1.4, 0.45) camera_holder.transform.basis = Basis.from_euler(Vector3(0, rot_y, 0)) rotation_x.transform.basis = Basis.from_euler(Vector3(rot_x, 0, 0)) func _process(delta): var current_tester = testers.get_child(tester_index) - material_name.text = String(current_tester.get_name()) # This code assumes CameraHolder's Y and Z coordinates are already correct. var target_position = current_tester.transform.origin.x var current_position = camera_holder.transform.origin.x camera_holder.transform.origin.x = lerp(current_position, target_position, INTERP_SPEED * delta) -func _on_Previous_pressed(): +func _on_previous_pressed(): if tester_index > 0: tester_index -= 1 + update_gui() -func _on_Next_pressed(): - if tester_index < testers.get_child_count() -1: + +func _on_next_pressed(): + if tester_index < testers.get_child_count() - 1: tester_index += 1 + update_gui() + + +func update_gui(): + var current_tester = testers.get_child(tester_index) + material_name.text = current_tester.get_name() + $UI/Previous.disabled = tester_index == 0 + $UI/Next.disabled = tester_index == testers.get_child_count() - 1 + func _on_bg_item_selected(index): - get_node(^"WorldEnvironment").environment.sky.sky_material.panorama = load(backgrounds[index].path) + var sky_material : PanoramaSkyMaterial = $WorldEnvironment.environment.sky.sky_material + + sky_material.panorama = load(backgrounds[index].path) + + +func _on_quit_pressed(): + get_tree().quit()