UE游戏引擎材质简单入门

目录

前言

一、PBR材质

二、材质基本节点

2.1新建材质

2.2材质中的基本节点

三、常量与向量(Constant)

3.1 一维常量

3.2 二维向量

3.3 三维向量

3.4 添加常量与向量方法

3.5 实操

四、纹理贴图变量

4.1 添加纹理贴图变量(Texture Sample)

4.2 漫反射贴图

4.3 粗糙度贴图

4.4 法线贴图

五、纹理坐标变量(Texture Coordinate)

5.1 添加纹理坐标变量

5.2 实操

六、SuperMap iClient3D for Cesium/WebGL平台中应用UE材质

6.1 模型缓存说明

6.2 替换UE材质

6.3 导出UE材质

6.4 for Cesium/WebGL中应用UE材质


前言

        什么是物体的材质,材质属性定义了物体的某些特性,从而决定了物体表面是如何与光线相作用的。UE物理基础渲染(Physically Based Rendering OR PBR)几乎可以让我们模拟显示世界中的任何材质。那么如何在UE中制作出真实的PBR材质,基于我们提供的游戏引擎插件,如何将这些材质资源导出,并应用到 SuperMap iClient3D for Cesium/WebGL 平台上,提升模型的显示效果呢,下面小编将详细讲解一下。

一、PBR材质

        PBR材质就是指基于物理渲染的材质,能够实现接近物理真实的整个渲染算法或过程。我们通过材质的四个基本层来实现这一点:

1.基本的颜色或者基本纹理;

2.材质的金属性;

3.材质表面的粗糙度;

4.使用法线贴图来增加材质额外的深度。

二、材质基本节点

2.1新建材质

        在内容浏览器中选择合适文件夹,右键,新建材质。

         双击这个材质文件。打开材质编辑界面。

2.2材质中的基本节点

        UE中的材质是一种非常重要的资源,它用于控制对象表面的外观和渲染效果。材质定义了对象在渲染过程中如何与光线、阴影、相机和其他环境因素交互, 从而实现了我们想要的模型效果。在UE材质中是通过节点来连接变量和常量的,下面简单介绍下UE材质中的基本节点:

1.基础颜色(Base Color):材质本身的颜色,例如绿色蓝色等。

2.金属度(Metallic):金属度,材质是否含有金属光泽。

3.粗糙度(Roughness):粗糙或者平滑度,物体表面的粗糙程度。

4.自发光(Emissive Color):物体本身是否发光。

5.透明度(Opactity):物体表面是否透明,适用于半透明(Translucent)、添加(Additive)。

6.不透明蒙板(Opacity Mask):仅在使用遮罩模式下(Masked)可使用,与不透明度(Opacity)一样,但不会出现那种半透的颜色,这种模式下,材质要么完全可见,要么完全不可见。

7.法线(Normal):是否能够看都物体的细节部分,使物体表面有凹凸细节。

8.世界位置偏移(World Position Offset):输入允许网格体的顶点在世界空间中由材质操纵。实现使对象移动、改变形状、旋转和各种其他效果。这适用于环境动画之类的内容。

9.世界位移(World Displacement):与世界位置偏移(World Position Offset)非常相似,但它使用曲面细分顶点,而非网格体的基础顶点。为了启用此功能,材质上的曲面细分(Tessellation)属性必须设为 无(None 以外的值。

10.曲面细分乘数(Tessellation Multiplier):控制沿表面的曲面细分量,能够在需要的地方添加更多细节。与世界位移(World Displacement)一样,为了启用这个功能,曲面细分(Tessellation)属性必须设为 无(None 以外的值。

11.次表面颜色(Subsurface Color):属性设为次表面(Subsurface)时,才会启用 次表面颜色(Subsurface Color)。

12.折射(Refraction):输入接受一个纹理或数值,其模拟表面的折射率。适用于玻璃和水这样的物质,因为光穿过这些物质时会发生折射。

三、常量与向量(Constant

        材质中存在一维常量、二维向量、三维向量等节点,它们分别用于多种用途,如调整材质属性、控制效果和特效等。允许手动指定数值,这些值可以直接或间接地影响着材质表面的属性和效果,从而实现更加丰富多样的视觉效果和动态特效。这些节点是基于PBR的物理方式进行计算。PBR渲染技术基于物理光学原理,考虑了光照、材质、表面的物理属性和相互作用,以实现更加真实的视觉效果。

3.1 一维常量

        一维常量节点用于表示单个标量(只有一个数值)常量,通常用于控制一些单值属性,如金属度、粗糙度、透明度等。通过调整一维常量节点的数值,可以改变材质表面的属性,比如调整物体的金属感、光滑度、透明度等,从而影响渲染效果。

3.2 二维向量

        二维向量常量节点表示一个包含两个分量的向量,通常表示二维坐标或参数。在材质中,它可以用来控制某些需要两个值进行调整的效果,如二维偏移、纹理平铺和重复等。二维向量节点通常用于在材质中创建各种效果,比如平铺纹理、创建移动效果等。

3.3 三维向量

        三维向量常量节点表示一个包含三个分量的向量,通常表示三维坐标或参数。在材质中,它可以用于控制需要三个值进行调整的效果,如三维偏移、光照方向等。三维向量节点在材质中使用较广泛,可以控制对象的位置、旋转、缩放等。此外,它还可以用于计算光照效果如调整表面的法线方向来模拟凹凸效果、材质的颜色等。

3.4 添加常量与向量方法

        第一种方式是通过控制板里面搜索所有节点(搜索框中搜“Constant”)。

         第二种做法更常见:右键编辑区弹出搜索框。输入你要加入的节点( Constant”)。 

         第三种方式:快捷键:安装键盘的数字(比如想要添加三维向量,按键3),然后左击编辑区。

3.5 实操

        以常量调整粗糙度为例,调整数值可以通过材质球预览材质效果。如下演示,将金属度设为1,即将材质设置为纯金属材质,粗糙度数值分别为01时的材质状态如图变化。

四、纹理贴图变量

4.1 添加纹理贴图变量(Texture Sample

        通过控制板里面搜索所有节点里面搜索“Texture Sample”或者右键编辑区弹出搜索框,输入“Texture Sample”来找到纹理贴图变量,点击即可加入到窗口视图里。设置纹理图片连接相应的节点即可。

4.2 漫反射贴图

        “漫反射贴图”通常指的是PBR材质中的"Base Color"贴图。这个贴图是PBR渲染中的一个重要组成部分,用于表示物体表面的颜色和纹理。它不仅仅是单一的颜色值,而是包含了红、绿、蓝三个颜色通道的纹理信息。这允许在物体表面上添加各种细节、纹理和图案,从而使物体看起来更加真实和丰富。因为RGB是混合后的效果,所以连接线时是连接到RGB节点。

        贴图素材可以在虚幻商城里面进行下载,如下图,红墙的一系列贴图均可拖拉进行使用。

4.3 粗糙度贴图

        “粗糙度贴图”(Roughness Map)是一种用于控制物体表面粗糙度的贴图。用于模拟物体表面的光滑程度。在PBR渲染中,物体表面的粗糙度决定了光线在表面上的反射情况。粗糙度贴图基本为灰度图,提供材质上的细节质感,其中较亮的像素表示较光滑的表面,而较暗的像素表示较粗糙的表面。较光滑的表面会产生清晰的镜面反射,而较粗糙的表面会导致光线更加散射,产生更模糊的反射。

4.4 法线贴图

        “法线贴图”(Normal Map)是一种用于增强物体表面细节和视觉效果的贴图,俗称凹凸贴图。法线贴图通过在像素级别上模拟物体表面的微小凹凸细节,从而使平滑表面看起来具有更多细节和真实感。法线贴图由 RGB 构成,用色值代表向量值,去模拟光影,最终可以在平面上模拟出凹凸感。

五、纹理坐标变量(Texture Coordinate)

        任何贴图都是由UV值的,简单说来就是XY轴,U相当于X,代表横向坐标;V相当于Y,代表纵向坐标。当想改变贴图位置和大小时,就可以使用这个节点。是一个非常常用的节点。

5.1 添加纹理坐标变量

        通过控制板里面搜索所有节点里面搜索“Texture Coordinate”还可以右键编辑区弹出搜索框,输入“Texture Coordinate”来找到纹理坐标变量,点击即可加入到窗口视图里,或者直接快捷键按住键盘U键,然后鼠标左键点击空白处。

5.2 实操

        用法就是点击添加的纹理坐标变量,在左侧的细节里面更改U值和V值,然后把纹理坐标变量连在纹理贴图的UVs节点上。当有多个贴图想要同时变化时,就可以全部连上1个,改一个节点就可以引起多个变化,不会出现不同步。

六、SuperMap iClient3D for Cesium/WebGL平台中应用UE材质

6.1 模型缓存说明

        模型材质需要具有纹理坐标,否则在后续更换UE材质时效果会不对。本文以桌面拉伸白模缓存为例,对矢量面设置侧面材质和顶部材质属性字段,使用面拉伸成模型瓦片功能生成缓存,设置拉伸高度、材质类型设置为UE材质、设置顶面和侧面贴图字段(否则缓存不带纹理坐标),其他参数默认即可。

                       ​​​​​

6.2 替换UE材质

1.开启碰撞检测,插件中添加模型缓存数据。

2.替换材质

        在右侧的功能菜单中选中数据美化,然后在弹出的对话框中点击材质编辑,再选中材质替换,将之前制作好的材质拖拽至材质替换中,点击确认即可进行模型材质的替换。

3.替换后的材质效果

6.3 导出UE材质

        在右侧的功能菜单中选中数据美化,然后在弹出的对话框中点击材质编辑,再选中材质导出,图层列表选择替换的模型即可。

        导出材质后在模型缓存同级目录下,新生成一个 MaterialPackage 的文件夹,里面为导出的 UE 材质包,里面包含记录了原始材质与导出的 PBR 材质的关联关系的LayerInfo.json 文件、材质的.json 文件、.png格式的纹理贴图。

6.4 for Cesium/WebGL中应用UE材质

        将UE中使用的模型缓存数据,添加到 SuperMap iDesktopX 场景中,保存为工作空间,然后发布三维服务。通过 SuperMap iClient3D for Cesium/WebGL 打开场景,加载服务即可看到UE导出的PBR材质效果。

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值