当前位置: 首页 > news >正文

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的选项中选择父材质,然后再暴露出来的参数中选择对应的材质纹理!

关于材质的拓展

 

相关文章:

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

参考资料: 《Unreal Engine5 入门到精通》--左央 虚幻引擎5.2文档:https://docs.unrealengine.com/5.2/zh-CN/ 前言: 跟着左央老师的《Unreal Engine5 入门到精通》学习制作AI版胡闹厨房,把学习过程与学习到的东西归纳总结起来。 …...

ios 实现TEXT、DOC、PDF等文档读取与预览

文章目录 一、前言二、iCould相关配置三、功能实现3.1 UIDocumentPickerViewController 选取控制器3.2 读取文件3.3 文档预览3.3.1 下载并保存3.3.2 QLPreviewController预览文档四、总结一、前言 最近正在研发的项目有一个需求: 允许用户将iCloud中的文档上传,实现文件的流…...

智慧矿山:让AI算法提高未戴安全带识别率!

未穿戴安全带识别AI算法,作为智慧矿山的重要应用之一,不仅可以有效提高矿山工作人员的安全意识,还可以降低事故发生的概率。然而,识别准确率的提高一直是该算法面临的挑战之一。为了解决这个问题,研究人员不断努力探索…...

【Unity程序技巧】公共Update管理器

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:Uni…...

Node学习笔记之HTTP 模块

回顾:什么是客户端、什么是服务器? 在网络节点中,负责消费资源的电脑,叫做客户端;负责对外提供网络资源的电脑,叫做服务器。 http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块…...

SD NAND对比TF卡优势(以CSNP4GCR01-AMW为例)

最近做的一个项目, 需要加大容量存储,这让我想到之前在做ARM的开发板使用的TF卡方案,但是TF卡需要携带卡槽的,但是有限的PCB板布局已经放不下卡槽的位置。 这个时候就需要那种能够不用卡槽,直接贴在板子上面&#xff0…...

在Espressif-IDE中使用Wokwi仿真ESP32

陈拓 2023/10/17-2023/10/19 1. 概述 在Espressif-IDE v2.9.0版本之后可直接在IDE中使用Wokwi模拟器。 1.1 什么是 Wokwi 模拟器? Wokwi 是一款在线电子模拟器,支持模拟各种开发板、元器件和传感器,例如乐鑫产品 ESP32。 Wokwi 提供基于浏…...

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

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

【CSS】使用 CSS 实现一个宽高自适应的正方形

1. 利用 padding 或 vw <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><metaname"viewport"content"widthdevice-width, initial-scale1.0"><title>Document</title><st…...

Java Stream流详解

Stream API主要提供了两种类型的操作&#xff1a;中间操作 和 终止操作。 中间操作 中间操作是返回一个新的流&#xff0c;并在返回的流中包含所有之前的操作结果。它们总是延迟计算&#xff0c;这意味着它们只会在终止操作时执行&#xff0c;这样可以最大限度地优化资源使用。…...

localforage-本地存储的优化方案

前言 前端本地化存储算是一个老生常谈的话题了&#xff0c;我们对于 cookies、Web Storage&#xff08;sessionStorage、localStorage&#xff09;的使用已经非常熟悉&#xff0c;在面试与实际操作之中也会经常遇到相关的问题&#xff0c;但这些本地化存储的方式还存在一些缺陷…...

自学SLAM(4)《第二讲:三维物体刚体运动》作业

前言 小编研究生的研究方向是视觉SLAM&#xff0c;目前在自学&#xff0c;本篇文章为初学高翔老师课的第二次作业。 文章目录 前言1.熟悉 Eigen 矩阵运算2.几何运算练习3.旋转的表达4.罗德里格斯公式的证明5.四元数运算性质的验证6.熟悉 C11 1.熟悉 Eigen 矩阵运算 设线性⽅程 …...

C++:容量适配器(栈、队列、优先级队列)

目录 1.容器适配器 4.1 什么是适配器 4.2 STL标准库中的容器适配器 2.stack的使用 2.1 STL库中对stack的实现 3.queue的使用 3.1 STL库中对queue的实现 4.priority_queue使用 4.1模拟实现 priority_queue 5.deque 的简介 1.容器适配器 4.1 什么是适配器 适配器是一种…...

Java-IO流

文章目录 Java-IO流文件字节流文件字符流File类缓冲流转换流打印流数据流对象流 Java-IO流 JDK提供了一套用于IO操作的框架&#xff0c;为了方便我们开发者使用&#xff0c;就定义了一个像水流一样&#xff0c;根据流的传输方向和读取单位&#xff0c;分为字节流InputStream和…...

04、Python 爬取免费小说思路

目录 Python 爬取免费小说思路代码解析爬取东西基本的四行代码:user-agent安装模块从 bs4 导入 BeautifulSoup ,查询某个标签开头的数据筛选遍历获取小说的章节名称每章小说的链接获取请求网址的响应获取小说的内容筛选内容整理内容爬取下载到指定文件夹完整代码:Python 爬取…...

【前端vue面试】vue2

目录 computed和watchv-show和v-ifkey 的重要性v-for 和 v-if 不能一起使用&#xff01;click的event修饰符事件修饰符表单项修饰符 父子组件通讯生命周期父子组件生命周期顺序 $nextTickslot 插槽动态组件异步组件keep-alivemixin computed和watch computed 有缓存&#xff0…...

自然语言处理---Transformer机制详解之GPT模型介绍

1 GPT介绍 GPT是OpenAI公司提出的一种语言预训练模型.OpenAI在论文<< Improving Language Understanding by Generative Pre-Training >>中提出GPT模型.OpenAI后续又在论文<< Language Models are Unsupervised Multitask Learners >>中提出GPT2模型.…...

【论文阅读】点云地图动态障碍物去除基准 A Dynamic Points Removal Benchmark in Point Cloud Maps

【论文阅读】点云地图动态障碍物去除基准 A Dynamic Points Removal Benchmark in Point Cloud Maps 终于一次轮到了讲自己的paper了 hahaha&#xff0c;写个中文的解读放在博客方便大家讨论 Title Picture Reference and prenotes paper: https://arxiv.org/abs/2307.07260 …...

2023年传媒行业中期策略 AIGC从三个不同层次为内容产业赋能

基本面和新题材共振&#xff0c;推动传媒互联网行情上涨 AIGC 概念带动&#xff0c;传媒板块领涨 A 股 2023 年第一个交易日&#xff08;1 月 3 日&#xff09;至 6 月 2 日&#xff0c;申万传媒指数区间涨幅高达 48.38%&#xff0c;同时期沪深 300 跌幅为 0.25%&#xff0c;…...

iOS上架App Store的全攻略

iOS上架App Store的全攻略 第一步&#xff1a;申请开发者账号 在开始将应用上架到App Store之前&#xff0c;你需要申请一个开发者账号。 1.1 打开苹果开发者中心网站&#xff1a;https://developer.apple.com/ 1.2 使用Apple ID和密码登录&#xff08;如果没有账号则需要注册…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙

WebGL&#xff1a;在浏览器中解锁3D世界的魔法钥匙 引言&#xff1a;网页的边界正在消失 在数字化浪潮的推动下&#xff0c;网页早已不再是静态信息的展示窗口。如今&#xff0c;我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室&#xff0c;甚至沉浸式的V…...

Java数组Arrays操作全攻略

Arrays类的概述 Java中的Arrays类位于java.util包中&#xff0c;提供了一系列静态方法用于操作数组&#xff08;如排序、搜索、填充、比较等&#xff09;。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序&#xff08;sort&#xff09; 对数组进行升序…...

链式法则中 复合函数的推导路径 多变量“信息传递路径”

非常好&#xff0c;我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题&#xff0c;统一使用 二重复合函数&#xff1a; z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y))​ 来全面说明。我们会展示其全微分形式&#xff08;偏导…...