commit 47a1d8ee591a674b94f3db4f15f2fab3f98b486a Author: cow Date: Tue Jun 18 14:25:56 2024 -0400 Player w gravity, rooms, physics, graphics diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4709183 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Godot 4+ specific ignores +.godot/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/addons/godot-jolt/LICENSE.txt b/addons/godot-jolt/LICENSE.txt new file mode 100644 index 0000000..2675022 --- /dev/null +++ b/addons/godot-jolt/LICENSE.txt @@ -0,0 +1,18 @@ +Copyright (c) Mikael Hermansson and Godot Jolt contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/addons/godot-jolt/THIRDPARTY.txt b/addons/godot-jolt/THIRDPARTY.txt new file mode 100644 index 0000000..e294095 --- /dev/null +++ b/addons/godot-jolt/THIRDPARTY.txt @@ -0,0 +1,91 @@ +Godot Jolt incorporates third-party material from the projects listed below. + +Godot Engine (https://github.com/godotengine/godot) + + Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). + Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +godot-cpp (https://github.com/godot-jolt/godot-cpp) + + Copyright (c) 2017-present Godot Engine contributors. + Copyright (c) 2022-present Mikael Hermansson. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +Jolt Physics (https://github.com/godot-jolt/jolt) + + Copyright (c) 2021 Jorrit Rouwe. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + +mimalloc (https://github.com/godot-jolt/mimalloc) + + Copyright (c) 2018-2021 Microsoft Corporation, Daan Leijen. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. diff --git a/addons/godot-jolt/android/libgodot-jolt_android-arm32.so b/addons/godot-jolt/android/libgodot-jolt_android-arm32.so new file mode 100644 index 0000000..5282da6 Binary files /dev/null and b/addons/godot-jolt/android/libgodot-jolt_android-arm32.so differ diff --git a/addons/godot-jolt/android/libgodot-jolt_android-arm32_editor.so b/addons/godot-jolt/android/libgodot-jolt_android-arm32_editor.so new file mode 100644 index 0000000..2430955 Binary files /dev/null and b/addons/godot-jolt/android/libgodot-jolt_android-arm32_editor.so differ diff --git a/addons/godot-jolt/android/libgodot-jolt_android-arm64.so b/addons/godot-jolt/android/libgodot-jolt_android-arm64.so new file mode 100644 index 0000000..6b79392 Binary files /dev/null and b/addons/godot-jolt/android/libgodot-jolt_android-arm64.so differ diff --git a/addons/godot-jolt/android/libgodot-jolt_android-arm64_editor.so b/addons/godot-jolt/android/libgodot-jolt_android-arm64_editor.so new file mode 100644 index 0000000..95d6b26 Binary files /dev/null and b/addons/godot-jolt/android/libgodot-jolt_android-arm64_editor.so differ diff --git a/addons/godot-jolt/android/libgodot-jolt_android-x64.so b/addons/godot-jolt/android/libgodot-jolt_android-x64.so new file mode 100644 index 0000000..4e4882e Binary files /dev/null and b/addons/godot-jolt/android/libgodot-jolt_android-x64.so differ diff --git a/addons/godot-jolt/android/libgodot-jolt_android-x64_editor.so b/addons/godot-jolt/android/libgodot-jolt_android-x64_editor.so new file mode 100644 index 0000000..e93e93a Binary files /dev/null and b/addons/godot-jolt/android/libgodot-jolt_android-x64_editor.so differ diff --git a/addons/godot-jolt/android/libgodot-jolt_android-x86.so b/addons/godot-jolt/android/libgodot-jolt_android-x86.so new file mode 100644 index 0000000..485fa22 Binary files /dev/null and b/addons/godot-jolt/android/libgodot-jolt_android-x86.so differ diff --git a/addons/godot-jolt/android/libgodot-jolt_android-x86_editor.so b/addons/godot-jolt/android/libgodot-jolt_android-x86_editor.so new file mode 100644 index 0000000..a061017 Binary files /dev/null and b/addons/godot-jolt/android/libgodot-jolt_android-x86_editor.so differ diff --git a/addons/godot-jolt/godot-jolt.gdextension b/addons/godot-jolt/godot-jolt.gdextension new file mode 100644 index 0000000..e866e8b --- /dev/null +++ b/addons/godot-jolt/godot-jolt.gdextension @@ -0,0 +1,36 @@ +[configuration] + +entry_symbol = "godot_jolt_main" +compatibility_minimum = "4.2" + +[libraries] + +windows.release.x86_64 = "windows/godot-jolt_windows-x64.dll" +windows.debug.x86_64 = "windows/godot-jolt_windows-x64_editor.dll" + +windows.release.x86_32 = "windows/godot-jolt_windows-x86.dll" +windows.debug.x86_32 = "windows/godot-jolt_windows-x86_editor.dll" + +linux.release.x86_64 = "linux/godot-jolt_linux-x64.so" +linux.debug.x86_64 = "linux/godot-jolt_linux-x64_editor.so" + +linux.release.x86_32 = "linux/godot-jolt_linux-x86.so" +linux.debug.x86_32 = "linux/godot-jolt_linux-x86_editor.so" + +macos.release = "macos/godot-jolt_macos.framework" +macos.debug = "macos/godot-jolt_macos_editor.framework" + +ios.release = "ios/godot-jolt_ios.framework" +ios.debug = "ios/godot-jolt_ios_editor.framework" + +android.release.arm64 = "android/libgodot-jolt_android-arm64.so" +android.debug.arm64 = "android/libgodot-jolt_android-arm64_editor.so" + +android.release.arm32 = "android/libgodot-jolt_android-arm32.so" +android.debug.arm32 = "android/libgodot-jolt_android-arm32_editor.so" + +android.release.x86_64 = "android/libgodot-jolt_android-x64.so" +android.debug.x86_64 = "android/libgodot-jolt_android-x64_editor.so" + +android.release.x86_32 = "android/libgodot-jolt_android-x86.so" +android.debug.x86_32 = "android/libgodot-jolt_android-x86_editor.so" diff --git a/addons/godot-jolt/ios/godot-jolt_ios.framework/Info.plist b/addons/godot-jolt/ios/godot-jolt_ios.framework/Info.plist new file mode 100644 index 0000000..68ab9f6 --- /dev/null +++ b/addons/godot-jolt/ios/godot-jolt_ios.framework/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleDevelopmentRegion + en + CFBundleExecutable + godot-jolt_ios + CFBundleName + Godot Jolt + CFBundleDisplayName + Godot Jolt + CFBundleIdentifier + org.godot-jolt.godot-jolt + NSHumanReadableCopyright + Copyright (c) Mikael Hermansson and Godot Jolt contributors. + CFBundleVersion + 0.12.0 + CFBundleShortVersionString + 0.12.0 + CFBundlePackageType + FMWK + CSResourcesFileMapped + + DTPlatformName + iphoneos + MinimumOSVersion + 12.0 + + diff --git a/addons/godot-jolt/ios/godot-jolt_ios.framework/godot-jolt_ios b/addons/godot-jolt/ios/godot-jolt_ios.framework/godot-jolt_ios new file mode 100644 index 0000000..37c9d5a Binary files /dev/null and b/addons/godot-jolt/ios/godot-jolt_ios.framework/godot-jolt_ios differ diff --git a/addons/godot-jolt/ios/godot-jolt_ios_editor.framework/Info.plist b/addons/godot-jolt/ios/godot-jolt_ios_editor.framework/Info.plist new file mode 100644 index 0000000..f3c28dc --- /dev/null +++ b/addons/godot-jolt/ios/godot-jolt_ios_editor.framework/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleDevelopmentRegion + en + CFBundleExecutable + godot-jolt_ios_editor + CFBundleName + Godot Jolt + CFBundleDisplayName + Godot Jolt + CFBundleIdentifier + org.godot-jolt.godot-jolt + NSHumanReadableCopyright + Copyright (c) Mikael Hermansson and Godot Jolt contributors. + CFBundleVersion + 0.12.0 + CFBundleShortVersionString + 0.12.0 + CFBundlePackageType + FMWK + CSResourcesFileMapped + + DTPlatformName + iphoneos + MinimumOSVersion + 12.0 + + diff --git a/addons/godot-jolt/ios/godot-jolt_ios_editor.framework/godot-jolt_ios_editor b/addons/godot-jolt/ios/godot-jolt_ios_editor.framework/godot-jolt_ios_editor new file mode 100644 index 0000000..9e8140c Binary files /dev/null and b/addons/godot-jolt/ios/godot-jolt_ios_editor.framework/godot-jolt_ios_editor differ diff --git a/addons/godot-jolt/linux/godot-jolt_linux-x64.so b/addons/godot-jolt/linux/godot-jolt_linux-x64.so new file mode 100644 index 0000000..364242d Binary files /dev/null and b/addons/godot-jolt/linux/godot-jolt_linux-x64.so differ diff --git a/addons/godot-jolt/linux/godot-jolt_linux-x64_editor.so b/addons/godot-jolt/linux/godot-jolt_linux-x64_editor.so new file mode 100644 index 0000000..4ad0285 Binary files /dev/null and b/addons/godot-jolt/linux/godot-jolt_linux-x64_editor.so differ diff --git a/addons/godot-jolt/linux/godot-jolt_linux-x86.so b/addons/godot-jolt/linux/godot-jolt_linux-x86.so new file mode 100644 index 0000000..ad7d2be Binary files /dev/null and b/addons/godot-jolt/linux/godot-jolt_linux-x86.so differ diff --git a/addons/godot-jolt/linux/godot-jolt_linux-x86_editor.so b/addons/godot-jolt/linux/godot-jolt_linux-x86_editor.so new file mode 100644 index 0000000..e639d07 Binary files /dev/null and b/addons/godot-jolt/linux/godot-jolt_linux-x86_editor.so differ diff --git a/addons/godot-jolt/macos/godot-jolt_macos.framework/Resources/Info.plist b/addons/godot-jolt/macos/godot-jolt_macos.framework/Resources/Info.plist new file mode 100644 index 0000000..f88e713 --- /dev/null +++ b/addons/godot-jolt/macos/godot-jolt_macos.framework/Resources/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleDevelopmentRegion + en + CFBundleExecutable + godot-jolt_macos + CFBundleName + Godot Jolt + CFBundleDisplayName + Godot Jolt + CFBundleIdentifier + org.godot-jolt.godot-jolt + NSHumanReadableCopyright + Copyright (c) Mikael Hermansson and Godot Jolt contributors. + CFBundleVersion + 0.12.0 + CFBundleShortVersionString + 0.12.0 + CFBundlePackageType + FMWK + CSResourcesFileMapped + + DTPlatformName + macosx + LSMinimumSystemVersion + 10.12 + + diff --git a/addons/godot-jolt/macos/godot-jolt_macos.framework/_CodeSignature/CodeResources b/addons/godot-jolt/macos/godot-jolt_macos.framework/_CodeSignature/CodeResources new file mode 100644 index 0000000..cb463f5 --- /dev/null +++ b/addons/godot-jolt/macos/godot-jolt_macos.framework/_CodeSignature/CodeResources @@ -0,0 +1,128 @@ + + + + + files + + Resources/Info.plist + + HxpaqrKUN+D+lkF90Phqlb+CZKo= + + + files2 + + Resources/Info.plist + + hash2 + + ZTtvl19PLRzCoTuDRMZ2FnJXIXsLYRhaBFxjroNsLDw= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/addons/godot-jolt/macos/godot-jolt_macos.framework/godot-jolt_macos b/addons/godot-jolt/macos/godot-jolt_macos.framework/godot-jolt_macos new file mode 100644 index 0000000..1d5bd24 Binary files /dev/null and b/addons/godot-jolt/macos/godot-jolt_macos.framework/godot-jolt_macos differ diff --git a/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/Resources/Info.plist b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/Resources/Info.plist new file mode 100644 index 0000000..ac10d93 --- /dev/null +++ b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/Resources/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleDevelopmentRegion + en + CFBundleExecutable + godot-jolt_macos_editor + CFBundleName + Godot Jolt + CFBundleDisplayName + Godot Jolt + CFBundleIdentifier + org.godot-jolt.godot-jolt + NSHumanReadableCopyright + Copyright (c) Mikael Hermansson and Godot Jolt contributors. + CFBundleVersion + 0.12.0 + CFBundleShortVersionString + 0.12.0 + CFBundlePackageType + FMWK + CSResourcesFileMapped + + DTPlatformName + macosx + LSMinimumSystemVersion + 10.12 + + diff --git a/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/CodeResources b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/CodeResources new file mode 100644 index 0000000..4b087b4 --- /dev/null +++ b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/CodeResources @@ -0,0 +1,128 @@ + + + + + files + + Resources/Info.plist + + CpU1kp9qZhdCVqKdSia+981vm40= + + + files2 + + Resources/Info.plist + + hash2 + + 4CTRXI34pj3JIJzQDUUZTlAagKWQeohPQN20M0VCK4o= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/godot-jolt_macos_editor b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/godot-jolt_macos_editor new file mode 100644 index 0000000..3787fa9 Binary files /dev/null and b/addons/godot-jolt/macos/godot-jolt_macos_editor.framework/godot-jolt_macos_editor differ diff --git a/addons/godot-jolt/windows/godot-jolt_windows-x64.dll b/addons/godot-jolt/windows/godot-jolt_windows-x64.dll new file mode 100644 index 0000000..ce010d6 Binary files /dev/null and b/addons/godot-jolt/windows/godot-jolt_windows-x64.dll differ diff --git a/addons/godot-jolt/windows/godot-jolt_windows-x64_editor.dll b/addons/godot-jolt/windows/godot-jolt_windows-x64_editor.dll new file mode 100644 index 0000000..9ed5550 Binary files /dev/null and b/addons/godot-jolt/windows/godot-jolt_windows-x64_editor.dll differ diff --git a/addons/godot-jolt/windows/godot-jolt_windows-x86.dll b/addons/godot-jolt/windows/godot-jolt_windows-x86.dll new file mode 100644 index 0000000..b6c44f7 Binary files /dev/null and b/addons/godot-jolt/windows/godot-jolt_windows-x86.dll differ diff --git a/addons/godot-jolt/windows/godot-jolt_windows-x86_editor.dll b/addons/godot-jolt/windows/godot-jolt_windows-x86_editor.dll new file mode 100644 index 0000000..7312494 Binary files /dev/null and b/addons/godot-jolt/windows/godot-jolt_windows-x86_editor.dll differ diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..1451cac --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,39 @@ +[preset.0] + +name="CAWEZ_Puzzlebox" +platform="Linux/X11" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../Desktop/CAWEZ/CAWEZ_Puzzlebox.x86_64" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +binary_format/architecture="x86_64" +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="#!/usr/bin/env bash +export DISPLAY=:0 +unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" +\"{temp_dir}/{exe_name}\" {cmd_args}" +ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash +kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") +rm -rf \"{temp_dir}\"" diff --git a/globals.gd b/globals.gd new file mode 100644 index 0000000..cbd55db --- /dev/null +++ b/globals.gd @@ -0,0 +1,13 @@ +extends Node + +var global_down = Vector3(0,0,0) +var sensitivity = 0.004 + +func _ready(): + set_global_down(Vector3(0,-1,0)) + +func set_global_down(newDown: Vector3): + global_down = newDown.normalized() + if global_down.dot(Vector3.UP) == 1 || global_down.dot(Vector3.DOWN) == 1: + # Applies jitter + global_down += Vector3(0.01,0,0) diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..3fe4f4a --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..6fb19b7 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bamlg2c8avrdx" +path.s3tc="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/player/player_model.blend b/player/player_model.blend new file mode 100644 index 0000000..9a73698 Binary files /dev/null and b/player/player_model.blend differ diff --git a/player/player_model.blend.import b/player/player_model.blend.import new file mode 100644 index 0000000..8ecf8d7 --- /dev/null +++ b/player/player_model.blend.import @@ -0,0 +1,50 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://b63mupr1u2nq0" +path="res://.godot/imported/player_model.blend-e827f74075107e5c935a1df2bc1df101.scn" + +[deps] + +source_file="res://player/player_model.blend" +dest_files=["res://.godot/imported/player_model.blend-e827f74075107e5c935a1df2bc1df101.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/naming_version=1 +gltf/embedded_image_handling=1 +blender/nodes/visible=0 +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true diff --git a/player/player_model.blend1 b/player/player_model.blend1 new file mode 100644 index 0000000..da0d36b Binary files /dev/null and b/player/player_model.blend1 differ diff --git a/player/player_moves.gd b/player/player_moves.gd new file mode 100644 index 0000000..685473f --- /dev/null +++ b/player/player_moves.gd @@ -0,0 +1,88 @@ +extends RigidBody3D + + +var airtime = 0.0 +var mouse_input = Vector2(0,0) +var raw_mouse_input = Vector2(0,0) +var alpha = 10 + + +# Called when the node enters the scene tree for the first time. +func _ready(): + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + + # Makes sure everything is sane + $grounded.global_position = global_position + $grounded.target_position = Globals.global_down * 1.1 + $level.position = global_position + + + # Gravity! + apply_central_force(Globals.global_down * 9.8 * 100 * delta) + + # Sets up the input variables + # Cursor input + raw_mouse_input = Input.get_last_mouse_velocity() * delta * Globals.sensitivity + # Zoom in/out + var scroll_input = 0.5 * int(Input.is_action_just_released("out")) - int(Input.is_action_just_released("in")) + # WASD + var move_input := Vector3.ZERO + + # Filters the mouse input using exponential interpolation + mouse_input.x = mouse_input.x * exp(-alpha * delta) + raw_mouse_input.x * (1.0 - exp(-alpha * delta)) + mouse_input.y = mouse_input.y * exp(-alpha * delta * 3) + raw_mouse_input.y * (1.0 - exp(-alpha * delta * 3)) + + # Assigns the controls input + move_input.x = Input.get_axis("forward", "backwards") + move_input.y = -Input.get_axis("right", "left") + + # Rotates the camera + $level/gimbal_y.rotate_z(-mouse_input.x) + $level/gimbal_y/gimbal_x.rotate_x(-mouse_input.y) + # Clamps the up/down + $level/gimbal_y/gimbal_x.rotation_degrees.x = clamp ($level/gimbal_y/gimbal_x.rotation_degrees.x, 5, 175) + + # Zooms in/out + $level/gimbal_y/gimbal_x/stick/camera.translate(Vector3(0,0,scroll_input)) + $level/gimbal_y/gimbal_x/stick/camera.position.z = clamp($level/gimbal_y/gimbal_x/stick/camera.position.z, 0, 50) + # Default size is 0.85 = 1m + $player_model.scale = Vector3(1,1,1) * clamp($level/gimbal_y/gimbal_x/stick/camera.position.z/2, 0, 0.85) + + # Is the player on the ground? + if ($grounded.is_colliding()): + + # Makes airtime negative (coyote frames) + airtime = -0.3 + + # Moves via rotation + apply_torque(Quaternion.from_euler($level/gimbal_y.global_rotation) * (move_input * 2000.0 * delta)) + + else: + + #Moves via translation + apply_central_force(Quaternion.from_euler($level/gimbal_y.global_rotation) * (Vector3(move_input.y, -move_input.x, 0) * 300.0 * delta)) + + # Is the break key pressed? + if Input.get_action_strength("alternate") > 0.0 && move_input == Vector3(0,0,0): + # Velocity becomes up/down + linear_velocity = Globals.global_down * Globals.global_down.dot(linear_velocity) + + # Updates the air time + airtime += delta + # Pressed jump and can jump? + if (Input.get_action_strength("up") > 0.0 && airtime < 0.0): + + # Plays the animation + $player_model/AnimationPlayer.play("ArmatureAction") + + # Find the velocity along the down vector + var velocity_along_normal = Globals.global_down * Globals.global_down.dot(linear_velocity) + var new_velocity = (linear_velocity - velocity_along_normal) + (Globals.global_down * -20) + + # Applies the new velocity + set_linear_velocity(new_velocity) + diff --git a/player/player_node.tscn b/player/player_node.tscn new file mode 100644 index 0000000..98f9ea5 --- /dev/null +++ b/player/player_node.tscn @@ -0,0 +1,57 @@ +[gd_scene load_steps=8 format=3 uid="uid://pyhlicd4a0ec"] + +[ext_resource type="Script" path="res://player/player_moves.gd" id="1_2ps78"] +[ext_resource type="PackedScene" uid="uid://b63mupr1u2nq0" path="res://player/player_model.blend" id="1_uh731"] +[ext_resource type="Script" path="res://player/seek_level.gd" id="3_yfi6d"] + +[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_s88nq"] +friction = 7.0 +rough = true + +[sub_resource type="SphereShape3D" id="SphereShape3D_qx3du"] +radius = 1.0 + +[sub_resource type="GDScript" id="GDScript_pbl37"] +script/source = "extends Node3D + + +" + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_1nqfw"] +radius = 0.1 +height = 2.787 + +[node name="player" type="RigidBody3D"] +physics_material_override = SubResource("PhysicsMaterial_s88nq") +gravity_scale = 0.0 +angular_damp = 6.0 +script = ExtResource("1_2ps78") + +[node name="collider" type="CollisionShape3D" parent="."] +shape = SubResource("SphereShape3D_qx3du") + +[node name="player_model" parent="." instance=ExtResource("1_uh731")] +transform = Transform3D(0.85, 0, 0, 0, 0.85, 0, 0, 0, 0.85, 0, 0, 0) + +[node name="grounded" type="RayCast3D" parent="."] +top_level = true +target_position = Vector3(0, -1.1, 0) + +[node name="level" type="Node3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +top_level = true +script = ExtResource("3_yfi6d") + +[node name="gimbal_y" type="Node3D" parent="level"] +script = SubResource("GDScript_pbl37") + +[node name="gimbal_x" type="Node3D" parent="level/gimbal_y"] + +[node name="stick" type="Node3D" parent="level/gimbal_y/gimbal_x"] + +[node name="camera" type="Camera3D" parent="level/gimbal_y/gimbal_x/stick"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 14.3224) + +[node name="MeshInstance3D" type="MeshInstance3D" parent="level"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0) +mesh = SubResource("CapsuleMesh_1nqfw") diff --git a/player/seek_level.gd b/player/seek_level.gd new file mode 100644 index 0000000..837f5a3 --- /dev/null +++ b/player/seek_level.gd @@ -0,0 +1,12 @@ +extends Node3D + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta): + #rotation=Globals.global_rotate + look_at(position + Globals.global_down) diff --git a/player_model.blend1 b/player_model.blend1 new file mode 100644 index 0000000..637b787 Binary files /dev/null and b/player_model.blend1 differ diff --git a/primitives/skybox/background.hdr b/primitives/skybox/background.hdr new file mode 100644 index 0000000..3568734 Binary files /dev/null and b/primitives/skybox/background.hdr differ diff --git a/primitives/skybox/background.hdr.import b/primitives/skybox/background.hdr.import new file mode 100644 index 0000000..815ad13 --- /dev/null +++ b/primitives/skybox/background.hdr.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ck6rsckrlm5ql" +path.bptc="res://.godot/imported/background.hdr-4791c4573f4e54899bd21a1b5cb2abad.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://primitives/skybox/background.hdr" +dest_files=["res://.godot/imported/background.hdr-4791c4573f4e54899bd21a1b5cb2abad.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/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/primitives/skybox/skybox.blend b/primitives/skybox/skybox.blend new file mode 100644 index 0000000..2460795 Binary files /dev/null and b/primitives/skybox/skybox.blend differ diff --git a/primitives/skybox/skybox.blend.import b/primitives/skybox/skybox.blend.import new file mode 100644 index 0000000..b59b317 --- /dev/null +++ b/primitives/skybox/skybox.blend.import @@ -0,0 +1,57 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bcsejkg5vcjgl" +path="res://.godot/imported/skybox.blend-282a06ea6d5dae8388eea90bc77c8673.scn" + +[deps] + +source_file="res://primitives/skybox/skybox.blend" +dest_files=["res://.godot/imported/skybox.blend-282a06ea6d5dae8388eea90bc77c8673.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={ +"materials": { +"Material.001": { +"use_external/enabled": true, +"use_external/path": "res://primitives/skybox/skybox.tres" +} +} +} +gltf/naming_version=1 +gltf/embedded_image_handling=1 +blender/nodes/visible=0 +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true diff --git a/primitives/skybox/skybox.tres b/primitives/skybox/skybox.tres new file mode 100644 index 0000000..9c270f8 --- /dev/null +++ b/primitives/skybox/skybox.tres @@ -0,0 +1,10 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://bxe3igfei0cll"] + +[ext_resource type="Texture2D" uid="uid://ck6rsckrlm5ql" path="res://primitives/skybox/background.hdr" id="1_fdwr0"] + +[resource] +shading_mode = 0 +disable_ambient_light = true +disable_fog = true +vertex_color_use_as_albedo = true +albedo_texture = ExtResource("1_fdwr0") diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..4ca2894 --- /dev/null +++ b/project.godot @@ -0,0 +1,81 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Cawez Puzzlebox" +run/main_scene="res://testscene.tscn" +config/features=PackedStringArray("4.2", "Forward Plus") +config/icon="res://icon.svg" + +[autoload] + +Globals="*res://globals.gd" + +[input] + +left={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null) +] +} +right={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) +] +} +forward={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null) +] +} +backwards={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null) +] +} +up={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null) +] +} +alternate={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194329,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +more={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"echo":false,"script":null) +, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(198, 18),"global_position":Vector2(202, 59),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} +less={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"echo":false,"script":null) +, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":2,"position":Vector2(229, 18),"global_position":Vector2(233, 59),"factor":1.0,"button_index":2,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} +in={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":8,"position":Vector2(209, 23),"global_position":Vector2(213, 64),"factor":1.0,"button_index":4,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} +out={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":16,"position":Vector2(174, 4),"global_position":Vector2(178, 45),"factor":1.0,"button_index":5,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} + +[physics] + +3d/physics_engine="JoltPhysics3D" diff --git a/rooms/blue/Roughness Map.png b/rooms/blue/Roughness Map.png new file mode 100644 index 0000000..5552b2b Binary files /dev/null and b/rooms/blue/Roughness Map.png differ diff --git a/rooms/blue/Roughness Map.png.import b/rooms/blue/Roughness Map.png.import new file mode 100644 index 0000000..41ccd5d --- /dev/null +++ b/rooms/blue/Roughness Map.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bafeo5g7hr3x2" +path.s3tc="res://.godot/imported/Roughness Map.png-907b4a273711aad630b43db9e5433a80.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://rooms/blue/Roughness Map.png" +dest_files=["res://.godot/imported/Roughness Map.png-907b4a273711aad630b43db9e5433a80.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://rooms/blue/Roughness Map.png" +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/rooms/blue/ceiling.blend b/rooms/blue/ceiling.blend new file mode 100644 index 0000000..0cda81b Binary files /dev/null and b/rooms/blue/ceiling.blend differ diff --git a/rooms/blue/ceiling.blend.import b/rooms/blue/ceiling.blend.import new file mode 100644 index 0000000..aa8d2a2 --- /dev/null +++ b/rooms/blue/ceiling.blend.import @@ -0,0 +1,66 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://cqr10c1hj3x8r" +path="res://.godot/imported/ceiling.blend-b78e96a9edc0eaab1311f59678234c61.scn" + +[deps] + +source_file="res://rooms/blue/ceiling.blend" +dest_files=["res://.godot/imported/ceiling.blend-b78e96a9edc0eaab1311f59678234c61.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={ +"materials": { +"Material": { +"use_external/enabled": true, +"use_external/path": "res://rooms/blue/emissive_lights.tres" +}, +"Material.001": { +"use_external/enabled": true, +"use_external/path": "res://rooms/blue/normal_ceiling.tres" +} +}, +"nodes": { +"PATH:Cube": { +"mesh_instance/layers": 3 +} +} +} +gltf/naming_version=1 +gltf/embedded_image_handling=1 +blender/nodes/visible=0 +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true diff --git a/rooms/blue/emissive_lights.tres b/rooms/blue/emissive_lights.tres new file mode 100644 index 0000000..3f1217b --- /dev/null +++ b/rooms/blue/emissive_lights.tres @@ -0,0 +1,6 @@ +[gd_resource type="StandardMaterial3D" format=3 uid="uid://bk5bvrignm0qk"] + +[resource] +emission_enabled = true +emission = Color(1, 1, 1, 1) +emission_energy_multiplier = 1.51 diff --git a/rooms/blue/floor_blue.tres b/rooms/blue/floor_blue.tres new file mode 100644 index 0000000..bdee8e0 --- /dev/null +++ b/rooms/blue/floor_blue.tres @@ -0,0 +1,18 @@ +[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://bvkooqk1g0amt"] + +[ext_resource type="Texture2D" uid="uid://bok3x4q05h4vc" path="res://rooms/blue/floor_emit.png" id="1_1f6yp"] +[ext_resource type="Texture2D" uid="uid://dofcck4vs8lk0" path="res://rooms/blue/floor_normal.png" id="2_iful1"] + +[resource] +albedo_color = Color(0.0253638, 0.0253638, 0.0253638, 1) +metallic = 0.75 +metallic_specular = 0.25 +roughness = 0.3 +emission_enabled = true +emission_energy_multiplier = 4.0 +emission_texture = ExtResource("1_1f6yp") +normal_enabled = true +normal_texture = ExtResource("2_iful1") +backlight = Color(0.251837, 0.743077, 0.72565, 1) +backlight_texture = ExtResource("1_1f6yp") +grow_amount = -0.985 diff --git a/rooms/blue/floor_emit.png b/rooms/blue/floor_emit.png new file mode 100644 index 0000000..23136c4 Binary files /dev/null and b/rooms/blue/floor_emit.png differ diff --git a/rooms/blue/floor_emit.png.import b/rooms/blue/floor_emit.png.import new file mode 100644 index 0000000..eabd020 --- /dev/null +++ b/rooms/blue/floor_emit.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bok3x4q05h4vc" +path.s3tc="res://.godot/imported/floor_emit.png-e614cd3a43b3f23705b3fec951b9f8b3.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://rooms/blue/floor_emit.png" +dest_files=["res://.godot/imported/floor_emit.png-e614cd3a43b3f23705b3fec951b9f8b3.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/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/rooms/blue/floor_normal.png b/rooms/blue/floor_normal.png new file mode 100644 index 0000000..4e681d3 Binary files /dev/null and b/rooms/blue/floor_normal.png differ diff --git a/rooms/blue/floor_normal.png.import b/rooms/blue/floor_normal.png.import new file mode 100644 index 0000000..a7b3cc0 --- /dev/null +++ b/rooms/blue/floor_normal.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dofcck4vs8lk0" +path.s3tc="res://.godot/imported/floor_normal.png-829737c0ee7cb4421c50398194c7b955.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://rooms/blue/floor_normal.png" +dest_files=["res://.godot/imported/floor_normal.png-829737c0ee7cb4421c50398194c7b955.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://rooms/blue/Normal Map.png" +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/rooms/blue/normal_ceiling.tres b/rooms/blue/normal_ceiling.tres new file mode 100644 index 0000000..bbdbc38 --- /dev/null +++ b/rooms/blue/normal_ceiling.tres @@ -0,0 +1,9 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://c73gwis8ocxbv"] + +[ext_resource type="Texture2D" uid="uid://dxnv3hf0kqrj7" path="res://rooms/blue/wall_normal.png" id="1_1k4hw"] + +[resource] +albedo_color = Color(0.396889, 0.396889, 0.396889, 1) +roughness = 0.16 +normal_enabled = true +normal_texture = ExtResource("1_1k4hw") diff --git a/rooms/blue/room_blue_floor.tscn b/rooms/blue/room_blue_floor.tscn new file mode 100644 index 0000000..df1a2c5 --- /dev/null +++ b/rooms/blue/room_blue_floor.tscn @@ -0,0 +1,136 @@ +[gd_scene load_steps=9 format=3 uid="uid://ccbxd6724rlfj"] + +[ext_resource type="Material" uid="uid://bvkooqk1g0amt" path="res://rooms/blue/floor_blue.tres" id="1_hiyjn"] +[ext_resource type="Material" uid="uid://3sflsgdp35e0" path="res://rooms/blue/wall_blue.tres" id="1_ly5au"] +[ext_resource type="PackedScene" uid="uid://cqr10c1hj3x8r" path="res://rooms/blue/ceiling.blend" id="3_lvnv1"] +[ext_resource type="PackedScene" uid="uid://bcsejkg5vcjgl" path="res://primitives/skybox/skybox.blend" id="4_debn2"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_bvvt8"] +size = Vector3(100, 100, 100) + +[sub_resource type="QuadMesh" id="QuadMesh_r0d3t"] +material = ExtResource("1_hiyjn") + +[sub_resource type="QuadMesh" id="QuadMesh_tk3ui"] +material = ExtResource("1_ly5au") + +[sub_resource type="Environment" id="Environment_1t5lf"] +background_mode = 1 +ssr_enabled = true +ssr_max_steps = 50 +glow_enabled = true +glow_intensity = 0.93 +glow_strength = 0.88 +glow_bloom = 0.16 +glow_blend_mode = 0 +fog_light_color = Color(0.182804, 0.289838, 0.349834, 1) +fog_density = 0.0 +adjustment_enabled = true + +[node name="room_blue_floor" type="StaticBody3D"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -100, 0) +shape = SubResource("BoxShape3D_bvvt8") + +[node name="CollisionShape3D4" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 100, 0) +shape = SubResource("BoxShape3D_bvvt8") + +[node name="CollisionShape3D5" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 0, 0) +shape = SubResource("BoxShape3D_bvvt8") + +[node name="CollisionShape3D6" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -100, 0, 0) +shape = SubResource("BoxShape3D_bvvt8") + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 100) +shape = SubResource("BoxShape3D_bvvt8") + +[node name="CollisionShape3D3" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -100) +shape = SubResource("BoxShape3D_bvvt8") + +[node name="mesh" type="Node3D" parent="."] + +[node name="MeshInstance3D" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(100, 0, 0, 0, -4.37114e-06, 100, 0, -100, -4.37114e-06, 0, -50, 0) +layers = 3 +mesh = SubResource("QuadMesh_r0d3t") + +[node name="MeshInstance3D2" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(-4.37114e-06, 100, 0, -100, -4.37114e-06, 0, 0, 0, 100, 0, 0, -50) +layers = 3 +mesh = SubResource("QuadMesh_tk3ui") + +[node name="MeshInstance3D3" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(1.91069e-13, -4.37114e-06, 100, -100, -4.37114e-06, 0, -4.37114e-06, 100, 4.37114e-06, -50, 0, 0) +layers = 3 +mesh = SubResource("QuadMesh_tk3ui") + +[node name="MeshInstance3D4" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(4.37114e-06, -100, 8.74228e-06, -100, -4.37114e-06, 0, 3.82137e-13, -8.74228e-06, -100, 0, 0, 50) +layers = 3 +mesh = SubResource("QuadMesh_tk3ui") + +[node name="MeshInstance3D5" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(-1.91069e-13, -4.37114e-06, -100, -100, 4.37114e-06, 0, -4.37114e-06, -100, 4.37114e-06, 50, 0, 0) +layers = 3 +mesh = SubResource("QuadMesh_tk3ui") + +[node name="ceiling" parent="mesh" instance=ExtResource("3_lvnv1")] +transform = Transform3D(50, 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0) + +[node name="SpotLight3D" type="SpotLight3D" parent="."] +transform = Transform3D(0.983255, -0.182236, -7.96577e-09, 0, -4.37114e-08, 1, -0.182236, -0.983255, -4.29794e-08, 35, 50, 35) +light_color = Color(0.73881, 0.848951, 1, 1) +light_energy = 50.0 +spot_range = 500.0 +spot_attenuation = 1.68179 + +[node name="SpotLight3D2" type="SpotLight3D" parent="."] +transform = Transform3D(0.983255, -0.182236, -7.96577e-09, 0, -4.37114e-08, 1, -0.182236, -0.983255, -4.29794e-08, -35, 50, 35) +light_color = Color(0.73881, 0.848951, 1, 1) +light_energy = 50.0 +spot_range = 499.975 +spot_attenuation = 1.68179 + +[node name="SpotLight3D3" type="SpotLight3D" parent="."] +transform = Transform3D(0.983255, -0.182236, -7.96577e-09, 0, -4.37114e-08, 1, -0.182236, -0.983255, -4.29794e-08, 35, 50, -35) +light_color = Color(0.73881, 0.848951, 1, 1) +light_energy = 50.0 +spot_range = 500.0 +spot_attenuation = 1.68179 + +[node name="SpotLight3D4" type="SpotLight3D" parent="."] +transform = Transform3D(0.983255, -0.182236, -7.96577e-09, 0, -4.37114e-08, 1, -0.182236, -0.983255, -4.29794e-08, -35, 50, -35) +light_color = Color(0.73881, 0.848951, 1, 1) +light_energy = 45.0 +spot_range = 500.0 +spot_attenuation = 1.68179 +spot_angle = 91.57 + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_1t5lf") + +[node name="ReflectionProbe" type="ReflectionProbe" parent="."] +layers = 2 +update_mode = 1 +size = Vector3(101, 101, 101) +box_projection = true +interior = true +enable_shadows = true +cull_mask = 2 +mesh_lod_threshold = 0.0 +ambient_mode = 0 +ambient_color = Color(0.873298, 0.873298, 0.873298, 1) +ambient_color_energy = 11.43 + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0) +light_energy = 0.01 + +[node name="skybox" parent="." instance=ExtResource("4_debn2")] +transform = Transform3D(400, 0, 0, 0, 400, 0, 0, 0, 400, 0, 0, 0) diff --git a/rooms/blue/wall_blue.tres b/rooms/blue/wall_blue.tres new file mode 100644 index 0000000..e5b1ece --- /dev/null +++ b/rooms/blue/wall_blue.tres @@ -0,0 +1,14 @@ +[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://3sflsgdp35e0"] + +[ext_resource type="Texture2D" uid="uid://dsm7b746txu5x" path="res://rooms/blue/wall_emit.png" id="1_d0lb7"] +[ext_resource type="Texture2D" uid="uid://dxnv3hf0kqrj7" path="res://rooms/blue/wall_normal.png" id="2_2gvi5"] + +[resource] +albedo_color = Color(0.0728426, 0.0728426, 0.0728426, 1) +metallic_specular = 1.0 +roughness = 0.16 +emission_enabled = true +emission_texture = ExtResource("1_d0lb7") +normal_enabled = true +normal_scale = 0.5 +normal_texture = ExtResource("2_2gvi5") diff --git a/rooms/blue/wall_emit.png b/rooms/blue/wall_emit.png new file mode 100644 index 0000000..5004f25 Binary files /dev/null and b/rooms/blue/wall_emit.png differ diff --git a/rooms/blue/wall_emit.png.import b/rooms/blue/wall_emit.png.import new file mode 100644 index 0000000..4b628cd --- /dev/null +++ b/rooms/blue/wall_emit.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsm7b746txu5x" +path.s3tc="res://.godot/imported/wall_emit.png-c6bde6c0bc5b9c2e0da8198cfc300691.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://rooms/blue/wall_emit.png" +dest_files=["res://.godot/imported/wall_emit.png-c6bde6c0bc5b9c2e0da8198cfc300691.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/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/rooms/blue/wall_normal.png b/rooms/blue/wall_normal.png new file mode 100644 index 0000000..1d2c5cf Binary files /dev/null and b/rooms/blue/wall_normal.png differ diff --git a/rooms/blue/wall_normal.png.import b/rooms/blue/wall_normal.png.import new file mode 100644 index 0000000..2093338 --- /dev/null +++ b/rooms/blue/wall_normal.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxnv3hf0kqrj7" +path.s3tc="res://.godot/imported/wall_normal.png-1da0514643f5c768fe5633f354f1f620.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://rooms/blue/wall_normal.png" +dest_files=["res://.godot/imported/wall_normal.png-1da0514643f5c768fe5633f354f1f620.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://rooms/blue/wall_normal.png" +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/rooms/yellow/Emission.png b/rooms/yellow/Emission.png new file mode 100644 index 0000000..a066934 Binary files /dev/null and b/rooms/yellow/Emission.png differ diff --git a/rooms/yellow/Emission.png.import b/rooms/yellow/Emission.png.import new file mode 100644 index 0000000..31c7a14 --- /dev/null +++ b/rooms/yellow/Emission.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dijkhjlh01p8k" +path.s3tc="res://.godot/imported/Emission.png-6c11360e514b4e2a045e74cde4b7aabf.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://rooms/yellow/Emission.png" +dest_files=["res://.godot/imported/Emission.png-6c11360e514b4e2a045e74cde4b7aabf.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/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/rooms/yellow/Normal.png b/rooms/yellow/Normal.png new file mode 100644 index 0000000..8a974f4 Binary files /dev/null and b/rooms/yellow/Normal.png differ diff --git a/rooms/yellow/Normal.png.import b/rooms/yellow/Normal.png.import new file mode 100644 index 0000000..598c50e --- /dev/null +++ b/rooms/yellow/Normal.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pt5h2ai7dfqq" +path.s3tc="res://.godot/imported/Normal.png-04ef4382569ba3fa7ced2d20d2b0deb5.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://rooms/yellow/Normal.png" +dest_files=["res://.godot/imported/Normal.png-04ef4382569ba3fa7ced2d20d2b0deb5.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://rooms/yellow/Normal.png" +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/rooms/yellow/room_yellow_floor.tscn b/rooms/yellow/room_yellow_floor.tscn new file mode 100644 index 0000000..593a6b5 --- /dev/null +++ b/rooms/yellow/room_yellow_floor.tscn @@ -0,0 +1,187 @@ +[gd_scene load_steps=9 format=3 uid="uid://bjs6r15h7ge62"] + +[ext_resource type="Material" uid="uid://c2bppsuxirk3j" path="res://rooms/yellow/wall_yellow.tres" id="1_r5s2i"] +[ext_resource type="Material" uid="uid://bk5bvrignm0qk" path="res://rooms/blue/emissive_lights.tres" id="3_36idt"] +[ext_resource type="PackedScene" uid="uid://bcsejkg5vcjgl" path="res://primitives/skybox/skybox.blend" id="3_75x0b"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_sn4y7"] +size = Vector3(100, 100, 100) + +[sub_resource type="QuadMesh" id="QuadMesh_r6p2x"] +material = ExtResource("1_r5s2i") + +[sub_resource type="QuadMesh" id="QuadMesh_aifp0"] +material = ExtResource("1_r5s2i") + +[sub_resource type="SphereMesh" id="SphereMesh_12bag"] +material = ExtResource("3_36idt") + +[sub_resource type="Environment" id="Environment_ixm8g"] +background_mode = 1 +ssr_enabled = true +ssr_max_steps = 50 +glow_enabled = true +glow_intensity = 0.93 +glow_strength = 0.88 +glow_bloom = 0.16 +glow_blend_mode = 0 +fog_light_color = Color(0.182804, 0.289838, 0.349834, 1) +fog_density = 0.0 +adjustment_enabled = true + +[node name="room_yellow_floor" type="StaticBody3D"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -100, 0) +shape = SubResource("BoxShape3D_sn4y7") + +[node name="CollisionShape3D4" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 100, 0) +shape = SubResource("BoxShape3D_sn4y7") + +[node name="CollisionShape3D5" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 0, 0) +shape = SubResource("BoxShape3D_sn4y7") + +[node name="CollisionShape3D6" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -100, 0, 0) +shape = SubResource("BoxShape3D_sn4y7") + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 100) +shape = SubResource("BoxShape3D_sn4y7") + +[node name="CollisionShape3D3" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -100) +shape = SubResource("BoxShape3D_sn4y7") + +[node name="mesh" type="Node3D" parent="."] + +[node name="MeshInstance3D" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(100, 0, 0, 0, -4.37114e-06, 100, 0, -100, -4.37114e-06, 0, -50, 0) +layers = 3 +mesh = SubResource("QuadMesh_r6p2x") + +[node name="MeshInstance3D2" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(-4.37114e-06, 100, 0, -100, -4.37114e-06, 0, 0, 0, 100, 0, 0, -50) +layers = 3 +mesh = SubResource("QuadMesh_aifp0") + +[node name="MeshInstance3D3" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(1.91069e-13, -4.37114e-06, 100, -100, -4.37114e-06, 0, -4.37114e-06, 100, 4.37114e-06, -50, 0, 0) +layers = 3 +mesh = SubResource("QuadMesh_aifp0") + +[node name="MeshInstance3D4" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(4.37114e-06, -100, 8.74228e-06, -100, -4.37114e-06, 0, 3.82137e-13, -8.74228e-06, -100, 0, 0, 50) +layers = 3 +mesh = SubResource("QuadMesh_aifp0") + +[node name="MeshInstance3D5" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(-1.91069e-13, -4.37114e-06, -100, -100, 4.37114e-06, 0, -4.37114e-06, -100, 4.37114e-06, 50, 0, 0) +layers = 3 +mesh = SubResource("QuadMesh_aifp0") + +[node name="MeshInstance3D6" type="MeshInstance3D" parent="mesh"] +transform = Transform3D(100, 0, 0, 0, -4.37114e-06, -100, 0, 100, -4.37114e-06, 0, 50, 0) +layers = 3 +mesh = SubResource("QuadMesh_r6p2x") +skeleton = NodePath("../MeshInstance3D") + +[node name="SpotLight3D" type="SpotLight3D" parent="."] +transform = Transform3D(0.887011, -0.461749, -2.01837e-08, 0, -4.37114e-08, 1, -0.461749, -0.887011, -3.87725e-08, 0, 50, 0) +light_color = Color(1, 0.973115, 0.786325, 1) +light_energy = 50.0 +spot_range = 500.0 +spot_attenuation = 1.68179 + +[node name="MeshInstance3D" type="MeshInstance3D" parent="SpotLight3D"] +transform = Transform3D(5.94297, -3.09372, 2.01837e-08, -3.09372, -5.94297, 8.24839e-08, -1.35231e-07, -5.52642e-07, -1, 0, 4.37103e-09, -0.0999985) +layers = 3 +mesh = SubResource("SphereMesh_12bag") +skeleton = NodePath("../..") + +[node name="SpotLight3D3" type="SpotLight3D" parent="."] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 50, 0, 0) +light_color = Color(1, 0.973115, 0.786325, 1) +light_energy = 50.0 +spot_range = 500.0 +spot_attenuation = 1.68179 + +[node name="MeshInstance3D" type="MeshInstance3D" parent="SpotLight3D3"] +transform = Transform3D(5.94297, -3.09372, 2.01837e-08, -3.09372, -5.94297, 8.24839e-08, -1.35231e-07, -5.52642e-07, -1, 0, 4.37103e-09, -0.0999985) +layers = 3 +mesh = SubResource("SphereMesh_12bag") +skeleton = NodePath("../..") + +[node name="SpotLight3D4" type="SpotLight3D" parent="."] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -50, 0, 0) +light_color = Color(1, 0.973115, 0.786325, 1) +light_energy = 50.0 +spot_range = 500.0 +spot_attenuation = 1.68179 + +[node name="MeshInstance3D" type="MeshInstance3D" parent="SpotLight3D4"] +transform = Transform3D(5.94297, -3.09372, 2.01837e-08, -3.09372, -5.94297, 8.24839e-08, -1.35231e-07, -5.52642e-07, -1, 0, 4.37103e-09, -0.0999985) +layers = 3 +mesh = SubResource("SphereMesh_12bag") +skeleton = NodePath("../..") + +[node name="SpotLight3D5" type="SpotLight3D" parent="."] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -50) +light_color = Color(1, 0.973115, 0.786325, 1) +light_energy = 50.0 +spot_range = 500.0 +spot_attenuation = 1.68179 + +[node name="MeshInstance3D" type="MeshInstance3D" parent="SpotLight3D5"] +transform = Transform3D(5.94297, -3.09372, 2.01837e-08, -3.09372, -5.94297, 8.24839e-08, -1.35231e-07, -5.52642e-07, -1, 0, 4.37103e-09, -0.0999985) +layers = 3 +mesh = SubResource("SphereMesh_12bag") +skeleton = NodePath("../..") + +[node name="SpotLight3D6" type="SpotLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 50) +light_color = Color(1, 0.973115, 0.786325, 1) +light_energy = 50.0 +spot_range = 500.0 +spot_attenuation = 1.68179 + +[node name="MeshInstance3D" type="MeshInstance3D" parent="SpotLight3D6"] +transform = Transform3D(5.94297, -3.09372, 2.01837e-08, -3.09372, -5.94297, 8.24839e-08, -1.35231e-07, -5.52642e-07, -1, 0, 4.37103e-09, -0.0999985) +layers = 3 +mesh = SubResource("SphereMesh_12bag") +skeleton = NodePath("../..") + +[node name="SpotLight3D2" type="SpotLight3D" parent="."] +transform = Transform3D(0.887011, -0.461749, -2.01837e-08, 0, -4.37114e-08, 1, -0.461749, -0.887011, -3.87725e-08, 0, -50, 0) +light_color = Color(1, 0.973115, 0.786325, 1) +light_energy = 50.0 +spot_range = 500.0 +spot_attenuation = 1.68179 +spot_angle = 109.06 + +[node name="MeshInstance3D" type="MeshInstance3D" parent="SpotLight3D2"] +transform = Transform3D(5.94297, -3.09372, 2.01837e-08, -3.09372, -5.94297, 8.24839e-08, -1.35231e-07, -5.52642e-07, -1, 0, 4.37103e-09, -0.0999985) +layers = 3 +mesh = SubResource("SphereMesh_12bag") +skeleton = NodePath("../..") + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_ixm8g") + +[node name="ReflectionProbe" type="ReflectionProbe" parent="."] +layers = 2 +update_mode = 1 +size = Vector3(101, 101, 101) +box_projection = true +interior = true +enable_shadows = true +cull_mask = 2 +mesh_lod_threshold = 0.0 +ambient_mode = 0 +ambient_color = Color(0.873298, 0.873298, 0.873298, 1) +ambient_color_energy = 11.43 + +[node name="skybox" parent="." instance=ExtResource("3_75x0b")] +transform = Transform3D(400, 0, 0, 0, 400, 0, 0, 0, 400, 0, 0, 0) diff --git a/rooms/yellow/wall_yellow.tres b/rooms/yellow/wall_yellow.tres new file mode 100644 index 0000000..bb374c2 --- /dev/null +++ b/rooms/yellow/wall_yellow.tres @@ -0,0 +1,14 @@ +[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://c2bppsuxirk3j"] + +[ext_resource type="Texture2D" uid="uid://dijkhjlh01p8k" path="res://rooms/yellow/Emission.png" id="1_wbw8g"] +[ext_resource type="Texture2D" uid="uid://pt5h2ai7dfqq" path="res://rooms/yellow/Normal.png" id="2_24uyc"] + +[resource] +albedo_color = Color(0.0728426, 0.0728426, 0.0728426, 1) +metallic_specular = 1.0 +roughness = 0.16 +emission_enabled = true +emission_texture = ExtResource("1_wbw8g") +normal_enabled = true +normal_scale = 0.5 +normal_texture = ExtResource("2_24uyc") diff --git a/testscene.tscn b/testscene.tscn new file mode 100644 index 0000000..2fd7d63 --- /dev/null +++ b/testscene.tscn @@ -0,0 +1,39 @@ +[gd_scene load_steps=7 format=3 uid="uid://dosqj5u034nai"] + +[ext_resource type="PackedScene" uid="uid://pyhlicd4a0ec" path="res://player/player_node.tscn" id="1_6ggf4"] +[ext_resource type="PackedScene" uid="uid://bjs6r15h7ge62" path="res://rooms/yellow/room_yellow_floor.tscn" id="3_1isy3"] +[ext_resource type="PackedScene" uid="uid://ccbxd6724rlfj" path="res://rooms/blue/room_blue_floor.tscn" id="3_ql6ir"] + +[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_8njux"] +friction = 0.22 +rough = true + +[sub_resource type="BoxMesh" id="BoxMesh_uqix0"] + +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_3iv3b"] +points = PackedVector3Array(-0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5) + +[node name="Node3D" type="Node3D"] + +[node name="player" parent="." instance=ExtResource("1_6ggf4")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.3796, 0) + +[node name="room_blue_floor" parent="." instance=ExtResource("3_ql6ir")] + +[node name="s" type="RigidBody3D" parent="."] +mass = 0.25 +physics_material_override = SubResource("PhysicsMaterial_8njux") +linear_damp = 1.0 +angular_damp = 1.0 + +[node name="MeshInstance3D" type="MeshInstance3D" parent="s"] +transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0) +mesh = SubResource("BoxMesh_uqix0") +skeleton = NodePath("../..") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="s"] +transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0) +shape = SubResource("ConvexPolygonShape3D_3iv3b") + +[node name="StaticBody3D" parent="." instance=ExtResource("3_1isy3")] +visible = false