思想
逐像素求法向,然后與整個材質的法向做點積,然后用給定的角度閾值做篩選,將超過角度閾值的像素Opacity置0(不顯示)!【產品級慎用!!】
或者壓縮貼花的高度,可以一定程度減輕這種狀況
實現
以UE4Decal示例內容為例,在decal材質中添加少許代碼如下:
1. 根據DDX和DDY叉積求得像素位置的法向
2. 拿到材質所附着對象的法向(為什么*-1: 嘗試不乘效果是反的^_^)
3. 單位法向點積確定夾角,閾值暫定0.1(≈cos85°)
4. 根據閾值過濾像素,超過角度閾值的Opacity * 0 不顯示
效果