体积参考

本文介绍如何放置和使用体积,以便强化行为并设置关卡。

Choose your operating system:

Windows

macOS

Linux

体积 是一种三维 Actor ,用于调整关卡中指定区域的行为。例如,体积可用于下述操作:

  • 对体积中的玩家或其他Actor造成伤害。

  • 作为碰撞体积,阻止特定Actor进入体积。

  • 当某个Actor进入体积时打开门。

  • 更改关卡计算其光照或可视性的方式。

创建和放置体积

你可在 放置Actor(Place Actors) 面板的 体积(Volumes) 选项卡中选择一个体积,然后将它拖放到关卡视口中来创建体积。

creatingVolumes.png

将体积放置到关卡中之后,你可以按照你的想法调整它的大小或位置。放置体积时需要谨记两个要点:

  1. 体积是一种辅助型Actor,通常用于检测某类Actor是否进入了指定区域,并触发效果作为响应。

  2. 体积有时自带一些效果(通过代码或蓝图提供),但多数时候,它们至负责为其他Actor提供提示。一般,应将它们视为更大的系统的组成部分(以某些元素作为视觉提示)。

例如,可按以下方式将一个 伤害施加体积(Pain-Causing Volume) (它会对其中的Actor造成伤害)放置到关卡中:

PainCausingVolume_NoEffect.png

PainCausingVolume_NoEffect_NoVolume.png

在编辑器中

在游戏中

在上图中,玩家不知道要避开该体积,或者可能不知道为何进入该体积时会受到伤害。关卡设计师应为玩家提供提示,说明伤害施加体积(Pain Causing Volume)的存在:

PainCausingVolume_Effect.png

PainCausingVolume_Effect_NoVolume.png

在编辑器中

在游戏中

在上述示例中,火焰粒子效果有助于提示该区域不安全;伤害施加体积则能配合游戏逻辑以及燃烧效果,让玩家在接近火焰时降低生命值。

体积类型

碰撞和重叠类体积

阻挡体积

阻挡体积(Blocking Volume) 碰撞文档

blocking_volume_details.png

阻挡体积(Blocking Volume)可用于表示静态网格体的碰撞表面,比如用于墙壁。它可以增强场景的可预测性,因为物理对象能避免与地板、墙壁等表面上的凸起细节碰撞。它还能降低物理模拟开销,提高性能。

摄像机阻挡体积

摄像机阻挡体积(Camera Blocking Volume) 采用了预置的碰撞设置,可阻挡摄像机,并忽略摄像机以外的所有Actor体积。它们用于定义不可见边界,可以将摄像机限制在合理范围内。例如,在第三人称游戏中,游玩区域的墙壁上具有多叶藤蔓等装饰物。在这些情况下,可贴着墙壁放置一些很薄的摄像机阻挡体积(Camera Blocking Volume),确保摄像机不会撞进藤蔓或伸到叶片后面,使得它流畅运动,确保游戏画面不会被干扰。

销毁Z体积

销毁Z体积(Kill Z Volume) 旨在防止某些游戏的对象越界,例如,避免从悬崖上掉落或掉进深坑,或者在科幻设定中在不穿宇航服的情况下离开太空船。每当有Actor进入销毁Z体积(Kill Z Volume)的任何Actor,该体积都将调用 FellOutOfWorld 函数。默认情况下,这些Actor会快速执行清理程序并销毁自身。你也可以根据游戏需求,重载Actor的销毁行为。例如,如果钥匙掉进了熔岩坑(玩家必须收集才能继续游戏),游戏可能需要将钥匙传送回玩家可以到达的区域而非销毁该物品,或者告知玩家该物品已销毁并重新加载上一个检查点,而非任由游戏停留在无法获胜的状态。

伤害施加体积

伤害施加体积(Pain-Causing Volume) 伤害施加体积参考

物理体积

物理体积(Physics Volume) 是一种可以对范围内角色及对象产生物理效果的体积。它们的一个常见用处是创建供玩家游动的水环境。物理体积(Physics Volume)的效果可以是可见的。角色移动组件(Character Movement Component)类会根据体积的力场来调整 角色 在环境中的移动方式。如果你的游戏采用了自定义物理,从 APhysicsVolume 物理体积参考

触发器体积

触发器体积(Trigger Volume) 可以在玩家或其他对象进入或离开它们时触发事件。你可以在 关卡蓝图 中用它们来快速测试事件效果和游戏逻辑,而无需其他蓝图。

例如,你可以在关卡中放置一个触发器体积,然后在 关卡蓝图 中为该体积创建一个重叠事件,以此播放声音,打开门,或启动过场动画。

请务必检查碰撞设置,以确保触发器会响应碰撞并对目标Actor做出反应。

图形和音频体积

音频体积

音频体积(Audio Volume) 音频体积参考

剔除距离体积

剔除距离体积(Cull Distance Volume) 是一种优化工具,可根据对象距摄像机的距离及其尺寸,对对象进行剔除(即不绘制到屏幕上)。当对象小到可被视为不重要时,即可不绘制对象,从而优化场景。尺寸是按照边界框的最长边计算的,而剔除距离是根据与该尺寸最接近的距离计算的。

剔除距离体积(Cull Distance Volume)设置取决于 剔除距离(Cull Distances) 属性,如以下图中的 细节(Details) 面板截图所示。

CullDistancesProperty.png

上图中,属性定义了下列行为:

  • 体积内大小最接近50单位(距离等于或小于85单位)的对象会在它们距摄像机500单位或更远时被剔除(消失)。

  • 体积内大小最接近120单位(距离介于85单位和210单位之间)的对象会在它们距摄像机1000单位或更远时被剔除(消失)。

  • 体积内大小最接近300单位(距离等于或大于210单位)的对象将永不会被剔除,因为在这种情况下,0被当作无穷大,这意味着永远不可能距摄像机足够远。

设置时,请先向"剔除距离(Cull Distances)"数组中添加一个新元素,方法是单击 button_Plus.png 按钮。接下来,只需填入给定对象的大小以及你希望该尺寸或小于该尺寸的对象被剔除时所处的距离。无需按照特定的顺序创建这些属性。

HLOD体积

层级LOD体积(Hierarchical LOD Volume) 层级细节 (HLOD)系统用来将Actor划分到单个HLOD群集。生成群集时,虚幻引擎将覆盖常规的生成过程,转而遵循手动放置的体积。

Lightmass角色间接细节体积

Lightmass角色间接细节体积(Lightmass Character Indirect Detail Volume 与Lightmass重要体积(Lightmass Importance Volume)相似,它会在玩家高度(相对于地面)以及在整个体积中生成间接光线样本。此类体积的一个用处就是放置在电梯井中,确保沿电梯井的所有间接光照都正确,而非只有底部的间接光照正确。

Lightmass重要体积

Lightmass重要体积(Lightmass Importance Volume) Lightmass全局光照

网格体合并剔除体积

网格体合并剔除体积(Mesh Merge Culling Volume) 标记它们包含的网格体对象,以使这些对象合并成单个网格体。通过将合并区域内的一系列小型网格体作为一个网格体进行剔除或引起 HLOD 生成以通过更优的方式减少几何体的数量,它可以提高性能。

后期处理体积

通过调整 细节(Details) 面板中的属性应用给摄像机的后期处理设置,可以被 后期处理体积(Post Process Volume) 后期处理文档

预计算可视性体积

预计算可视性体积(Precomputed Visibility Volume) 主要用于性能优化。这类体积会保存Actor的可视性,以了解它们在场景中的位置。应仅将这些体积放置在玩家可以到达的区域。

预计算可视性覆盖体积

如果预计算可视性体积(Precomputed Visibilty Volume)的自动生成结果不理想,你可以使用 预计算可视性覆盖体积(Precomputed Visibility Override Volume) 手动覆盖Actor的可视性,以了解它们在场景中的位置。这些体积也用于性能优化,而且应仅将这些体积放置在玩家可以到达的区域。

关卡和AI体积

关卡流送体积

关卡流送体积(Level Streaming Volume) 用于协助 关卡流送 过程。它们提供了一种封装关卡以及基于玩家进入或离开体积的时间控制它何时切入和切出内存的简便方法。

寻路网格体边界体积

可使用 寻路网格体边界体积(Nav Mesh Bounds Volume) 来控制在关卡中构建寻路网格体的位置。寻路网格体用于计算在关卡不同区域的寻路路径。

在该体积中,会在所有表面上构造寻路网格体,其角度合理,适于在其上行走。你可以按照需要重叠所需数量的此类体积以生成所需的寻路网格体。

使用寻路网格体边界体积(Nav Mesh Bounds Volume)的方法是创建一个或多个将关卡的可寻路区域包围在其中的寻路网格体边界体积(Nav Mesh Bounds Volume)。寻路网格体将自动被构建。

通过在视口中按 P 键,你可以随时使寻路网格体可见。

寻路网格体内容示例

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消