当前位置:   article > 正文

UnityShader之毛绒绒效果_游戏中的毛绒绒效果三层透贴

游戏中的毛绒绒效果三层透贴

今天要做一个毛球的效果

核心的算法通过多个pass,从里到外一层一层的糊上一层透明diffuse,越靠外面的地方层次越少看起来越稀疏,越模糊

FurHelper.cginc

  1. struct v2f {
  2. float4 pos : SV_POSITION;
  3. half2 uv : TEXCOORD0;
  4. half2 uv1 : TEXCOORD1;
  5. fixed4 diff : COLOR;
  6. };
  7. float _FurLength;
  8. sampler2D _MainTex;
  9. float4 _MainTex_ST;
  10. sampler2D _FurTex;
  11. float4 _FurTex_ST;
  12. float _Blur;
  13. v2f vert(appdata_base v) {
  14. v2f o;
  15. v.vertex.xyz += v.normal * _FurLength * FURSTEP;
  16. o.pos = UnityObjectToClipPos(v.vertex);
  17. o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
  18. o.uv1 = TRANSFORM_TEX(v.texcoord, _FurTex);
  19. float3 worldNormal = normalize(mul(v.normal, (float3x3) unity_WorldToObject));
  20. o.diff = LambertDiffuse(worldNormal);
  21. o.diff.a = 1 -
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/233281
推荐阅读
相关标签
  

闽ICP备14008679号