Update and improve Material Testers for Godot 4.0 (#823)

Co-authored-by: Bastiaan Olij <mux213@gmail.com>
This commit is contained in:
Hugo Locurcio
2023-01-17 21:38:15 +01:00
committed by GitHub
parent 2c2c89e040
commit 6bdf4cd06e
75 changed files with 632 additions and 378 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

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

View File

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

Binary file not shown.

View File

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

Binary file not shown.

Binary file not shown.

View File

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

View File

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

View File

@@ -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={}

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 KiB

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,5 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://qpdv7evfgbyw"]
[resource]
metallic = 1.0
roughness = 0.02

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 KiB

After

Width:  |  Height:  |  Size: 148 KiB

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,5 @@
[gd_resource type="SpatialMaterial" format=2]
[resource]
metallic = 0.4
roughness = 0.35

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 723 KiB

After

Width:  |  Height:  |  Size: 334 KiB

View File

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

View File

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

View File

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