Player w gravity, rooms, physics, graphics
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Normalize EOL for all files that Git considers text files.
|
||||
* text=auto eol=lf
|
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Godot 4+ specific ignores
|
||||
.godot/
|
0
README.md
Normal file
18
addons/godot-jolt/LICENSE.txt
Normal file
@ -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.
|
91
addons/godot-jolt/THIRDPARTY.txt
Normal file
@ -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.
|
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm32.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm32_editor.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm64.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm64_editor.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-x64.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-x64_editor.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-x86.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-x86_editor.so
Normal file
36
addons/godot-jolt/godot-jolt.gdextension
Normal file
@ -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"
|
32
addons/godot-jolt/ios/godot-jolt_ios.framework/Info.plist
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>godot-jolt_ios</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.godot-jolt.godot-jolt</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) Mikael Hermansson and Godot Jolt contributors.</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.12.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.12.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>DTPlatformName</key>
|
||||
<string>iphoneos</string>
|
||||
<key>MinimumOSVersion</key>
|
||||
<string>12.0</string>
|
||||
</dict>
|
||||
</plist>
|
BIN
addons/godot-jolt/ios/godot-jolt_ios.framework/godot-jolt_ios
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>godot-jolt_ios_editor</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.godot-jolt.godot-jolt</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) Mikael Hermansson and Godot Jolt contributors.</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.12.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.12.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>DTPlatformName</key>
|
||||
<string>iphoneos</string>
|
||||
<key>MinimumOSVersion</key>
|
||||
<string>12.0</string>
|
||||
</dict>
|
||||
</plist>
|
BIN
addons/godot-jolt/linux/godot-jolt_linux-x64.so
Normal file
BIN
addons/godot-jolt/linux/godot-jolt_linux-x64_editor.so
Normal file
BIN
addons/godot-jolt/linux/godot-jolt_linux-x86.so
Normal file
BIN
addons/godot-jolt/linux/godot-jolt_linux-x86_editor.so
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>godot-jolt_macos</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.godot-jolt.godot-jolt</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) Mikael Hermansson and Godot Jolt contributors.</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.12.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.12.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>DTPlatformName</key>
|
||||
<string>macosx</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.12</string>
|
||||
</dict>
|
||||
</plist>
|
@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<data>
|
||||
HxpaqrKUN+D+lkF90Phqlb+CZKo=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
ZTtvl19PLRzCoTuDRMZ2FnJXIXsLYRhaBFxjroNsLDw=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^Resources/</key>
|
||||
<true/>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^[^/]+$</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>godot-jolt_macos_editor</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.godot-jolt.godot-jolt</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) Mikael Hermansson and Godot Jolt contributors.</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.12.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.12.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>DTPlatformName</key>
|
||||
<string>macosx</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.12</string>
|
||||
</dict>
|
||||
</plist>
|
128
addons/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/CodeResources
Normal file
@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<data>
|
||||
CpU1kp9qZhdCVqKdSia+981vm40=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
4CTRXI34pj3JIJzQDUUZTlAagKWQeohPQN20M0VCK4o=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^Resources/</key>
|
||||
<true/>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^[^/]+$</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
BIN
addons/godot-jolt/windows/godot-jolt_windows-x64.dll
Normal file
BIN
addons/godot-jolt/windows/godot-jolt_windows-x64_editor.dll
Normal file
BIN
addons/godot-jolt/windows/godot-jolt_windows-x86.dll
Normal file
BIN
addons/godot-jolt/windows/godot-jolt_windows-x86_editor.dll
Normal file
39
export_presets.cfg
Normal file
@ -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}\""
|
13
globals.gd
Normal file
@ -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)
|
1
icon.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z" fill="#478cbf"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
|
After Width: | Height: | Size: 949 B |
38
icon.svg.import
Normal file
@ -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
|
BIN
player/player_model.blend
Normal file
50
player/player_model.blend.import
Normal file
@ -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
|
BIN
player/player_model.blend1
Normal file
88
player/player_moves.gd
Normal file
@ -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)
|
||||
|
57
player/player_node.tscn
Normal file
@ -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")
|
12
player/seek_level.gd
Normal file
@ -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)
|
BIN
player_model.blend1
Normal file
BIN
primitives/skybox/background.hdr
Normal file
35
primitives/skybox/background.hdr.import
Normal file
@ -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
|
BIN
primitives/skybox/skybox.blend
Normal file
57
primitives/skybox/skybox.blend.import
Normal file
@ -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
|
10
primitives/skybox/skybox.tres
Normal file
@ -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")
|
81
project.godot
Normal file
@ -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"
|
BIN
rooms/blue/Roughness Map.png
Normal file
After Width: | Height: | Size: 8.5 MiB |
35
rooms/blue/Roughness Map.png.import
Normal file
@ -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
|
BIN
rooms/blue/ceiling.blend
Normal file
66
rooms/blue/ceiling.blend.import
Normal file
@ -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
|
6
rooms/blue/emissive_lights.tres
Normal file
@ -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
|
18
rooms/blue/floor_blue.tres
Normal file
@ -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
|
BIN
rooms/blue/floor_emit.png
Normal file
After Width: | Height: | Size: 420 KiB |
35
rooms/blue/floor_emit.png.import
Normal file
@ -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
|
BIN
rooms/blue/floor_normal.png
Normal file
After Width: | Height: | Size: 409 KiB |
35
rooms/blue/floor_normal.png.import
Normal file
@ -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
|
9
rooms/blue/normal_ceiling.tres
Normal file
@ -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")
|
136
rooms/blue/room_blue_floor.tscn
Normal file
@ -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)
|
14
rooms/blue/wall_blue.tres
Normal file
@ -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")
|
BIN
rooms/blue/wall_emit.png
Normal file
After Width: | Height: | Size: 379 KiB |
35
rooms/blue/wall_emit.png.import
Normal file
@ -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
|
BIN
rooms/blue/wall_normal.png
Normal file
After Width: | Height: | Size: 10 MiB |
35
rooms/blue/wall_normal.png.import
Normal file
@ -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
|
BIN
rooms/yellow/Emission.png
Normal file
After Width: | Height: | Size: 305 KiB |
35
rooms/yellow/Emission.png.import
Normal file
@ -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
|
BIN
rooms/yellow/Normal.png
Normal file
After Width: | Height: | Size: 51 MiB |
35
rooms/yellow/Normal.png.import
Normal file
@ -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
|
187
rooms/yellow/room_yellow_floor.tscn
Normal file
@ -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)
|
14
rooms/yellow/wall_yellow.tres
Normal file
@ -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")
|
39
testscene.tscn
Normal file
@ -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
|