Hello,大家好,今天和大家聊一下Unreal中Decal贴花拉伸运用技巧,我是木偶心没。
贴花(decal)在游戏里面是运用的比较多的,因为他可以简单的把图片运用不同的叠加方式绘制到另一个物体的表面,比如说游戏中的脏迹,脚印,弹孔和血迹等,都是贴花的效果。
在unreal里面,我们还可以单独绘制贴花的base color,roughness和normal。但是我们也会遇到一些常见的decal问题,比如说垂直的地方比如说墙边会进行拉伸。
这是因为decal计算的信息只有x和y轴,没有z轴的信息,所以遇到垂直的物体就不会自动投射z轴的信息造成拉伸。
我们只要在材质中算出贴花贴在垂直的那部分上的范围,然后剔除掉那部分就可以了。如何求出垂直的那部分,比较简单的算法是直接比较贴花的z轴和垂直的向量(0,0,1)是否垂直(夹角等于90度)。所以我们首先我们用Absolute World Position获取贴花的绝对世界坐标。
然后因为要获取的z轴是贴花的,需要在viewspace中进行换算,所以用transformVector将默认的世界坐标空间world space转化成view space,然后通过view space的x和y坐标的模(normalize)来求z的值。因为z轴是垂直于x和y的,所以只需要用cross就可以求得与x和y垂直的向量,即z轴。
求得以后转变坐标系到world space,因为需要求贴花的z向量和(0,0,1)的夹角。
用得到的结果与向量(0,0,1)进行dot(点乘),得到的值如果等于0的话则说明两个向量之间的夹角为90度,即垂直,因为如果遇到墙面,相当于贴花的法线方向就等于墙面的法线方向,所以会与(0,0,1)垂直。
所以如果我们用所得到的值和贴花的opacity做乘法的话,最后的结果就会把垂直那部分的效果切掉。
最后我们在引擎里面看到修改后的效果如下
来源:Thepoly公众号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答在火星时代教育,我们为学生提供全方位的UE设计学习途径,让学生理解并精通UE设计的核心内容和技能
该文章深入探讨火星时代教育推出的原画快速培训班,旨在帮助读者了解原画的艺术风格,让他们在短时间内掌握原画创作的要诀。
文章详细介绍并分析了UE5数字展厅培训设计的重要性,分享了理解和优化设计的策略。本文是火星时代教育的知识分享,帮助读者对UE5......
本文揭示了一些顶尖的UE设计学习机构,分析了各自的特色和优势,并在文章末尾提供了火星时代教育的相关信息。
本文详细介绍了UE4和UE5在虚拟现实学习中的应用,向读者展示了不同层面的虚拟现实学习方法。火星时代教育为全球虚拟现实学习者提......
这篇文章主要介绍了影视3D广告包装的重要性,以及如何选择合适的影视3D广告包装培训班。
1. 打开微信扫一扫,扫描左侧二维码
2. 添加老师微信,马上领取免费课程资源
同学您好!