描述如何在屏幕上显示内容的方法。
选项如下所示:
使用 **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); } }