虚幻UE 材质-进阶边界混合之WAT世界对齐纹理

边界混合前篇:虚幻UE 材质-边界混合之PDO像素深度偏移量

上一篇主要讲材质相似或者不同的两个物体之间的边界混合

这一篇主要讲自建材质且相同的两个物体之间的边界混合

文章目录


一、世界对齐纹理

世界对齐纹理(WAT,World Aligned Texture)是一种特殊的纹理处理方式,用于将纹理贴图与实际物体表面对齐,使得纹理在渲染时能够正确地贴在物体表面上,实现更加真实和逼真的虚拟场景。
不依赖于物体UV坐标,直接使用世界坐标

方便做"背景"混合

其实现原理为:将贴图生成在一个统一的世界立方体之中,然后映射或者投影在物体表面。

举一个例子:

雪地里的井盖,按常理来说井盖被雪覆盖了薄薄的一层,且应该在指定位置有脚印。

通过这样描述,我们可以对井盖和地面使用同一样的材质,然后设置世界对齐纹理,这样井盖和地面的贴图生成在统一的世界立方体中,最后整体朝某个方向映射到物体表面。

最终效果简版效果:

移动井盖后:(井盖的材质没有固定,而是跟随环境的变化而变化)

二、世界对齐纹理实验

1、制作材质

首先我们指定我们需要做一个与背景地面相关的材质,所以我们创建一个材质:

材质文件创建好了,我们得对井盖进行分析,需要设置为背景雪地一样的材质,所以基础颜色需要设置为雪地纹理,且进行世界对其。

并把它赋给雪地和井盖,赋给雪地的原因是程序需要知道是哪些物体进行世界对其

但是发现贴图大小不对,调整贴图大小

这里有几个参数可以讲解一下:

bash 复制代码
输入1:
Texture Object:这里之所以使用这个节点是因为把贴图转化成一个对象传入,
相当于一个容器,输入的是一个贴图对象,
而不仅仅是Texture Sample里面的颜色,
并且世界对其贴图的节点也是希望你传一个贴图对象。

输入2:
Texture Size:这里是用一个矢量RGB来作为对应X、Y、Z轴,
默认矢量RGB为1、1、1,单位向量,这样控制起来很方便。

输出:
XY / Z / XYZ Texture:这里是说明世界对齐的轴向选择,
如果为XY Texture:
下图展示,从z轴投影就是错误的贴图。

纹理大小调整后效果:


三、进一步优化

做到这里我们还可以对其进行优化,我们现在只是对基础颜色进行了世界对齐

我们还可以对粗糙度、法线进行世界对其,这样效果更加好了

注意:法线对应的是世界对齐法线节点

由于雪地贴图没有粗糙度纹理,所以这里可以不用连接,

这里只是举例如果有粗糙度纹理的情况下的做法

最后效果:

相关推荐
万岳科技系统开发9 小时前
外卖系统小程序开发趋势:即时零售与同城配送的融合升级
unity·游戏引擎·零售
十贺12 小时前
【Unity开发字典】分包、黏包基本概念和处理逻辑实现
unity·游戏引擎
赛德传动20 小时前
蜗轮蜗杆升降机丝杆材质不同对承载与耐磨度影响大吗?
制造·材质
霸王•吕布21 小时前
游戏引擎中的BoundingBox
游戏引擎·aabb包围盒·obb包围盒
nnsix21 小时前
Unity AssetBundle(AB包) 笔记
笔记·unity·游戏引擎
mxwin21 小时前
Unity Shader Shiny SSRR
unity·游戏引擎·shader
happyprince1 天前
06-Hugging Face Transformers 生成系统深度分析
网络·unity·游戏引擎
远离UE41 天前
UE5 如何在延时渲染在材质编辑器提前使用到多灯光的数据
ue5·编辑器·材质
SCLchuck1 天前
虚幻5 Unrealsharp EditorTick + Nanite雪地踩坑记录
ue5
程序员JerrySUN2 天前
Jetson边缘嵌入式实战课程第五讲:Jetson Secure Boot - 安全启动
android·linux·服务器·人工智能·安全·unity·游戏引擎