IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 【UE】材质入门 -> 正文阅读

[游戏开发]【UE】材质入门

材质

首先明确什么是物体的材质,材质属性定义了物体的某些特性,从而决定了物体表面是如何与光线相作用的。

本节只是简单介绍一下 UE 中材质创建和使用的方法

为了验证材质现在场景中添加一个 SM_MAT 意为静态网格物体

请添加图片描述

然后选一个合适的位置创建一个文件夹 material 用来存放我们的材质:

右键添加一个材质:

请添加图片描述 在这里插入图片描述

双击材质进入编辑界面:
在这里插入图片描述

可以看到,材质需要的属性都在中间的表格中列出来了,只要我们创建了该属性并将其添加上去就可以实现材质的效果。

首先是基础颜色(Base Color):定义了物体表面基本反射的颜色,这里可以添加一个 vec3 来指定一种颜色,也可以使用 Diffuse map,还可以混合两种,
对于单一颜色,首先按住 3 再点击左键,可以添加 vec3 ,然后和基础颜色连接,如果连错了,按住alt点一下连线可以取消

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z8csrYgM-1666687938719)(C:\Users\02\AppData\Roaming\Typora\typora-user-images\image-20221025154336809.png)]

然后添加 Diffuse map看看效果:调出侧滑菜单 ctrl space 然后选择某个 diffuse texture 添加进去

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lwXWrhXU-1666687938720)(C:\Users\02\AppData\Roaming\Typora\typora-user-images\image-20221025154738497.png)]

diffuse map 的原理其实就是在一张图片中保存了对应纹理坐标的颜色值,然后使用的时候在这张图片上面进行采样,因此物体不再是单一的颜色而是每个纹理坐标对应一个颜色,最后进行插值。

这样就添加进去了,如果想混合刚才的蓝色,可以添加 multiple 函数,按住M 之后点击左键

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6BQT01gC-1666687938720)(C:\Users\02\AppData\Roaming\Typora\typora-user-images\image-20221025163408866.png)]

效果大概是上图这样的。
然后添加normal 和 roughness 贴图并进行连接:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gwriaN2r-1666687938720)(C:\Users\02\AppData\Roaming\Typora\typora-user-images\image-20221025163713214.png)]

normal 贴图定义了物体表面法线的方向,从而影响光照的计算。
roughness 定义了物体表面的粗糙程度。
然后我们可以创建一个定义金属度也就是 metallic 的浮点数,范围从0到1,来控制物体是否更像金属,金属对于光线是没有漫反射的,因为进入金属内部的光线会被全部吸收。
在这里插入图片描述
效果就是更有金属光泽的样子。这里我将其改为0.5。

如果想控制纹理的密度可以将这几张贴图的 uv 坐标范围进行调整,按住 U 之后点击左键,会出现一个 texCoord 然后将它和三张贴图连接,然后修改 u 平铺 和 v 平铺为3,看下效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HEKww9MY-1666687938721)(C:\Users\02\AppData\Roaming\Typora\typora-user-images\image-20221025164604280.png)]

发现纹理更加细密了。

最后就是如果我们想创建一个模板,让我们每次创建材质的时候不需要再次定义这些变量和值,而是进行选择,比如选一张纹理,选定一种颜色等等,对于这样的属性,可以右键,将其转换为参数:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZANzwBeO-1666687938721)(C:\Users\02\AppData\Roaming\Typora\typora-user-images\image-20221025164857919.png)]

之后在材质页面,右键点击创建一个该材质的材质实例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MxgOiGtY-1666687938721)(C:\Users\02\AppData\Roaming\Typora\typora-user-images\image-20221025165105115.png)]

双击创建的材质实例查看:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ouSt6G3I-1666687938721)(C:\Users\02\AppData\Roaming\Typora\typora-user-images\image-20221025165122635.png)]
可以看到其中的参数都可以根据我们的需要具进行设置,可以勾选,也可以不勾选使用默认值。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:31:34  更:2022-10-31 12:34:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/17 6:03:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码