Porcupine-Factory / FirstPersonController

O3DE First Person Controller Gem licensed under the MPL 2.0.
Mozilla Public License 2.0
34 stars 10 forks source link

Trying to get the Gem working #4

Closed padreputativo closed 1 week ago

padreputativo commented 3 months ago

Hello! I would like to know if this script is being actively updated or if it will no longer be updated.

padreputativo commented 3 months ago

I've already tried running tests with O3DE, and when compiling the project with the First Person Gem, this appears:

cmake -B build/linux -S . -GNinja Multi-Config -DLY_3RDPARTY_PATH=/home/padreputativo/.o3de/3rdParty -- Selecting engine '/opt/O3DE/23.10.3' from 'engine_path' in '/user/project.json'. -- The C compiler identification is Clang 18.1.3 -- The CXX compiler identification is Clang 18.1.3 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/clang-18 - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/clang++-18 - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- Checking for module 'libunwind' -- Found libunwind, version 1.6.2 -- Checking for module 'libzstd' -- Found libzstd, version 1.5.5 -- Using package /home/padreputativo/.o3de/3rdParty/packages/zlib-1.2.11-rev5-linux -- Using the O3DE version of the ZLIB library from /home/padreputativo/.o3de/3rdParty/packages/zlib-1.2.11-rev5-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/qt-5.15.2-rev9-linux -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE
-- Using package /opt/O3DE/23.10.3/python/runtime/python-3.10.5-rev4-linux -- Using Python 3.10.5 at /opt/O3DE/23.10.3/python/runtime/python-3.10.5-rev4-linux/python/bin/python -- Python: Getting/Checking packages listed in /opt/O3DE/23.10.3/python/requirements.txt -- Python: Getting/Checking packages listed in /opt/O3DE/23.10.3/python/requirements.txt - Already up to date. -- Python: linking /opt/O3DE/23.10.3/scripts/o3de into python site-packages... -- Using package /home/padreputativo/.o3de/3rdParty/packages/RapidJSON-1.1.0-rev1-multiplatform -- Using package /home/padreputativo/.o3de/3rdParty/packages/Lua-5.4.4-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/RapidXML-1.13-rev1-multiplatform -- Using package /home/padreputativo/.o3de/3rdParty/packages/cityhash-1.1-multiplatform -- Using package /home/padreputativo/.o3de/3rdParty/packages/lz4-1.9.4-rev2-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/googletest-1.8.1-rev4-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/googlebenchmark-1.7.0-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/SQLite-3.37.2-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/OpenSSL-1.1.1t-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/expat-2.4.2-rev2-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/tiff-4.2.0.15-rev3-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/assimp-5.2.5-rev1-linux -- Python: linking /home/padreputativo/.o3de/3rdParty/packages/assimp-5.2.5-rev1-linux/assimp/port/PyAssimp into python site-packages... -- Using package /home/padreputativo/.o3de/3rdParty/packages/xxhash-0.7.4-rev1-multiplatform -- Using package /home/padreputativo/.o3de/3rdParty/packages/AWSNativeSDK-1.9.50-rev4-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/pybind11-2.10.0-rev1-multiplatform -- Using package /home/padreputativo/.o3de/3rdParty/packages/vulkan-validationlayers-1.2.198-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/mcpp-2.7.2_az.2-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/DirectXShaderCompilerDxc-1.6.2112-o3de-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/SPIRVCross-2021.04.29-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/azslc-1.8.15-rev2-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/astc-encoder-3.2-rev2-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/squish-ccr-deb557d-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/ISPCTexComp-36b80aa-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/OpenEXR-3.1.3-rev4-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/openimageio-opencolorio-2.3.17-rev2-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/png-1.6.37-rev2-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/freetype-2.11.1-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/mikkelsen-1.0.0.4-linux -- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Using package /home/padreputativo/.o3de/3rdParty/packages/pyside2-5.15.2.1-py3.10-rev6-linux -- Python: linking /home/padreputativo/.o3de/3rdParty/packages/pyside2-5.15.2.1-py3.10-rev6-linux/pyside2/lib/python3.10/site-packages into python site-packages... -- Using package /home/padreputativo/.o3de/3rdParty/packages/AWSGameLiftServerSDK-5.0.0-rev3-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/libsamplerate-0.2.1-rev2-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/NvCloth-v1.1.6-4-gd243404-pr58-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/PhysX-4.1.2.29882248-rev6-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/poly2tri-7f0487a-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/v-hacd-2.3-1a49edf-rev1-linux -- Using package /home/padreputativo/.o3de/3rdParty/packages/OpenMesh-8.1-rev3-linux -- Configuring done (17.9s) -- Generating done (0.3s) -- Build files have been written to: /home/padreputativo/O3DE/Projects/NewProject2/build/linux cmake --build build/linux --target NewProject2.GameLauncher NewProject2.ServerLauncher NewProject2.UnifiedLauncher Editor --config profile ninja: error: 'External/1.0.0-2e813d72/Code/CMakeFiles/FirstPersonController.Private.Object.dir/profile/Source/Clients/FirstPersonControllerSystemComponent.cpp.o', needed by 'bin/profile/libFirstPersonController.Editor.so', missing and no known rule to make it

padreputativo commented 3 months ago

I forgot to mention that I'm on Linux Ubuntu with a fresh install specifically to get O3DE working.

padreputativo commented 3 months ago

It seems to be a complex problem related to how the Gems are compiled and how both CMake and Ninja interpret the build templates. It is likely that the file Gems/FirstPersonController/1.0.0/Code/CMakeLists.txt needs to be updated using a new template, which in turn may also need to be updated on the official website.

padreputativo commented 3 months ago

Once I managed to compile the project, it now says [Error] (First Person Controller Component) - Failed to retrieve default scene. I don't know if the API of PhysX has changed; I am still trying to learn the general lines of the engine and I don't really know what could be happening... Are you still using this engine?

padreputativo commented 2 months ago

Regarding the compilation issue, it happens when you don't have all the libraries recommended on the Requirements page installed. As for the problem of not finding the camera, I assume it's due to some change in the API, but I still don't know how things work in O3DE to know how to fix it.

gralco commented 2 months ago

Hello! I would like to know if this script is being actively updated or if it will no longer be updated.

Hi, yes this gem is still being maintained. I plan on testing it on O3DE 24.09.0 when it's released.

It looks like you might have gotten some assistance on the O3DE Discord. Let me know if you need any more assistance getting it built. I'm running Fedora 40 myself so our environments are a bit different but I'll do my best to help with the limited time I have available.