【UE5】资源(Asset)

news2024/9/21 22:18:30

了解UE游戏的基本构成

资源(Asset):
· 在UE中,资源(Asset)是指游戏中使用到的各种素材,例如模型、纹理、材质、声音、动画、蓝图、数据表格、关卡等(通常以uasset结尾),他们是构成游戏的基本组成部分。
· 资源可以是从外部导入的文件,也可以是通过UE提供的编译器创建的内容。右键可以创建的类型,都是UE里的资源
· 大部分资源并不由开发人员制作,但是需要了解并使用它们

资产创建的位置:

由虚幻编辑器中创建:

  1. 游戏关卡
  2. 材质(Materials)
  3. 粒子系统
  4. 过场动画序列
  5. 蓝图脚本
  6. 给人工智能用的导航网格(AI Navigation Meshes)
  7. 预计算光照信息(Light Maps)
  8. 场景(光卡)光照

由外部应用程序中创建:

  1. 静态网格物体(Static Meshes)
  2. 骨架网格物体(Skeletal Meshes)
  3. 骨架动画(Skeletal Animation)
  4. 贴图(Textures)
  5. 声音(WAVS)
  6. IES灯光信息
  7. Nvidia APEX文件(APB 及 APX)

逻辑(Logic):
· 在使用UE的开发过程中,资源和逻辑是密不可分的
· 逻辑是指游戏中的各种行为和交互逻辑,例如角色控制、AI、任务等
· 资源可以包含逻辑,如蓝图(BP)、行为树(BT)、动画状态机等
· C++代码则是纯粹的逻辑
· 将逻辑和资源有机地结合起来,以实现游戏的玩法,是游戏的核心任务
· 在游戏开发中,逻辑和资源是相互依存的,只有合理的组合和利用它们,才能够打造出丰富、生动、有趣的游戏体验

对每一个组成部分有简单的认识

静态网格体(Static Mesh):
· 是由一系列多边形构成的几何体的组成部分,缓存在视频存储器中,可以使用显卡进行渲染
· 俗称 不可动的3D模型,通常用于构建游戏世界中的静态元素,如建筑物、装饰物、地形等(不可动指的是不支持动画和形变、但可以进行平移旋转和缩放)
· Static Mesh通常是由建模软件(如 3ds Max、Maya等)创建完成后,通过导入插件将其导入到虚幻引擎中
· UE还提供了一些工具来优化Static Mesh的性能,如静态光照、LOD(Level of detail)和碰撞体等

在内容游览其中筛选静态网格体
在这里插入图片描述

材质(Materials):
· 虚幻引擎中的材质定义了场景中对象的表面属性,广义上,可以将材质理解为网格体上控制其视觉外观的“涂料”
· 在虚幻引擎中,Materials的应用非常广泛。它不仅可以应用于静态模型(Static Meshs),还可以应用于骨骼模型(Skeletal Meshs),并且可以通过实例化材料(Materials Instances)的方式实现实时的材质变化
· 此外,虚幻引擎还提供了各种材质优化技术,例如材质实例(Materials Instances)、材质球(Materials Layers),以满足游戏开发者对材质可定制性和性能的要求

打开材质编辑器
在这里插入图片描述
在这里插入图片描述

纹理(Texture):
· 纹理是一种主要用于材质的图像资源
· 材质可能会用到多种纹理,实现多种目的,例如一个普通材质可能用到基础颜色纹理,高光纹理、以及法线纹理
· 纹理也可用于UI

骨架网格体(Skeletal Meshes & Skeletal Animation):
· 骨架网格体由两部分构成:表面的一层多边形,使多边形顶点产生动画的一组层次化的关联骨骼
` 骨骼动画是指将骨骼网格与动画动作捆绑在一起,实现角色模型的动态表现。在Skeletal Animation中,每个骨骼都有自己的动画曲线,通过将这些动画曲线结合在一起,就能够实现整个角色的动态动画效果
在内容游览其中筛选骨架网格体
在这里插入图片描述

在这里插入图片描述
查看动画
在这里插入图片描述

蓝图(Blueprint):
· 虚幻引擎中的 蓝图可视化脚本 系统是一类完整的游戏性脚本系统,此系统的基础概念是使用基于节点的界面在虚幻编辑器中创建游戏性元素。和其它一些常见的脚本语言一样,蓝图的用法也是通过定义在引擎中的面向对象的类或者对象。使用虚幻引擎后便知,使用蓝图所定义的对象通常被直接称为“蓝图”
· 该系统灵活而强大,使设计师能够使用通常仅面向程序员的几乎所有概念和工具。此外,程序员可以借助虚幻引擎C++实现可用的蓝图特定标记创建基线系统,而此系统又可被设计师加以拓展

动画蓝图(Animation Blueprint):
· 动画蓝图是一种特殊的蓝图,它用于控制骨骼网格体的动画效果,动画蓝图编辑器(Animation Blueprint Editor) 中的 图表(Graphs)可以效果动画,允许直接控制骨架的骨骼,或设置骨骼网格体逐帧逻辑,以便创建最终动画姿势

玩家输入(PlayerInput):
· 玩家输入对象负责将来自玩家的输入转换为Actor(如 PlayerControllers 或 Pawn)可以理解的数据,PlayerInput是输入处理流程的一部分,通过玩家输入映射和输入组件,将玩家的硬件输入转化为游戏事件和运动。
· PlayerInput是用于管理玩家输入的,PlayerController类中的UObject。它仅在客户端上生成。PlayerInput 中定义了两种结构体,第一种是FInputActionKeyMapping,它定义了操作映射(ActionMapping)。另一种是FInputAxisKeyMapping,它定义了轴映射(AxisMapping)
在这里插入图片描述

摄像机(Camera):
· 摄像机代表了玩家的视角,比如玩家如何查看世界。因此,摄像机只和玩家控制的人物有关
· PlayerController会指定一个摄像机类,并实例化一个Camera Actor(ACameraActor)以此计算玩家从哪个位置和角度观察世界

用户界面(UI):
· 用户界面和头显(HUD)是游戏向玩家提供游戏信息以及在某些情况下允许玩家与游戏互动的方式
· 虚幻示意图形界面处理器(Unreal Motion Graphic UI Designer)(UMG)是虚幻引擎中的一套用户界面系统,用于创建游戏中的图形用户界面(GUI),UMG提供了一套可视化的工具和蓝图系统,使开发者能创建交互式和响应式的UI元素,如按钮、文本、图像、滚动条等
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

关卡(Level):
· 关卡是游戏的“世界”的全部或一部分。关卡包含玩家可以看到并于之交互的所有内容,例如环境、可用对象、其他角色,等等。在电子游戏中,常常有多个关卡,彼此之间有划分明确的过度(例如,在你打败一个关卡中的boss之后,你就会继续到下一个关卡)
· 虚幻引擎将每个关卡保存为单独的“.umap”文件

Level与World的关系:
· 为了游戏布置和其他因素,将整个游戏世界(World)划分为多个关卡(Level),一个World由一个或多个Level组成,World负责这些Level的加载和释放,对他们进行管理
· 多个Level拼接成为一个游戏世界

行为树(Behavior Tree):
行为树是用于创建角色AI行为的一种模块,行为树是一种基于状态机和决策树的机制,它可以使开发人员以图形化的方式创建角色的AI行为,从而使角色可以自主的及逆行决策并执行相应的行为
· 执行逻辑时,行为树会使用一种名为 黑板 的独立资源来存储它需要知道的信息,黑板解耦了行为树和外部的数据交换,让行为树变成存粹的逻辑

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

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

相关文章

【开源】基于Vue.js的海南旅游景点推荐系统的设计和实现

项目编号: S 023 ,文末获取源码。 \color{red}{项目编号:S023,文末获取源码。} 项目编号:S023,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四…

微服务学习(十二):安装Minio

微服务学习(十二):安装Minio 一、简介 MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript, Golang语言。MinIO系统,非常适合于存储大容量非结构化的数据,例如图片、视…

buck降压电路

一、Buck电路的拓扑结构 Buck是直流转直流的降压电路,下面是拓扑结构,作为硬件工程师,这个最好是能够记下来,了然于胸。 为啥要记下来,自然是因为这个电路太基础了,并且谁都会用到,更重要的一点,面试可能会考。。。 上图是个异步buck,同步buck就是将里面的二极管换成M…

栈和队列的OJ题--12.括号匹配

12.括号匹配 20. 有效的括号 - 力扣(LeetCode) 解题思路:该题比较简单,是对栈特性很好的应用,具体操作如下:循环遍历String中的字符,逐个取到每个括号,如果该括号是:1. …

ElasticSearch 7 SQL 详解

平时使用Elasticsearch的时候,会在Kibana中使用Query DSL来查询数据.每次要用到Query DSL时都基本忘光了,需要重新在回顾一遍,最近发现Elasticsearch已经支持SQL查询了(6.3版本以后),整理了下一些用法. 简介 Elasticsearch SQL是一个X-Pack组件,它允许针对Elasticsearch实时执…

java--static的应用知识:代码块

1.代码块概述 代码块是类的5大成分之一(成员变量、构造器、方法、代码块、内部类) 2.代码块分为两种: 2.1.静态代码块: ①格式:static{ } ②特点:类加载时自动执行,由于类只会加载一次,所以静态代码块…

【PPspliT】ppt转pdf-保留过渡动画

网址 http://www.maxonthenet.altervista.org/ppsplit.php 下载安装 使用 再次打开ppt,就能在上方的选项栏里头看到了:

增量有余、后劲不足,星途汽车10月份销量环比下降3.9%

撰稿|行星 来源|贝多财经 近日,奇瑞集团发布了10月销量月报。报告显示,奇瑞集团于2023年10月销售汽车20.03万辆,同比增长50.8%,单月销量首次突破20万辆;2023年前10个月的累计销量为145.36辆,同比增长41.6…

第二证券:北证50指数一枝独秀 短剧游戏概念股持续活跃

周三,沪深两市三大指数颤动调整,北证50指数“鹤立鸡群”,大涨超8%。到收盘,上证综指报3043.61点,跌0.79%;深证成指报9855.66点,跌1.41%;创业板指报1950.01点,跌1.73%。沪…

基于yolov2深度学习网络的喝水行为检测系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、YOLOv2网络原理 4.2、基于YOLOv2的喝水行为检测 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 clc; clear; close all; warning off;…

Spark---基于Yarn模式提交任务

Yarn模式两种提交任务方式 一、yarn-client提交任务方式 1、提交命令 ./spark-submit --master yarn --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100 或者 ./spark-submit --master yarn–client --class org.apache.s…

Redisson分布式锁源码解析、集群环境存在的问题

一、使用Redisson步骤 Redisson各个锁基本所用Redisson各个锁基本所用Redisson各个锁基本所用 二、源码解析 lock锁 1) 基本思想: lock有两种方法 一种是空参 另一种是带参 * 空参方法:会默认调用看门狗的过期时间30*1000&…

如何利用电商在线客服软件提升服务质量和用户体验

在当今数字化时代,电子商务已经成为人们购物的主要方式之一。然而,与传统实体店不同,电商平台无法提供实时的面对面咨询和解答问题的服务。为了弥补这一缺陷,越来越多的电商企业开始采用在线客服软件,以提供更好的服务…

CUDA学习笔记9——CUDA 共享内存 / Shared Memory

由于共享内存拥有仅次于寄存器的读写速度,比全局内存快得多。因此,能够用共享内存访问替换全局内存访问的场景都可以考虑做对应的优化。 不利用共享内存的矩阵乘法 不利用共享内存的矩阵乘法的直接实现。每个线程读取A的一行和B的一列,并计…

Vector - CANoe - Vector Hardware Manager以太网

前面的文章中有介绍过基于Network based mode和channel base mode的环境配置,不过我们都是使用比较旧的办法,在我使用了一段时间Vector Hardware Manager配置之后发现这个更加好用结合之前的配置方法,使用起来也更加的灵活,今天就…

Kafka 常用功能总结(不断更新中....)

kafka 用途 业务中我们经常用来两个方面 1.发送消息 2.发送日志记录 kafka 结构组成 broker:可以理解成一个单独的服务器,所有的东西都归属到broker中 partation:为了增加并发度而做的拆分,相当于把broker拆分成不同的小块&…

98年阿里P6测试猿晒出工资单,看完扎心了。。。

最近一哥们跟我聊天装逼,说他最近从阿里跳槽了,我问他跳出来拿了多少?哥们表示很得意,说跳槽到新公司一个月后发了工资,月入5万多,表示很满足!这样的高薪资着实让人羡慕,我猜这是税后…

使用Git bash切换Gitee、GitHub多个Git账号

Git是分布式代码管理工具,使用命令行的方式提交commit、revert回滚代码。这里介绍使用Git bash软件来切换Gitee、GitHub账号。     假设在gitee.com上的邮箱是alicefoxmail.com 、用户名为alice;在github上的邮箱是bobfoxmail.com、用户名为bob。 账号…

【Java 进阶篇】Redis持久化之RDB:数据的安全守护者

Redis,作为一款高性能的键值存储系统,支持多种持久化方式,其中RDB(Redis DataBase)是其最常用的一种。RDB可以将当前时刻的数据快照保存到磁盘,以便在Redis重启时快速恢复数据。本文将深入探讨RDB的原理、配…

一文讲明Mybatis 的使用 超详细 【爆肝两万字教程】

我 | 在这里 🕵️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 🏠 工作 | 广州 ⭐ Java 全栈开发(软件工程师) 🎃 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 🏷️ 标签 | 男 自律狂人 目标明确 责任心强 ✈️公…