• CG广告牌


    1. Shader "Unlit/GUANGGAO"
    2. {
    3. Properties
    4. {
    5. _MainTex ("Texture", 2D) = "white" {}
    6. [MaterialToggle]_Verical("Verical",Range(0,1))=1//方向约束
    7. }
    8. SubShader
    9. {
    10. Tags { "RenderType"="Transparent" "Queuue"="Transparent" "IgnoreProjector"="true" "DisableBacthing"="True"}
    11. LOD 100
    12. Pass
    13. {
    14. ZWrite off
    15. Blend SrcAlpha OneMinusSrcAlpha
    16. Cull off
    17. CGPROGRAM
    18. #pragma vertex vert
    19. #pragma fragment frag
    20. // make fog work
    21. #pragma multi_compile_fog
    22. #include "UnityCG.cginc"
    23. struct appdata
    24. {
    25. float4 vertex : POSITION;
    26. float2 uv : TEXCOORD0;
    27. };
    28. struct v2f
    29. {
    30. float2 uv : TEXCOORD0;
    31. UNITY_FOG_COORDS(1)
    32. float4 vertex : SV_POSITION;
    33. };
    34. sampler2D _MainTex;
    35. float4 _MainTex_ST;
    36. fixed _Verical;
    37. v2f vert (appdata v)
    38. {
    39. v2f o;
    40. float3 center=float3 (0,0,0);
    41. float3 view=mul(unity_WorldToObject,float4(_WorldSpaceCameraPos,1));
    42. float3 normalDir=view - center;
    43. normalDir.y= normalDir.y*_Verical;
    44. normalDir=normalize(normalDir);
    45. float3 upDir= abs(normalDir.y)>0.999? float3(0,0,1):float3(0,1,0);//判断法线是否向上
    46. float3 rightDir=normalize(cross(upDir,normalDir));
    47. upDir=normalize(cross(normalDir,rightDir));
    48. float3 centerOffs=v.vertex.xyz-center;
    49. float3 localPos=center+rightDir*centerOffs.x+upDir*centerOffs.y+normalDir*centerOffs.z;
    50. o.vertex = UnityObjectToClipPos(localPos);
    51. o.uv = TRANSFORM_TEX(v.uv, _MainTex);
    52. UNITY_TRANSFER_FOG(o,o.vertex);
    53. return o;
    54. }
    55. fixed4 frag (v2f i) : SV_Target
    56. {
    57. // sample the texture
    58. fixed4 col = tex2D(_MainTex, i.uv);
    59. // apply fog
    60. UNITY_APPLY_FOG(i.fogCoord, col);
    61. return col;
    62. }
    63. ENDCG
    64. }
    65. }

  • 相关阅读:
    vue常用指令
    [附源码]计算机毕业设计JAVA放肆游旅游网
    【Flutter】【package】badges 徽章
    Java目录【教程】
    [LiteratureReview]A Collaborative Visual SLAM Framework for Service Robots
    基于桶的排序之计数排序
    Java8的Stream用法
    9. Vue3中如何将虚拟节点渲染成真实节点
    数据可视化
    SpringBoot全局异常处理请求参数校验及响应体包装
  • 原文地址:https://blog.csdn.net/weixin_54479200/article/details/126954139