【Shader/简单/unity】面片图案消隐/FaceFade

面片图案消隐/FaceFade


== 仅供学习、笔记积累之用 ,如有错误望指正==

前言

效果:面片随着视线角度增大图案会被消隐,类似光栅立体卡片的效果。
本篇介绍实现方式的一种。
在这里插入图片描述

原理

类似视差映射的其中一步。这里把切线空间的视线的z分量作为fade的控制量。在切线空间中,z轴与表面normal对齐,当视线与平面平行时,视线的z值接近0,相互垂直时接近1。

实现

           real4 frag(v2f i) : SV_TARGET
           {
                real4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv);
                //=====> Mask <=====//
                float3 ViewDirW = normalize(_WorldSpaceCameraPos.xyz - i.posW);
                float3 NormalW = i.normalW;
                float3 BinormW = i.binormW;
                float3 TangentW = i.tangentW;
                float3x3 TBN = float3x3(TangentW, BinormW, NormalW);
                float3 ViewDirT = normalize(mul(ViewDirW, TBN));
                float fade_mask =pow(max(ViewDirT.z,0),_FadeRange);

                col = lerp(_BaseColor, col, fade_mask);
                return col;
           }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值