UE5--物体卡片与材质入门

参考资料:

《Unreal Engine5 入门到精通》--左央

虚幻引擎5.2文档:https://docs.unrealengine.com/5.2/zh-CN/

前言:

跟着左央老师的《Unreal Engine5 入门到精通》学习制作AI版胡闹厨房,把学习过程与学习到的东西归纳总结起来。

最终效果演示

我的目的就是需要制作卡片并且拜访在场景中,作为厨房的食物材料。

开始学习与制作

制作卡片

在开始制作之前,我可以想象得到,厨房里面的食材和工具,应该会有很多,比如苹果、青瓜、香蕉、盘子、刀等等。因此我需要创建不少卡片去制作它们。因此我需要将这些卡片统一放起来,免得在世界大纲中到处都是卡片,找都找不到。

创建子文件夹来存放卡片

在世界大纲中找到代表关卡的条目:“TopDownMap”,右击点开,选择“Create Folder”,创建出一个新的文件夹,并且命名为:"ItemCards"。

要点记住:在世界大纲中创建子文件的操作为:右击TopDownMap,选择Create Folder。

卡片们的“家”了,那么就开始创建卡片吧!

创建卡片并且放置在场景中

在UE5的界面中,点开左上角中一个类似盾牌的选项(Create),选择其中的"Shapes",再选择其中的"Plane",创建出一个空白的卡片。

创建出卡片后,可以在世界大纲中按F2进行重命名,命名为:"CardBanana",然后拖到创建出来的“ItemCards”中。

要点:在左上角的“Create”中可以创建出需要的Shapes

卡片有了,那么接下来导入食材和工具的图片吧!

导入食材和工具图片

把视线移到内容浏览器(Content Browser)上,找到路径"Content/TopDown/",在此路径下创建文件夹"Items",在“Items”文件夹中,再创建出子文件夹"Banana"

创建的方法是:右击TopDown,选择"New Folder"。

最终路径是:"Content/TopDown/Items/Banana"。

接着,将Banana的素材图片之间拖到Banana文件夹中。

注意:Texture是纹理的意思,在命名香蕉图片上,命名为TexBanana,其实Tex也就是Texture。这可以是一种命名习惯。

要点:可以在内容浏览器中创建文件夹。当需要一些图片素材的时候,可以直接将素材图片.jpg拖到文件夹中,导入保存。

好啦,卡片和素材都准备好啦,现在开始制作食材和工具了!

建立卡片材质

先来认识一下UE5的材质

当选中刚刚创建出来的空白卡片后,可以在细节面板中找到卡片的材质:

双击点开"Materials"中的小白球,会进入材质编辑器。在材质编辑器中,"BAsicShapeMaterial"决定了材质的最终结果,即颜色、金属度,粗糙度等等。

而其中"BaseColor"决定了材质的颜色。双击点开对应的Color节点,可以自定义材质的颜色:

要点:在点开对应的3D物体,可以在细节面板中看到其材质,双击点开可以对材质进行设置 

稍微了解了材质的操作,接下来就开始制作食材和工具卡片材质吧!

制作香蕉卡片材质

视线移到放置香蕉素材图片的文件夹上("Content/TopDown/Items/Banana"),在这个文件夹中右击空白处,选择"Material"创建操作,命名为"MatBananaCard"。(命名习惯:材质的命名前加上Mat,即Material材质的意思)。

创建后,双击点开"MatBananaCard",然后将香蕉的素材图片拖入材质编辑器中,拖入后会出现"Texture Sample"(纹理采样)的节点。这个节点的作用是让材质可以获取纹理对应位置的颜色信息。其中的RGB对应的是三原色:红绿蓝。

接着从RGB的管脚中拖出一条线连上"MatBananaCard"上的“Base Color”。保存,此时,这张卡片就变成了香蕉的图片了。

要点:制作卡片材质的操作是首先在内容浏览器指定的文件夹中创建出材质,接着进入材质编辑器,将素材图片拖入材质编辑器中,从RGB的管脚中拖出一条线上"MatBananaCard"上的“Base Color”,完成初步的材质创建。

材质模板

如果按照上面的方法,先创建一个材质,然后将一张纹理拖入材质的材质编辑器,最后连接起来。当游戏后续,可能会出现越来越多的物品,如果每一个物品都需要去重复这些操作,会麻烦得很,我决定还是得省下时间和精力去做后面的开发!

观察一下操作,其实操作都是一样的,唯一不同的是纹理采样的对象不一样。那么能不能出现一个材质模板,让所有材质都基于这个模板,简化材质创建的步骤,直接在模板上,改变材质采样即可呢,那就创建出材质模板。

创建材质模板

由于这个材质模板是未来用于厨房中所有食材和工具的材质模板,因此就直接在"Content/TopDown/Items"的根目录下创建出来,方便使用。

首先在Items目录的空白处右击一下,创建出一个材质"Material",命名为:"MatItemCard"。

随后,双击点开这个材质,在空白处右击一下,在搜索框中搜索"Texture Sample",选择。

选择后,出现TextureSample(纹理采样)的节点,将节点连接,并且右击节点,在弹出来的框框中选择“Convert to Parameter”,意思是转换为参数,命名为“ItemTexture”,随后在左侧的面板上,选择参数(Parameter)面板,给参数随便带上一个默认参数。

这样就创建好了一个材质模板了。

要点总结:创建材质模板的操作是①在指定文件夹中创建一个材质,②然后双击点开材质,创建出一个"TextureSample"节点,连接节点。③右击材质采样节点,选择"Convert to Parameter",命名参数,并给参数设置默认参数。

创建香蕉卡片材质

在"Content/TopDown/Items/Banana"目录下,右击空白处,选择"Material"--->"MaterialInstance",创建出一个材质实例,命名为"MatInstCardBanana"。

创建好材质实例后,双击点开进入材质实例编辑器:

①在右侧的细节面板中,找到Parent(意为父材质),点击下拉框,搜索刚刚创建出来父材质,即材质模板"MatItemCard",选择。

选择后,就会发现细节面板上方会出现在父材质中设置出来的参数,勾上,然后下拉框,搜索"TexBanana"(即从桌面拖进来的素材图片.jpg),选择香蕉纹理。

然后,一个香蕉材质就做好啦!

然后,重复上述的操作,创建出各种材质!

要点总结:在指定的文件夹中,创建材质实例,命名,双击点开,在Parent的选项中选择父材质,然后再暴露出来的参数中选择对应的材质纹理!

关于材质的拓展

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/114628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络协议】聊聊网关 NAT机制

再宿舍的时候,其实只能通过局域网进行处理,但是如果接入互联网,一般是配置路由器当然还有网关。 MAC头和IP头的细节 一旦配置了IP地址和网关,就可以制定目标地址进行访问。 MAC头主要信息目标和源MAC地址,以及协议类…

【试题040】多个逻辑或例题2

1.题目:设int n0;,执行表达式n ||(n-1) ||(n0)||(n1)||(n2)后n的值是 ? 2.代码解析: 逻辑或 || 运算符是一个短路运算符,它从左到右依次计算表达式,如果遇到一个为真(非零)的值&am…

uCOSIII实时操作系统 十 事件标志组

目录 事件标志组: 事件标志组API函数: 创建事件标志组: 等待事件标志组: 向事件标志组发送标志: 事件标志组实验: 事件标志组: 有时候一个任务可能需要和多个事件同步这个时候就需要使用事…

39.克鲁斯卡尔(Kruskal)算法

一言 已知n个顶点,选n-1条最短的边,不可成环。 概述 克鲁斯卡尔(Kruskal)算法是用来求加权连通图的最小生成树的算法。其基本思想是按照权值从小到大的顺序选择n-1条边,保证这n-1条边不构成回路。 这就要求要首先构…

一百九十一、Flume——Flume配置文件各参数含义(持续完善中)

一、目的 在实际项目的开发过程中,不同Kafka主题的数据规模、数据频率,需要配置不同的Flume参数,而这一切的调试、配置工作,都要建立在对Flume配置文件各参数含义的基础上 二、Flume各参数及其含义 (一)…

集成学习方法(随机森林和AdaBoost)

释义 集成学习很好的避免了单一学习模型带来的过拟合问题 根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类: Bagging(个体学习器间不存在强依赖关系、可同时生成的并行化方法) 流行版本:随机森林(random forest)Boosting(个体…

springboot缓存篇之mybatis一级缓存和二级缓存

前言 相信很多人都用过mybatis,这篇文章主要是介绍mybatis的缓存,了解一下mybatis缓存是如何实现,以及它在实际中的应用 一级缓存 什么是mybatis一级缓存?我们先看一个例子: GetMapping("/list") public…

【Mysql】B+树索引的使用(七)

前言 每个索引都对应一棵 B 树, B 树分为多层,最下边一层是叶子节点,其余的是内节点(非叶子节点)。所有用户记录都存储在 B 树的叶子节点,所有目录项记录都存储在内节点。 InnoDB 存储引擎会自动为主键&am…

Node学习笔记之包管理工具

一、概念介绍 1.1 包是什么 『包』英文单词是package ,代表了一组特定功能的源码集合 1.2 包管理工具 管理『包』的应用软件,可以对「包」进行 下载安装 , 更新 , 删除 , 上传 等操作 借助包管理工具,可…

推理引擎之模型压缩浅析

目录 前言1. 模型压缩架构和流程介绍2. 低比特量化原理2.1 量化基础介绍2.2 量化方法2.3 量化算法原理2.4 讨论 3. 感知量化训练QAT原理3.1 QAT原理3.2 量化算子插入3.3 QAT训练流程3.4 QAT衍生研究3.5 讨论 4. 训练后量化PTQ4.1 动态PTQ4.2 静态PTQ4.3 KL散度实现静态PTQ4.4 量…

最详细STM32,cubeMX 定时器

这篇文章将详细介绍 STM32,cubeMX 定时器的配置和使用。 文章目录 前言一、定时器基础知识二、cubeMX 配置三、定时时长四、自动生成代码讲解五、实验程序总结 前言 实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX 。实验目的&#xff…

无人机UAV目标检测与跟踪(代码+数据)

前言 近年来,随着无人机的自主性、灵活性和广泛的应用领域,它们在广泛的消费通讯和网络领域迅速发展。无人机应用提供了可能的民用和公共领域应用,其中可以使用单个或多个无人机。与此同时,我们也需要意识到无人机侵入对空域安全…

牛客:NC59 矩阵的最小路径和

牛客:NC59 矩阵的最小路径和 文章目录 牛客:NC59 矩阵的最小路径和题目描述题解思路题解代码 题目描述 题解思路 动态规划,递推公式:matrix[i][j] min(matrix[i-1][j], matrix[i][j-1]) 题解代码 func minPathSum( matrix [][…

【数据科学赛】2023全球智能汽车AI挑战赛 #¥95000 #LLM文档问答 #视频理解

CompHub[1] 最新的比赛会第一时间在群里通知,欢迎加群交流比赛经验!(公众号回复“加群”即可) 以下内容由AI辅助生成,可能存在错误,可进入比赛主页[2]查看更多(文末阅读原文) 比赛主办方 吉利汽车集团、阿…

【C++】:类和对象(中)之拷贝构造函数+赋值运算符重载

拷贝构造函数 概念 在现实生活中,可能存在一个与你一样的自己,我们称其为双胞胎 那在创建对象时,可否创建一个与已存在对象一某一样的新对象呢? 拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用…

FPGA的斐波那契数列Fibonacci设计verilog,代码和视频

名称:斐波那契数列Fibonacci设计verilog 软件:Quartus 语言:Verilog 代码功能: 设计一个产生斐波那契数列(也叫黄金分割数列)的硬件电路: 斐波那契数列中每个数为其相邻前两个数的和:即FNFN1FN2,(数列…

Python:函数篇(每周练习)

编程题: Python第四章作业(初级) (educoder.net) 题一:无参无返回值函数 def print_hi_human(): # 函数名用小写字母print("人类,你好!")if __name__ __main__:print_hi_human() 题二&#…

设计模式篇---组合模式

文章目录 概念结构实例总结 概念 组合模式:组合多个对象形成树形结构以表示具有部分-整体关系的层次结构。组合模式让客户端可以统一对待单个对象和组合对象。 当我们开发中遇到树形结构的业务时,可以考虑使用组合模式。(我也没有想明白为啥…

Mysql数据库 2.SQL语言 数据类型与字段约束

Mysql数据类型 数据类型:指的是数据表中的列文件支持存放的数据类型 1.数值类型 Mysql当中有多种数据类型可以存放数值,不同的类型存放的数值的范围或者形式是不同的 注:前三种数字类型我们在实际研发中用的很少,一般整数类型…

空中计算(Over-the-Air Computation)学习笔记

文章目录 写在前面 写在前面 本文是论文A Survey on Over-the-Air Computation的阅读笔记: 通信和计算通常被视为独立的任务。 从工程的角度来看,这种方法是非常有效的,因为可以执行孤立的优化。 然而,对于许多面向计算的应用程序…