UE5 两种方式解决Decal Actor贴花拉伸问题

在使用Decal Actor组件放置贴花时,常会遇到拉伸(竖纹)问题。以下是两种常见的解决方法

1.法线阈值遮罩

该问题的原因在于绘制平面与投射Actor之间的夹角过小。可以通过修改Decal Actor的材质球,获取当前绘制平面的法线并计算点乘,再乘以遮罩来避免拉伸 。应用该材质后,拉伸现象即可消失。

运用该材质球后,拉伸效果消失:

需要说明的是,使用世界坐标的DDX和DDY来求当前法线,是因为直接通过法线节点获取到的是Decal Actor自身的法线,而非绘制平面的法线。

2.三平面投影

根据项目需求,也可以采用三平面投影的方法来避免拉伸。

该方法同样需要用到上一步中获取的法线信息。

Decal默认会自带边缘淡出效果,但这个效果不太理想,也不好调,因为UE把逻辑写死在源码里了。这时候可以通过Decal Actor自身的位置和WorldPosition做对比来手动修改。

相关推荐
海绵宝宝转agent5 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
每天都要写算法(努力版)5 小时前
【行业前沿报告】DAgger:让智能体在自己走到的状态上学习
人工智能·学习·机器学习
sunshine22 girl9 小时前
Java学习六 Java常见API-2--String-3-字符串的截取替换和其他方法
java·开发语言·学习
sunshine22 girl9 小时前
Java学习六 Java常见API-1-Radom随机数
java·开发语言·学习
Answer1st10 小时前
【嵌入式学习】嵌入式原理知识-DMA(九)
学习
传奇开心果编程10 小时前
【ArkUI进阶练中学】第11课:安全与合规进阶
学习·ui·华为·harmonyos
Mr_Macallon12 小时前
C++回顾(基础)(01)
c语言·开发语言·c++·学习
sunoo-22913 小时前
【ARM嵌入式学习笔记第十天】i.MX6ULL eLCDIF控制器驱动RGB LCD全解析(硬件原理+寄存器配置+裸机代码)
arm开发·笔记·学习
kaiyou202614 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习
知识分享小能手14 小时前
C++ 学习教程,从入门到精通,string类和标准模板库 — 完整知识点详解(16)
开发语言·c++·学习