【UE5】资源(Asset)

news/2024/5/18 14:27:23 标签: ue5, 虚幻引擎, 虚幻, 游戏, 游戏程序

了解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.niftyadmin.cn/n/5208887.html

相关文章

被删数据库+勒索

被删数据库勒索 – WhiteNights Site 标签:日志 快照在手,天下我有 服务器又给人黑了。这次是给人黑了数据库,被人删库勒索,先放图吧。我还花了今天一个下午的时间查修这个漏洞,导致网站有接近6个小时都没法访问。 …

SEM代运营的服务费用为什么不按广告费比例抽佣?

如果SEM代运营公司是按广告费比例来抽取佣金,就意味着客户的广告费花得越多,代运营公司的收入也就越高。本来应当屏蔽掉的无效广告点击和恶意点击,出于代运营公司自身利益考虑,处理这些事情时也就不那么干脆利索。只要能保障客户有…

4.4、 Linux进程排队

个人主页:Lei宝啊 愿所有美好如期而遇 前言 如果后续讲解看不懂,请移步先看完前导知识 Linux操作系统上https://blog.csdn.net/m0_74824254/article/details/134385952?spm1001.2014.3001.5501Linux操作系统下https://blog.csdn.net/m0_74824254/ar…

element plus 使用细节

菜鸟一直在纠结这个写不写,因为不难,但是菜鸟老是容易忘记,虽然想想或者搜搜就可以马上写出来,但是感觉每次那样就太麻烦了,不如一股做气写了算了,后面遇见别的就再来补充! 文章目录 table 表格…

python3实现类似expect shell的交互式与SFTP的脚本

前面写过一篇关于python实现类似expect shell的交互式能力的文章,现在补全一下加上sftp的能力脚本。 例子在代码中__example()方法。 依赖paramiko库,所以需要执行pip install paramiko来安装。 import os import queue import re import threading im…

HTML新手入门笔记整理:特殊符号

音标符 音标符 字符 Construct 输出结果 ̀、 a a à ́′ a a án ˆ a a â ̃&#xff5e; a a ã ̀̀、 O O Ò ́́′ O O Ó ˆ O O Ô ̃&#xff5e; O O Õ 字符 显示结果 描述 实体名称 实体编号 空格 <…

C++二分向量算法:最多可以参加的会议数目 II

本题的其它解法 C二分算法&#xff1a;最多可以参加的会议数目 II 本文涉及的基础知识点 二分查找算法合集 题目 给你一个 events 数组&#xff0c;其中 events[i] [startDayi, endDayi, valuei] &#xff0c;表示第 i 个会议在 startDayi 天开始&#xff0c;第 endDayi …

STM32_6(TIM)

TIM定时器&#xff08;第一部分&#xff09; TIM&#xff08;Timer&#xff09;定时器定时器可以对输入的时钟进行计数&#xff0c;并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的时基单元&#xff0c;在72MHz计数时钟下可以实现最大59.65s的定时不仅…