2016-10-27 10 views
6

iOS用のUnity 5.4.2f2アプリケーションをビルドしようとしています。これはコンパイルエラーなしで行われます。しかし、Xcode 8.0を使用してアプリケーションを実行しようとすると、すぐにクラッシュし、デバッガは次のエラーを報告します。シェイダーがコンパイルされていないため、iOSでUnityアプリケーションがクラッシュする

Initialize engine version: 5.4.2f2 (b7e030c65c9b) 
-------- Shader compilation failed 
#version 100 
#extension GL_EXT_frag_depth : enable 
precision highp float; 
uniform highp vec4 _ProjectionParams; 
uniform highp vec4 _ZBufferParams; 
uniform highp mat4 unity_CameraToWorld; 
uniform highp mat4 _NonJitteredVP; 
uniform highp mat4 _PreviousVP; 
uniform highp sampler2D _CameraDepthTexture; 
varying highp vec2 xlv_TEXCOORD0; 
varying highp vec3 xlv_TEXCOORD1; 
void main() 
{ 
    highp vec4 tmpvar_1; 
    tmpvar_1 = texture2D (_CameraDepthTexture, xlv_TEXCOORD0); 
    mediump vec2 tmpvar_2; 
    highp vec4 tmpvar_3; 
    tmpvar_3.w = 1.0; 
    tmpvar_3.xyz = ((xlv_TEXCOORD1 * (_ProjectionParams.z/xlv_TEXCOORD1.z)) * (1.0/((
        (_ZBufferParams.x * tmpvar_1.x) 
        + _ZBufferParams.y)))); 

    highp vec4 tmpvar_4; 
    tmpvar_4 = (unity_CameraToWorld * tmpvar_3); 

    highp vec4 tmpvar_5; 
    tmpvar_5 = (_PreviousVP * tmpvar_4); 

    highp vec4 tmpvar_6; 
    tmpvar_6 = (_NonJitteredVP * tmpvar_4); 

    highp vec2 tmpvar_7; 
    tmpvar_7 = (((tmpvar_5.xy/tmpvar_5.w) + 1.0)/2.0); 

    highp vec2 tmpvar_8; 
    tmpvar_8 = (((tmpvar_6.xy/tmpvar_6.w) + 1.0)/2.0); 
    tmpvar_2 = (tmpvar_8 - tmpvar_7); 

    mediump vec4 tmpvar_9; 
    tmpvar_9.zw = vec2(0.0, 1.0); 
    tmpvar_9.xy = tmpvar_2; 
    gl_FragDepthEXT = tmpvar_1.x; 
    gl_FragData[0] = tmpvar_9; 
} 

failed compiling: fragment evaluation shader WARNING: 0:4: extension 'GL_EXT_frag_depth' is not supported ERROR: 0:38: Use of undeclared identifier 'gl_FragDepthEXT'

Note: Creation of internal variant of shader 'Hidden/Internal-MotionVectors' failed. WARNING: Shader Unsupported: 'Hidden/Internal-MotionVectors' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/Internal-MotionVectors' - Setting to default shader.

のXcode 8.0はOPenGL 2.0が含まれています。

Unity forumで、人々はUnity 5.4の方がいいはずだと教えてくれます。しかし、それは私のために働いていない。 Androidデバイスでは、私のアプリケーションはかなり正常に動作します。

+0

は、あなたがそれを解決しましたか? –

+1

@JérômeBoé私は明日の答えを追加します – Sami

+0

あなたのソリューションを投稿すればいいですね、それはかなり緊急です^^ –

答えて

5

オープンユニティ - >編集 - >プロジェクト設定 - >グラフィック

そして、ビルトインシェーダ設定で深法線を参照し、編集/プロジェクトから何の支援に

Here is Screenshot telling where to do above stuff

3

をオプションを選択しません設定/グラフィックスは常に含まれているシェーダを見ることができます。その場合は参照してください

シーン内に3Dオブジェクトがある場合は、すべてのメッシュレンダリングrs .. 階層内を検索して、すべてを見ることができます:t:meshrendere

私は、「編集/プロジェクト設定/グラフィック」の下にある「モーションベクター」の設定でした。

参考: https://forum.unity3d.com/threads/hidden-shader-motionvectors.431470/

関連する問題