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

news2024/11/15 11:17:46

参考资料:

《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.coloradmin.cn/o/1122017.html

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

相关文章

裸机与RTOS(概念、关系、区别)

目录 裸机 什么是裸机? 裸机开发的特点 STM32裸机开发 RTOS 什么是RTOS? RTOS技术的概念及特点 STM32中的RTOS 裸机开发与RTOS开发对比分析 裸机开发 RTOS开发 如何选择? 裸机 什么是裸机? 在嵌入式领域,…

【大数据】Kafka 实战教程(一)

Kafka 实战教程(一) 1.Kafka 介绍1.1. 主要功能1.2. 使用场景1.3 详细介绍1.3.1 消息传输流程1.3.2 Kafka 服务器消息存储策略1.3.3 与生产者的交互1.3.4 与消费者的交互 2.Kafka 生产者3.Kafka 消费者3.1 Kafka 消费模式3.1.1 At-most-once(…

手把手教你使用Express框架在Node服务端实现图片渲染

手把手教你使用Express框架在Node服务端实现图片渲染 1.前言2.node-canvas库3.搭建node服务端环境3.1 初始化项目3.2 使用内置http模块创建服务3.3 使用Express创建服务 4.服务端渲染图片4.1 创建Express路由4.2 绘制三角形4.3 静态资源中间件4.4 写入图片文件4.5 渲染Echarts图…

STM32,我想看单片机上的外设时钟,我怎么看?

一:在工程中加入rcc文件 首先需要加载我们的时钟函数的文件 stm32f10x_rcc.h 和 stm32f10x_rcc.c 文件 二:查看文件 在h头文件 尾部,有我们这个总线的函数 在函数体内,有我们这个宏定义的 外设时钟,我们拿就行了 APB2_…

【C++】C++11新特性之右值引用与移动语义

文章目录 一、左值与左值引用二、右值与右值引用三、 左值引用与右值引用比较四、右值引用使用场景和意义1.左值引用的短板2.移动构造和移动赋值3.STL中右值引用的使用 五、万能引用与完美转发1.万能引用2.完美转发 一、左值与左值引用 在C11之前,我们把数据分为常…

win10专业版驱动开发

我使用的系统版本如何下: 使用的visual studio为VS2019,使用的SDK,WDK如下: 在visual studio单个组件里选择SDK10.0.018362.0 在WDK里面选择版本为: 下载链接如下: 以前的 WDK 版本和其他下载 - Windows drivers | Microsoft Le…

计算机算法分析与设计(16)---Dijkstra算法(含C++代码)

文章目录 一、知识概述1.1 算法描述1.2 例题分析 二、代码编写 一、知识概述 1.1 算法描述 1.2 例题分析 二、代码编写 输入:  第一行:图的顶点数n  第二行:图的边数k  第三行:算法起点begin,算法终点end  接下来…

设计模式-责任链设计模式

核心思想 客户端发出一个请求,链上的对象都有机会来处理这一请求,而客户端不需要知道谁是具体的处理对象让多个对象都有机会处理请求,避免请求的发送者和接收者之间的耦合关系,将这个对象连成一条调用链,并沿着这条链…

Java面试(基础篇)——解构Java常见的基础面试题 结合Java源码分析

fail-safe 和fail-fast机制 Fail-fast:快速失败 Fail-fast : 表示快速失败,在集合遍历过程中,一旦发现容器中的数据被修改了,会立刻抛出ConcurrentModificationException 异常,从而导致遍历失败 package …

经典链表问题:解析链表中的关键挑战

这里写目录标题 公共子节点采用集合或者哈希采用栈拼接两个字符串差和双指针 旋转链表 公共子节点 例如这样一道题:给定两个链表,找出它们的第一个公共节点。 具体的题目描述我们来看看牛客的一道题: 这里我们有四种解决办法: …

Tomcat启动控制台乱码问题

修改Tomcat/conf/logging.properties

[C++] C++入门

☃️个人主页:fighting小泽 🌸作者简介:目前正在学习C和Linux 🌼博客专栏:C入门 🏵️欢迎关注:评论👊🏻点赞👍🏻留言💪🏻 …

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

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

Spring Cloud Alibaba Seata 实现分布式事物

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案 Seata 官网:https://seata.io/zh-cn/ Spring Cloud Alibaba 官…

信息检索与数据挖掘 | (五)文档评分、词项权重计算及向量空间模型

目录 📚词项频率及权重计算 🐇词项频率 🐇逆文档频率 🐇tf-idf权重计算 📚向量空间模型 🐇余弦相似度 🐇查询向量 🐇向量相似度计算 📚其他tf-idf权值计算方法 …

【OpenGL】五、光照

OpenGL Lighting 文章目录 OpenGL Lighting一、 冯氏光照模型(Phong Lighting Model)环境光(Ambient lighting)漫反射光照(Diffuse lighting)漫反射光照(Specular Lighting) 二、 材质(Materials)光照贴图(…

JUC并发编程笔记2

省流: 自己笔记,划走~~~~ 缓存更新策略

vue3里面vant组件的标签页使用?

一、绑一个v-model事件 二、让activeName的初始为0也就是默认是显示第一个标签页的下标 三、给标签页下面的东西进行一个判断 想让哪个优先显示就把哪个判断作为初始值存入

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

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