Обнаружено использование UNITY_MATRIX_MV - PullRequest
0 голосов
/ 30 января 2019

Я взял шейдер билборда из Интернета, но у меня есть это предупреждающее сообщение «Предупреждение шейдера в« Custom / Billboard »: обнаружено использование UNITY_MATRIX_MV. Чтобы преобразовать вершину в пространство просмотра, рассмотрите возможность использования UnityObjectToViewPos для повышения производительности»."

Я не уверен, как исправить код с помощью новой функции.Вот шейдер:

Shader "Custom/Billboard"
{
    Properties{
       _MainTex("Texture Image", 2D) = "white" {}
       _ScaleX("Scale X", Float) = 1.0
       _ScaleY("Scale Y", Float) = 1.0
    }
        SubShader{
           Tags{"Queue" = "Transparent" "RenderType" = "Transparent" }
           Pass{
           CGPROGRAM
           #include "UnityCG.cginc"
           #pragma vertex vert  
           #pragma fragment frag

           uniform sampler2D _MainTex;
           uniform float _ScaleX;
           uniform float _ScaleY;

           struct vertexInput {
              float4 vertex : POSITION;
              float4 tex : TEXCOORD0;
           };

           struct vertexOutput {
              float4 pos : POSITION;
              float4 tex : TEXCOORD0;
           };

           vertexOutput vert(vertexInput input)
           {
              vertexOutput output;

              output.pos = mul(UNITY_MATRIX_P,
                 mul(UNITY_MATRIX_MV, float4(0,0,0,1))
                 + float4(input.vertex.xyz, 0));

              output.tex = input.tex;

              return output;
           }

           float4 frag(vertexOutput input) : COLOR
           {
              return tex2D(_MainTex, float2(input.tex.xy));
           }

           ENDCG
        }
       }
}

1 Ответ

0 голосов
/ 03 февраля 2019

Тебе не нужно ничего делать.Если вы хотите изменить его, хотя, если ничего больше просто убрать предупреждение, вы можете заменить это:

mul(UNITY_MATRIX_MV, float4(0,0,0,1))

этим:

UnityObjectToViewPos((float3)0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...