|
4 months ago | |
---|---|---|
.. | ||
Assets | 2 years ago | |
Config | 3 years ago | |
Gem | 6 months ago | |
Levels | 2 years ago | |
Platform | 3 years ago | |
Registry | 4 months ago | |
Resources | 3 years ago | |
ShaderLib | 3 years ago | |
cmake | 3 years ago | |
.gitignore | 3 years ago | |
CMakeLists.txt | 3 years ago | |
README.md | 2 years ago | |
autoexec.cfg | 3 years ago | |
game.cfg | 3 years ago | |
preview.png | 3 years ago | |
project.json | 6 months ago |
This project was setup to function as test bed for openxr development. It is a simple level that can be used as is or even modified to run experiments related to feature development for XR work. These experiments could be related to cpu or gpu performance work or adding new features related to this work.
development
branch. For details refer to Setting up O3DE from GitHub.development
branch. For details refer to O3DE-Extras readme.Register XR
and OpenXRVk
gems within O3DE:
>scripts\o3de.bat register -gp <your path to o3de-extras>/Gems/XR
>scripts\o3de.bat register -gp <your path to o3de-extras>/Gems/OpenXRVk
Once the gems are registered within O3DE you can enable XR
and OpenXRVk
gems in your project as usual with project manager or command line. For details refer to Adding and Removing Gems.
The project OpenXRTest is already setup with XR
and OpenXRVk
gems enabled and provides test levels (DefaultLevel
and XR_Office
).
<project-build-path>/bin/profile> Editor.exe -rhi=vulkan -openxr=enable
Ctrl+G
.ESC
will exit game mode and stop rendering on Meta Quest 2.<project-build-path>/bin/profile> <ProjectName>.GameLauncher.exe -rhi=vulkan -openxr=enable
> Note
> Make sure to indicate an initial level to load.OpenXRVk
gem in the following folder OpenXRVk\External\OculusOpenXRMobileSDK
.<project-path>/Registry/autoexec.game.setreg
and is set to be DefaultLevel
Make sure that Asset Processor is set to process Android assets. For openXrTest project we have created <project-path>/Registry/AssetProcessor.setreg
file with following content to generate android assets in the cache:
{
"Amazon": {
"AssetProcessor": {
"Settings": {
"Platforms": {
"android": "enabled"
}
}
}
}
}
In order to help with gpu performance we have created <project-path>/Registry/OpenXR.setreg
within OpenXRTest project. You can also set the ViewResolutionScale
setting per platform to scale down the resolution and gain performance at the cost of picture quality. We have currently set it to 75% of the native resolution. This can be bumped to 100% when foveated rendering is enabled.
{
"O3DE": {
"Atom": {
"OpenXR": {
"Enable": true,
"android_ViewResolutionScale": 0.75
}
}
}
}
Run Asset Processor and wait for all the assets to be processed.
Connect Meta Quest 2 to the PC.
Build and deploy android following these steps with the following alterations:
o3de-atom-sampleviewer
. So in this case it will be OpenXrTest project.generate_android_project.py
command use LOOSE
for %O3DE_ANDROID_ASSET_MODE%
and add the option --oculus-project
.
> Note:
> When targeting OpenXR devices other than Meta Quest 2, do not include --oculus-project
option.deploy_android.py
command use APK
for %O3DE_ANDROID_DEPLOY_TYPE%
.When openxr is enabled (-openxr=enable) the app will automatically try to use the XR pipeline. There are three cvars defined in \o3de\Gems\Atom\Bootstrap\Code\Source\BootstrapSystemComponent.cpp which contain names of the XR related pipelines.
For terms please see the LICENSE*.TXT files at the root of this distribution.