【UE5视差】真实建筑室内效果是怎样用视差映射制作实现的?(下部)...
教程UE映射Game艺视界原创 15691 1
实名

通过了实名认证的内容创造者

发布于 2022-3-24 18:33:57

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 Game艺视界 于 2022-3-24 18:35 编辑

image.png

今天我们要完善我们的里面绘图技术,为了完成我们的里面映射技术,我们需要做三件事,我们一直在研究这个着色器,它将我们的相机矢量和纹理坐标转换为室内房间

让我们开始吧!我们需要做的第一件事是创建新的材质函数,我们要到我们的里面映射着色器选择我们上节课制作好节点复制粘贴到我们材质函数中

b802dd5591646e82c1ed4abc5d7a89db.png




我要用我最后lerp的结果,把它代入我的输出结果对于我的输出结果来到这里设置我将调用dir因为是方向我的向量指向函数外面我要用它来采样我的立方体地图


我将输出上次创建的随机噪声节点产生随机噪声的结果把它四舍五入到0或1我要把它取下来为了便于记忆我们把它叫做随机Result


我们需要在函数中暴露我们需要暴露的纹理坐标我再右键点击一下输入,我们会选择函数输入我的纹理坐标是浮点数2或向量2输入,我想把它的输入类型设为向量2我要把它代到这里来代替uv坐标我要把uv带入预览节点

在输入节点上选择这里使用预览框作为默认输入它的作用是插入了输入的预览端口如果没有任何东西输入将使用默认值(命名uvs)

最后一件事,需要做的是为静态值添加新的输入端口,右键输入我们会得到另函数是输入向量因为它控制着房间的网格在例子中

好了,我的函数我做完了,准备开始了主要是暴露uv接口和房间数量,接下来可以在着色器中使用函数我要到内容抽屉,我要创建新的着色器然后打开将我们创建好的函数拖拽进来

我们来到ps处理我们外墙材质,它会告诉着色器纹理的哪些部分是外部的建筑和建筑里面的部分,白色区域在窗户的玻璃是透明的地方,是黑色的区域在建筑不透明的地方

接下来我们来谈谈使用立方体贴图

ue对于正x和负x我们要旋转旋转它们逆时针和顺时针,是正y和负y我们必须把正y颠倒过来正z和负z可以保持不变

我们在虚幻中,我们已经得到了我们里面立方体着色器,开始是我们创建的里面立方体材料函数,我们需要引入我们的纹理我要打开我们的内容抽屉分别将外墙和里面纹理放入我们材质球内分别连入我们外墙和室内

外墙


室内


新建lerp节点整合


通过alpha我们可以看到内外结构

玻璃具有反射性尤其是在反光角度,让我们在里添加菲涅耳节点为了模拟反射率,我们可以做的另一件事是取alpha通道对于窗口的位置,我们要我们要求逆alpha通道的我们要用它来设置粗糙度,我们的窗口是会非常光滑

我们要做的另一件事是让我们的窗户少一点透明的,我们在里加正数alpha通道的输出是0.3

而菲涅耳所做的是它会像我们一样衰减,我要把顶点法线连接起来它的边缘是白色的中间是黑色的

(1-x)减去菲涅耳在中间是白色的边缘颜色更深,现在我要把它拿出来乘以通道,这样我的窗口边缘就更不透明了,边缘的深色部分要乘以通道这样窗户就会变暗当它们绕到边缘的时候,我想做的是调整菲涅耳指数现在是5,我要让它0.1然后链接到我们的alpha通道



我们把一些房间亮起来把一些房间暗下来,所以我要从我的里面立方体中得到的随机值,我们要给它添加组件掩码我将随机选择绿色通道,我们来看看它是这样子的如果我把它连接起来,你可以看到有些方块是白色的,有些是黑色的取立方体映射样本的结果


我们要把它乘以条边的衰减值,把它的结果相乘通过我们的随机蒙版,我们将得到结果把它弄亮将其乘以静态值20看到一些办公室里灯火通明,有些办公室很暗


房间随机化

直到现在所有我制作的室内贴图视频都在切线空间中,这意味着建筑的里面取决于表面上的uv坐标,今天我们将讨论一个变体里面映射我教你怎么做使建筑的里面依赖于对象空间映射到的网格的位置而不是UV你可能会想要使用这个技巧

首先我们先创建里面空间函数,本地位置节点在unity中,它被称为物体空间位置,在unrea,它被称为局部位置我用这个值乘以0.01因为uitly单位是米UE中是里面所以我需要转换到米

设置房间数量


与单位相乘然后把结果乘以0.99为了避免精度问题,乘以0.99以后我要取小数部分结果,因此这是返回所有的东西小数点右边把所有的整数都扔出来然后乘以2,再减去1扩大从0到1到-1到1的向量



我要把它乘上去通过我的摄像机矢量,将其世界空间转化为本地空间,然后乘以-1这么做原因是为了补偿unreal的z向上方向。我要拿我的相机向量把它们相乘,首先我会找到相机向量的倒数,然后乘以本地的位置然后求倒数的绝对值我减去位置乘以绝对值

现在我需要找到这三个组成部分中的哪一个向量是最小的,所以我要做一个最小值我要把红色的部分分开,绿色和蓝色求红色和绿色的最小值。然后求出它和蓝色的最小值,这样就得到了这三个中哪一个最小。然后再乘以我的我的相机向量得到结果,我要所有这些计算的结果我将把它们添加到调整后的局部位置,这将给出我的最终方向,我可以用它来采样我的立方体地图


我们需要生成一些随机的值,这样就可以轮换房间,随机分配为了做到这一点我要去我当地的位置取这个值的下限四舍五入到最近的洞数,然后我把它传递到我的随机数中,你们可以看到我把它们四舍五入到最接近的0或1

(Hash33为我生成三个随机值下图)与Hash23不同

周围的房间是随机的我将使用这个输出,为不同的房间照明或者随机选择哪个房间被点亮

然后我在这里生成我需要的正负值,经过一系列运算我可以在这里输出我的方向

全部节点


最终效果(房间内样式与亮灯房间随机)







原帖地址:【UE5视差】真实建筑室内效果是怎样用视差映射制作实现的?(下部) (qq.com)


         

本帖被以下画板推荐:

微信公众号:Game艺视界
使用道具 <
conjuror  发表于 2022-7-16 12:42:52  
2#
原创作品发元素,日积月累成大触。
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表