UE4解决贴花拉伸的简单办法

思想

逐像素求法向,然后与整个材质的法向做点积,然后用给定的角度阈值做筛选,将超过角度阈值的像素Opacity置0(不显示)!【产品级慎用!!】

或者压缩贴花的高度,可以一定程度减轻这种状况

实现

以UE4Decal示例内容为例,在decal材质中添加少许代码如下:

 

1. 根据DDX和DDY叉积求得像素位置的法向

2. 拿到材质所附着对象的法向(为什么*-1: 尝试不乘效果是反的^_^)

3. 单位法向点积确定夹角,阈值暂定0.1(≈cos85°)

4. 根据阈值过滤像素,超过角度阈值的Opacity * 0 不显示

效果

 

posted @ 2021-05-07 21:34  yocichen  阅读(1224)  评论(0编辑  收藏  举报