2 SDK配置说明

2.1 支持设备

Pico Neo 3 系列

2.2 开发环境要求

软件名称 版本信息
Unreal Engine 4.24.3、4.25.4、4.26.2、4.27.2
Visual Studio VS2017及以上
Android Works 尽量使用最新版本
软件版本号 c000_rf01_bv1.0.1_sv1.181_20211022_b335及以上

注意:

  • 软件版本号可以在设备内选项 设置 - 通用 处查看。
  • 推荐使用arm64-v8a作为打包选项。
  • SDK对于设备的ROM版本没有特殊要求,但尽量确保为最新版。
  • AndroidWorks请参照:

https://docs.unrealengine.com/en-US/Platforms/Mobile/Android/InstallingAndroidCodeWorksAndroid 进行安装。

  • 4.25 以及以上版本,请参考如下链接进行环安卓环境配置:

https://docs.unrealengine.com/en-US/Platforms/Mobile/Android/Setup/AndroidStudio/index.html

在安装Visual Studio 2017及以上时务必勾选“Game development with C++”

_images/2.2.1.png

图2.1 Visual Studio 2017安装选项

_images/2.2.2.png

图2.2 Visual Studio 2019安装选项

2.3 Vulkan渲染开发配置

Vulkan渲染开发在UE4.24-UE4.26版本上需要使用源码编译的UE Editor,并且需要做如下修改:

  1. Engine/Source/Runtime/VulkanRHI/Private/Android/VulkanAndroidPlatform.cpp文件,在GetInstanceExtensions成员函数的实现中增加
OutExtensions.Add(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);

修改后的代码:

void FVulkanAndroidPlatform::GetInstanceExtensions(TArray<const ANSICHAR*>& OutExtensions)
{
        OutExtensions.Add(VK_KHR_SURFACE_EXTENSION_NAME);
        OutExtensions.Add(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME);
        OutExtensions.Add(VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME);
        OutExtensions.Add(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);
}
  1. Engine/Source/Runtime/VulkanRHI/Private/Android/VulkanAndroidPlatform.cpp文件,在GetDeviceExtensions成员函数的实现中增加
OutExtensions.Add(VK_KHR_MULTIVIEW_EXTENSION_NAME);
OutExtensions.Add(VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME);

修改后的代码:

void FVulkanAndroidPlatform::GetDeviceExtensions(EGpuVendorId VendorId, TArray<const ANSICHAR*>& OutExtensions)
{
        OutExtensions.Add(VK_KHR_SURFACE_EXTENSION_NAME);
        OutExtensions.Add(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME);
        OutExtensions.Add(VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME);
        OutExtensions.Add(VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME);
        OutExtensions.Add(VK_KHR_MULTIVIEW_EXTENSION_NAME);
        OutExtensions.Add(VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME);
}
  1. Engine/Source/Runtime/VulkanRHI/Private/Android/VulkanAndroidPlatform.cpp文件,将SupportsStandardSwapchain和GetPixelFormatForNonDefaultSwapchain两个成员函数的实现的返回值进行如下修改
bool FVulkanAndroidPlatform::SupportsStandardSwapchain()
{
        return false;
}
EPixelFormat FVulkanAndroidPlatform::GetPixelFormatForNonDefaultSwapchain()
{
        return PF_R8G8B8A8;
}
  1. Engine/Config/BaseDeviceProfiles.ini配置文件,在[Android DeviceProfile]里的参数中,如果有r.Android.DisableVulkanSupport这一参数,则将该参数值设置为0,如下,如果没有这一参数则不用修改。
+CVars=r.Android.DisableVulkanSupport=0
  1. Vulkan渲染开发在UE4.27版本可直接使用非源码版Editor,但是使用时需要关闭OpenXR的插件。
_images/2.2.3.png

图2.3 关闭OpenXR插件

  1. 启用Vulkan需在Project Settings-Platforms-Android-Build中取消勾选Support OpenGL,勾选Support Vulkan。
_images/2.2.4.png

图2.4 启用Vulkan渲染