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

虚幻引擎游戏开发专题-1-引擎术语

在这里插入图片描述

项目

虚幻引擎5项目(Unreal Engine 5 Project) 中包含游戏的所有内容。项目中包含的大量文件夹都在磁盘上,例如 Blueprints 和 Materials 。你可以按照自己的意愿命名文件夹并将其整理到项目中。虚幻编辑器(Unreal Editor) 中的 内容浏览器(Content Browser) 面板显示与磁盘上的 Project 文件夹相同的目录结构。每个项目都有与其关联的 .uproject 文件。.uproject 文件是创建、打开或保存项目的方法。你可以创建任意数量的不同项目,然后并行处理它们。

蓝图

蓝图视觉效果脚本(Blueprint Visual Scripting) 系统是完善的gameplay脚本系统,在虚幻编辑器中使用基于节点的界面来创建gameplay元素。就像许多常用的脚本编写语言,它可以用于在引擎中定义以object为导向(OO)的类或object。在使用虚幻引擎时,经常会发现使用蓝图定义的object被统称为"蓝图"。

对象

对象(Object)是虚幻引擎中最基本的类,万物皆对象,他就像建造系统中的砖块,包含资产的大量基本功能。虚幻中的几乎所有的功能都继承自Object. 在C++ 中, UObject`是所有object的基类,可以实现多种功能,例如垃圾回收、用于将变了提供给虚幻编辑器的元数据支持,以及用于加载和保存的序列化;

类定义了虚幻中特定Actor或Object的行为和属性,类是分层的,意味着类从其父类(即派生出类的类,或"子类"的来源)中继承信息并将该信息传递给其子项。可以在C++代码或蓝图中创建类。

Actor

Actor 是可以放到关卡中的任何object,例如摄像机、静态网格体或玩家出生点位置。Actor支持3D变换,例如转换、旋转和缩放。可以通过gameplay代码(C++或蓝图)创建(生成)或销毁Actor。

在C++中,AActor 是所有Actor的基类。

类型转换

类型转换(Casting) 是一种动作,将会提取特定类的Actor并尝试将其作为其他类进行处理。类型转换可能成功,也可能失败。如果类型转换成功,则可以在你类型转换到的Actor上访问特定于类的功能。

例如,如果你要制作一款游戏,在其中具有能够以不同方式影响玩家角色的多种体积类型。其中一个体积是 火焰(Fire),可以随着时间降低玩家血量。当角色与关卡中的任何体积重叠时,就可以将该体积 类型转换(Cast)火焰(Fire) 上,以尝试访问其"损害玩家血量"功能。

  • 如果类型转换成功——即如果玩家站在火中——玩家的血量将开始下降。
  • 如果类型转换失败——即如果玩家站在任何其他类型的体积中——其血量将不受影响。

类型转换不同于简单地检查Actor是否是给定的类,它将返回一个二选一的答案(是或否),但不允许你与该类的任何特定功能进行交互。

组件

组件(Component) 是一种可以添加到Actor的功能。

将组件添加到Actor时,Actor可以使用组件提供的功能。例如:

  • 点光源组件将使Actor像点光源一样发光。
  • 旋转移动组件将使Actor转动。
  • 音频组件将使Actor能够播放音效。

组件必须连接到Actor,不能独自存在。

Pawn

Pawn 是Actor的子类,作为游戏内的形象或人像(例如游戏中的角色)。玩家或游戏的AI可以控制Pawn,将其作为非玩家角色(NPC)。当人类或AI玩家控制Pawn时,会将其视为 被占有 。相反,当人类或AI玩家未控制Pawn时,会将其视为 未被占有 。

角色

角色(Character) 是计划用作玩家角色的Pawn Actor的子类。角色子类包括碰撞设置、双足运动的输入绑定以及用于玩家控制动作的其他代码。

玩家控制器

玩家控制器(Player Controller**)** 获取玩家输入,并将其转换到游戏内的互动中。每个游戏内部都至少具有一个玩家控制器。玩家控制器通常操控一个Pawn或角色作为玩家在游戏中的呈现方式。

玩家控制器还是多人游戏的主要网络互动点。在多人游戏期间,服务器具有游戏中每个玩家的玩家控制器的一个实例,因为它还必须对每个玩家进行网络功能调用。每个客户端都只有一个与玩家对应的玩家控制器,并且只能使用其玩家控制器与服务器进行通信。

AI控制器

就像玩家控制器操控Pawn作为玩家在游戏中的呈现方式,AI****控制器(AI Controller**)** 操控Pawn在游戏中呈现非玩家角色(NPC)。默认情况下,Pawn和角色都以基本AI控制器终结,除非它们被玩家控制器专门操控或者收到指令不允许为自己创建AI控制器。

关联的C++类是 AIController

玩家状态

玩家状态(Player State) 是游戏参与者在游戏中的状态,例如人类玩家或模拟玩家的机器人。非玩家AI作为游戏世界的一部分而存在,没有玩家状态。

玩家状态可能包含的玩家信息示例包括:

  • 名称
  • 当前级别
  • 血量
  • 得分
  • 它们当前是否在"夺旗"游戏中扛旗。

对于多人游戏,所有玩家的玩家状态都在所有机器中存在,可以将数据从游戏中复制到客户端以保持内容一致。这不同于玩家控制器,因为玩家控制器仅存在于玩家所使用的机器上。

关联的C++类是 PlayerState

游戏模式

游戏模式(Game Mode) 设置要运行的游戏的规则。这些规则可以包括:

  • 玩家如何加入游戏。
  • 游戏是否可以暂停。
  • 任何游戏特定行为,例如获胜条件。

可以在项目设置中设置默认游戏模式,并针对不同的关卡重载游戏模式。无论你选择以何种方式实施,每个关卡都只能有一个游戏模式。

在多人游戏中,游戏模式新存在于服务器上,而规则将复制(发送)到每个连接的客户端。

关联的C++类是 GameMode

游戏状态

游戏状态(Game State) 是一个容器,包含你要在游戏中复制到每个客户端的信息。简而言之,它是每个连接的人的"游戏状态"。

游戏状态可能包含的内容示例包括:

  • 与游戏得分相关的信息。
  • 比赛是否开始。
  • 根据世界中的玩家数量确定生成AI角色的数量。

对于多人游戏,每个玩家的机器上都有一个本地游戏状态实例。本地游戏状态实例从游戏状态的服务器实例获取更新的信息。

关联的C++类是 GameState

笔刷

“笔刷”是虚幻引擎中的一种几何体工具,可以用来构建关卡的基本形状。它类似于其他建模工具中的“原始体”(Primitive Shape),但在虚幻引擎中它的功能和使用场景有所不同。

体积

体积(Volumes) 是带有边界的3D空间,根据连接到体积的效果,具有不同的使用方法。例如:

  • 阻挡体积(Blocking Volumes) 是可见的,用于阻止Actor通过它们。
  • 施加伤害体积(Pain Causing Volume) 对与其重叠的任何Actor造成持续伤害。
  • 触发器体积(Trigger Volumes) 的编程方式为,在Actor进入或退出体积时触发事件。

关卡

关卡(Level) 是你定义的gameplay区域。关卡包含玩家可以看到并与其交互的所有内容,例如几何体、Pawn和Actor。虚幻引擎将每个关卡保存为单独的 .umap 文件,这也是为什么你在某些情况下会看到它们被称为 地图(Maps) 。

世界

世界(World) 是构成游戏的所有关卡的容器。它处理关卡的流送和动态Actor的生成(创建)。

以上内容均可跳转到虚幻官方文档阅读.

虚幻术语


http://www.kler.cn/a/430609.html

相关文章:

  • 事件抽取tr、ti、ar 和 ai的意思(触发词、事件类型、事件参数、参数的类型)
  • 【0x001D】HCI_Read_Remote_Version_Information命令详解
  • 778-批量删除指定文件夹下指定格式文件(包含子孙文件夹下的)
  • Node Version Manager (nvm) -管理不同版本的 Node.js
  • StarRocks一次复杂查询引起的Planner超时异常
  • SecureCRT汉化版
  • 关于转包关系和挂靠关系的认定
  • 【JavaEE初阶】CSS
  • 云贝教育【Oracle技术文章-Oracle 19c之PDB重命名】
  • 网络安全法 -网络信息安全
  • 深度学习的unfold操作
  • Flink WebUI解析(待更新)
  • 【iOS】UITextView
  • Ubuntu20.04调整swap分区大小笔记
  • 若依集成更好用的easyexcel
  • Freertos任务切换
  • P2440 木材加工(py)
  • 智能电网技术如何助力能源转型?
  • 暴⼒匹配算法和KMP算法介绍
  • 【实验15】LSTM的记忆能力实验
  • C++参数传递
  • 汽车总线协议分析-CAN总线
  • aosp15上winscope离线html如何使用?
  • Lambda表达式随记
  • 多AI代理框架全面对比:AutoGen、LangGraph、CrewAI、Swarm、Magentic-One,选对你的AI超级助手!
  • 软件测试丨Appium 源码分析与定制