.. _2 SDK配置说明: 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++” .. image:: _static/2.2.1.png 图2.1 Visual Studio 2017安装选项 .. image:: _static/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成员函数的实现中增加 .. code-block:: c++ OutExtensions.Add(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME); 修改后的代码: .. code-block:: c++ void FVulkanAndroidPlatform::GetInstanceExtensions(TArray& 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); } 2. Engine/Source/Runtime/VulkanRHI/Private/Android/VulkanAndroidPlatform.cpp文件,在GetDeviceExtensions成员函数的实现中增加 .. code-block:: c++ OutExtensions.Add(VK_KHR_MULTIVIEW_EXTENSION_NAME); OutExtensions.Add(VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME); 修改后的代码: .. code-block:: c++ void FVulkanAndroidPlatform::GetDeviceExtensions(EGpuVendorId VendorId, TArray& 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); } 3. Engine/Source/Runtime/VulkanRHI/Private/Android/VulkanAndroidPlatform.cpp文件,将SupportsStandardSwapchain和GetPixelFormatForNonDefaultSwapchain两个成员函数的实现的返回值进行如下修改 .. code-block:: c++ bool FVulkanAndroidPlatform::SupportsStandardSwapchain() { return false; } EPixelFormat FVulkanAndroidPlatform::GetPixelFormatForNonDefaultSwapchain() { return PF_R8G8B8A8; } 4. Engine/Config/BaseDeviceProfiles.ini配置文件,在[Android DeviceProfile]里的参数中,如果有r.Android.DisableVulkanSupport这一参数,则将该参数值设置为0,如下,如果没有这一参数则不用修改。 .. code-block:: c++ +CVars=r.Android.DisableVulkanSupport=0 5. Vulkan渲染开发在UE4.27版本可直接使用非源码版Editor,但是使用时需要关闭OpenXR的插件。 .. image:: _static/2.2.3.png 图2.3 关闭OpenXR插件 6. 启用Vulkan需在Project Settings-Platforms-Android-Build中取消勾选Support OpenGL,勾选Support Vulkan。 .. image:: _static/2.2.4.png 图2.4 启用Vulkan渲染