为什么Unity 2020.1.10 冻结在Oculus 的android 版本上?

问题描述

我得到了一些: Assets/PostProcessing/Resources/Shaders/MotionBlur.cginc(90) 中未声明的标识符“sampler_CameraDepthTexture”(在 gles3 上) 我在 ???.cginc 中以不同的行号获得了许多这些,并且不知道从哪里开始。 这些会在构建过程中引起问题吗? 如果需要,我可以提供更多信息。我不想用混淆的数量填充这篇文章。 编辑/首选项/外部工具中没有显示错误。 谢谢。

解决方法

这只是您提供的有限信息的猜测。

可能此平台不支持 DepthTexture 或当前已禁用。如果您从游戏中移除 MotionBlur 着色器并重试并且没有出现新错误 - 您可以确定这是一个问题并尝试修复着色器代码。

如果您使用 URP,则需要在 URP 的资产菜单中启用 DepthTexture

enter image description here

如果您的着色器是手动编写的,则应移至着色器图。

至于错误,如果游戏产生了一个有效的二进制文件,那么将会有两个缺点:

  • 您的游戏不会显示 MotionBlur 着色器,它会变成粉红色或根本不显示
  • 由于错误日志不断出现垃圾邮件,您的游戏速度会变慢。

注意,DepthTexture 在移动设备上非常昂贵!