当前位置:首页 » 《休闲阅读》 » 正文

BillBoard-广告牌技术只旋转Y轴_ThomasQxx的博客

24 人参与  2022年02月05日 08:02  分类 : 《休闲阅读》  评论

点击全文阅读


通过计算旋转后的三个正交基 来构建旋转矩阵。1.首先要计算视角向量。模型的中点Center可以设置为(0,0,0)。ViewDir = 摄像机的位置 - Center可以得到视角向量。2.向上向量Up (0,1,0)这个最简单。3.构建向右向量可以通过叉积计算出垂直与Up和View的向右向量Right。4.再通过Up和Right向量叉积计算出新的视野View’向量。5.最后通过Up Right View’三个正交基构建出旋转矩阵。

Shader "QShader/Billboard_ByY"{
    Properties{
        _MainTex("Main Texture",2D) = "white"{}
    }
        SubShader{
            Tags{"Queue" = "Transparent" "RenderType" = "Transparent" "IgnoreProjector" = "True" "DisableBatching" = "True"}
            //我们在这里关闭Shader的批处理操作。
            pass {
                Tags{"LightMode" = "Always"}
                Cull Off    //关闭剔除,让模型的两面都可以显示


                CGPROGRAM
                #pragma vertex Vertex
                #pragma fragment Fragment
                #include "Lighting.cginc"
                #include "UnityCG.cginc"

                sampler2D _MainTex;

                struct v2f {

                    float4 pos : SV_POSITION;
                    float2 uv : TEXCOORD0;
                };

                v2f Vertex(appdata_base v) {

                    v2f o;
                    float3 center = float3(0,0,0);

                    //把摄像机的位置转换到模型空间
                    float3 viewer = mul(unity_WorldToObject,float4(_WorldSpaceCameraPos,1)).xyz;
                    //获取当前的视角向量
                    float3 viewDir = viewer - center;
                    //归一化视角向量
                    viewDir = normalize(viewDir);       
                    //向上向量
                    float3 upDir = float3(0,1,0);                           
                    //向右向量
                    float3 rightDir = normalize(cross(upDir,viewDir));      
                    //归一化向右向量
                    viewDir = normalize(cross(upDir,rightDir));             
                    //每个顶点的偏移进行空间转换,然后再将这个偏移还原到新的空间(加上center)
                    float3 centerOffset = v.vertex.xyz - center;
                    float3x3 _RotateMatrix = transpose(float3x3(rightDir,upDir,viewDir));
                    float3 pos = mul(_RotateMatrix,centerOffset) + center;

                    o.pos = UnityObjectToClipPos(float4(pos,1));
                    o.uv = v.texcoord;

                    return o;
                }

                fixed4 Fragment(v2f i) :SV_TARGET{

                    return tex2D(_MainTex,i.uv);
                }

                ENDCG

            }
    }
}

点击全文阅读


本文链接:http://m.zhangshiyu.com/post/34288.html

向量  向右  视角  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • (番外)+(全书)此去经年人未还全书+番外+后续免费下载_(沈青禾霍沉洲)此去经年人未还全书+番外+后续列表_笔趣阁(沈青禾霍沉洲)
  • 完结文毁容的姐姐和瞎眼的我离开后,姜家两兄弟悔哭了+后续列表_完结文毁容的姐姐和瞎眼的我离开后,姜家两兄弟悔哭了+后续(林梦婉)
  • 妻子辱我爸受贿自杀,我掏出一等军功章节选推荐_[陈素云辰朋友]小说精彩章节分享
  • 全书浏览苔藓爬满旧日诺言新上(顾砚廷慕晚夏)_苔藓爬满旧日诺言新上(顾砚廷慕晚夏)全书结局
  • 顾尘傅雅宁(神女老婆,却在背地承欢作乐+后续+结局)结局_(顾尘傅雅宁神女老婆,却在背地承欢作乐+后续+结局全书结局)结局列表_笔趣阁(顾尘傅雅宁)
  • 「老婆怀上助理的孩子后,助理要求我净身出户」章节限时抢先看‌_「黄秋雅秋雅姐刘嘉铭」后续完结版
  • 此去经年人未还,沈青禾霍沉洲_此去经年人未还,沈青禾霍沉洲
  • 我爸娶了九十九个媳妇都死了,这次准备娶我的女同学小说精彩章节免费试读_[小梅娶媳妇孤儿]全文免费在线阅读
  • 此去经年人未还结局+番外文章简述(沈青禾霍沉洲)列表_此去经年人未还结局+番外文章简述
  • 完结文寻你寻不到归期结局+完结列表_完结文寻你寻不到归期结局+完结(姜昭意盛西)
  • 江以蓁的潮起时问归期高分佳作江以蓁秦司礼全书在线
  • 「亲手逼死儿子后,男人悔不当初」后续全文免费阅读_[傅司衍轩轩佳佳]最新章节免费阅读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1