由于未编译着色器,Unity应用程序在iOS上崩溃

时间:2016-10-27 11:35:29

标签: ios xcode unity3d shader

我正在尝试为iOS构建我的Unity 5.4.2f2应用程序。它没有编译错误。但是当我尝试使用Xcode 8.0运行应用程序时,它立即崩溃,调试器报告以下错误。

OPenGL 2.0
  

编译失败:       片段评估着色器       警告:0:4:扩展名' GL_EXT_frag_depth'不受支持       错误:0:38:使用未声明的标识符' gl_FragDepthEXT'

     

注意:创建着色器的内部变体' Hidden / Internal-MotionVectors'失败。       警告:不支持着色器:' Hidden / Internal-MotionVectors' - 通过''没有顶点着色器       警告:不支持着色器:' Hidden / Internal-MotionVectors' - 设置为默认着色器。

Xcode 8.0包含{{1}}。

Unity forum人们告诉我们Unity 5.4应该没问题。但它不适合我。在Android设备上,我的应用程序运行良好。

3 个答案:

答案 0 :(得分:5)

打开Unity - >编辑 - >项目设置 - >图形

然后在内置着色器设置下看 Depth Normals 并选择选项no support

Here is Screenshot telling where to do above stuff

答案 1 :(得分:3)

从编辑/项目设置/图形可以看到始终包含的着色器,看看它是否存在

或者,如果场景中有3D对象,请从所有网格渲染器中禁用[]运动矢量。 您可以在层次结构中搜索以查看所有这些:t:meshrendere

对我来说,这是"运动矢量"设置(也在编辑/项目设置/图形下)。

参考: http://php.net/manual/en/function.ftp-get.php#111840

答案 2 :(得分:0)

这个Blit着色器崩溃主要是因为纹理编译,IO不支持dds格式纹理,如果你使用dds纹理,用jpeg或任何其他支持的扩展替换它们,它将安全地构建在IOS上。经过长时间的研究,为我工作:)。