Version: 2023.2

AndroidBlitType

enumeration

切换到手册

描述

描述如何在屏幕上显示内容的方法。

选项如下所示:

使用 **Always** 在屏幕外渲染以及对后备缓冲区执行 blit 操作。 使用 **Never** 直接渲染到后备缓冲区。 使用 **Auto** 自动选择最合适的选项。

根据设备的不同,AndroidBlitType.Never 可能不支持在运行时切换 MSAA 设置或以非原生分辨率渲染。 AndroidBlitType.Never 不提供 sRGB 后备缓冲区。线性渲染需要一个执行 sRGB 读/写转换的帧缓冲区(请参阅 RenderTexture.sRGB),否则生成的图像通常显得太暗。因此,在使用线性渲染时,不建议使用 AndroidBlitType.Never。如果想使用 AndroidBlitType.Never 进行线性渲染,尽管有这些信息,您仍然必须设置自己的 sRGB 渲染目标并处理针对后备缓冲区的 blit 操作。

使用 Vulkan 图形 API 时,将忽略 AndroidBlitType。

using UnityEditor;
using UnityEditor.Build;
using UnityEngine;
public class AndroidBlitTypeExample : MonoBehaviour
{
    [MenuItem("Build/Android Blit Type Auto Example")]
    public static void AndroidBlitTypes()
    {
        PlayerSettings.SetScriptingBackend(NamedBuildTarget.Android, ScriptingImplementation.IL2CPP);
        PlayerSettings.Android.targetArchitectures = AndroidArchitecture.ARM64;
        //Set AndroidBlitType to Auto which automatically determines
        //the most appropriate method for drawing to the screen.
        PlayerSettings.Android.blitType = AndroidBlitType.Auto;
        BuildPlayerOptions options = new BuildPlayerOptions();
        options.scenes = new[] { "Assets/Scenes/SampleScene.unity" };
        options.locationPathName = "Builds/AndroidBuild.apk";
        options.target = BuildTarget.Android;
        options.targetGroup = BuildTargetGroup.Android;
        BuildPipeline.BuildPlayer(options);
    }
}

变量

Always始终在屏幕外渲染并对后备缓冲区执行 blit 操作。
Never绝不在屏幕外渲染,也不对后备缓冲区执行 blit 操作。始终直接渲染到后备缓冲区。
Auto自动确定最适合绘制到屏幕的方法。