- Custom AOSP build compiled for Neonkey compatibility: The Neonkey Mezzanine provides us with all the required senors that are used for head tracking in the Google VR SDK. Since the AOSP Sensor HAL does not support dynamic detection or "hot plugging" of sensors, we need to compile AOSP from source to enable support for the neonkey mezzanine.
To develop our VR content, we will be using the Unreal Engine 4 Editor. Although Google VR SDK can be used with both Unity and Unreal Engine 4, I personally prefer UE4 for its MASSIVE cross platform compatibility and the Unreal Engine 4 Editor itself being available on Linux based OS allowing us to use Linux to develop VR games and Demos, unlike Unity which is restricted to Mac and Windows.
-
Installing Unreal Engine 4 Editor
-
Installing NVIDIA CodeWorks: Select your OS accordingly
Although an NVIDIA GPU in not required at all, I developed this demo using a Intel HD P630 GPU, NVIDIA CodeWorks needs to be install as it provides the Android SDK and NDK support required by UE4 to build Android packages.
Make sure the neonkey is properly connected to board and a compatible AOSP build is installed.
- Start Unreal Engine Editor 4
- From the Unreal Projects Browser create a new Blueprint based project with the following options.
- Setup Project for VR
- Google VR Plugin
- Modify Project Properties for VR
- Edit -> Project Settings
- Clear Default Touch Interface
- Make sure HDR is turned off under Rendering
- Setup Android SDK: Under Platforms, Android SDK, make sure the SDK, NDK and JDK paths are correctly setup.
- Android Configuration Setup: Under Projects, Android, make sure the following things are enabled
- If you see a red banner saying "Project not configured... ", click "Configure Now"
- Accept SDK License
- Make sure "Enable Gradle instead on ANT" is NOT selected.
- It is recommended to select "Package game data inside .apk" for ease of installation.
- If you are building for the Hikey960 Feel free to select OpenGL ES3.1 under "Builds" Section.
- It is recommended to select arm64/armv8 as well since both the HiKey boards support 64bit apps.
-
To deplay the VR application to the 96Boards development board:
-
- File -> Package Product -> Android
-
- Select:
-
- Select the output folder
-
- ... This might take a while
-
- Navigate to the output folder and you should see a folder named
Android_ETC2
orAndroid_ETC1
and inside said folder you would find thevr_demo-arm64-es2.apk
- Navigate to the output folder and you should see a folder named
-
- Connect the board to the host system and Install the apk using adb:
$ cd <project output folder> $ adb install vr_demo-arm64-es2.apk
-
Although this project only covers the Unreal Engine 4, there is no such limitation. With the Mali G-71 GPU on boards the Hikey960 and quad cortex A73 BIG cores, It is a grate choice of hardware to develop and test VR Games and applications. On the other hand the neonkey provides excellent head tracking with its BMI160 based 9 axis accelerometer and gyroscope.