forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Billboard shader Z-lock (http://forum.boolean.name/showthread.php?t=20058)

ILonion 26.10.2015 19:29

Billboard shader Z-lock
 
Доброго времени!
Разбирается кто-нибудь в шейдерах?
Как залочить этот билборд шейдер по оси roll(z)?

Код:


Shader "Billb Alpha Blend"
{
  Properties {
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Texture Image", 2D) = "white" {}
  }

  SubShader {
               
          Tags {"Queue" = "Transparent"}

      Pass {

        ZWrite Off

        Blend SrcAlpha OneMinusSrcAlpha

        CGPROGRAM
 
        #pragma vertex vert 
        #pragma fragment frag
           
        uniform sampler2D _MainTex; 
 
        struct vertexInput {
            float4 vertex : POSITION;
            float4 tex : TEXCOORD0;
        };
        struct vertexOutput {
            float4 pos : SV_POSITION;
            float4 tex : TEXCOORD0;
        };
 
        vertexOutput vert(vertexInput input)
        {
            vertexOutput output;
 
                        output.tex = input.tex;
            output.pos = mul(UNITY_MATRIX_P, mul(UNITY_MATRIX_MV, float4(0.0, 0.0, 0.0, 1.0)) - float4(input.vertex.x, input.vertex.z, 0.0, 0.0));
            return output;
        }
               
                fixed4 _Color;
       
                float4 frag(vertexOutput input) : COLOR
        {
            return tex2D(_MainTex, float2(input.tex.xy)) * _Color;
        }
 
        ENDCG
      }
  }
}



*UPD: модератор, перенеси, пожалуйста, в соотв. раздел тему. я ошибся.

RegIon 26.10.2015 19:45

Ответ: Billboard shader Z-lock
 
Чувак, причем тут шейдер?
Хотя в принципе можно и шейдером, поправив место где вычисляются координаты вершин, т.е в строчке:
PHP код:

output.pos mul(UNITY_MATRIX_Pmul(UNITY_MATRIX_MVfloat4(0.00.00.01.0)) - float4(input.vertex.xinput.vertex.z0.00.0)); 

Mr_F может подсказать что наверное.

ILonion 26.10.2015 20:53

Ответ: Billboard shader Z-lock
 
Вот мне и не ясно что и как там изменить.

"Чувак, причем тут шейдер?"
Да, нужно шейдером. LookAt-ы не подходят.


Часовой пояс GMT +4, время: 20:33.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot