载具用户指南

该文档讲述在空白项目中使用 Wheeled Vehicle 蓝图类创建载具。此过程包含编辑器中所有必要项目的创建, 但前提是您已为载具备好 骨骼网格体物理资源

如需了解在引擎中设置载具骨骼网格体和物理资源的内容,请查阅 载具内容指南 。 或者您可通过 Vehicle TemplateVehicle Game 获取预建的骨骼网格体和物理资源。

内容

虚幻引擎 4 中的载具由多种资源组成:

  • 一个骨骼网格体

  • 一个物理资源

  • 一个动画蓝图

  • 一个载具蓝图

  • 一个或多个轮子蓝图

  • 一个 TireType 数据资源

overview.png

该文档包含在虚幻引擎 4 中构建正常运行的载具所需的蓝图设置,并以您拥有可使用的载具资源为前提。如需了解骨骼网格体和物理资源 的设置,请查阅 载具美术设置

创建载具蓝图

如需新建一个 载具蓝图:在 Content Browser 中点击 Add New 按钮 -> Blueprint -> 搜索“vehicle”并在列表中点击 WheeledVehicle

newVehicle.png

创建轮子蓝图

如需新建一个 轮子蓝图:在 Content Browser 中点击 Add New 按钮 -> Blueprint -> 搜索“wheel”并在列表中点击 VehicleWheel。重复该步骤至少一次, 设置前轮和后轮。

newWheels.png

多数情况下存在至少两种轮子类型:一种轮子受转向影响,而另一种不受影响。此外还可对不同半径、质量、宽度、手刹效果、 悬挂,以及其他多种属性进行设置,使载具获得预期的操控。

创建 TireType 数据资源

如需新建一个 TireType 数据资源:在 Content Browser 中点击 Add New 按钮 -> Misc -> Data Asset -> 选择 TireType -> 点击 Select 按钮。

newDataAsset.png

TireType 数据资源 只包含一个数值:Friction Scale。该值不仅影响轮胎的原始摩擦,还可调整相关数值,以控制载具急转弯时出现轮胎打滑的难易度。 以控制载具急转弯时出现轮胎打滑的难易度。

VehicleWheel 蓝图类上有一个 TireType 数据资源 的属性槽。

创建动画蓝图

如需新建一个 动画蓝图:在 Content Browser 中点击 Add New 按钮 -> Animation -> Animation Blueprint -> 在列表中选择属于您载具的 Skeleton -> 选择 VehicleAnimInstance -> 点击 Ok 按钮。

newAnimBP.png

编辑动画蓝图

Content Browser双击 Animation Blueprint,以便在 Persona 中编辑载具动画蓝图。在 4.2 更新版本中,载具的 Anim Graph 已 大幅简化。

  1. Anim Graph单击右键,在快捷菜单中搜索并选择 Mesh Space Ref Pose 节点,将其创建。

    meshSpace.png

  2. Anim Graph单击右键,在快捷菜单中搜索并选择 Wheel Handler 节点,将其创建。

    wheelHandler01.png

  3. 连接 Mesh Space Ref PoseWheel Handler 节点

  4. 连接 Wheel HandlerFinal Animation Pose 节点

animBPPreAnimGraph.png

大功告成!Component to Local 转换节点将被自动创建,动画蓝图将驱动载具的轮子。

animBPanimGraph.png

Wheel Handler 节点

wheelHandler02.png

Wheel Handler 节点负责处理轮子的所有动画需求:旋转、转向、手刹、以及悬挂。无需进行额外的设置,它从轮子上获取 所有必需信息(它的旋转速度有多快?它能转向吗?它是否受手刹影响?该轮子的悬挂设置如何?)并将这些信息 传递到轮子相关骨骼的动画中。

如有额外的支柱和其他悬挂需求,需在 Anim Graph 中添加额外的节点,处理影响这些多边形的连接点。Vehicle Game 中的 载具拥有一些额外的连接点,它们控制轮子的轮轴连接。它们由简单的 Look At 节点驱动:

fullVehGameAnimBP.png

Vehicle Game 的载具 Anim Graph 中额外的节点使得支柱连接点朝向轮子连接点。Wheel Handler 节点驱动轮子连接点, Look At 节点确保悬挂和轮子连接在一起。

编辑轮胎数据资源

Content Browser双击 TireType Data Asset

tires02.png

TireType 数据资源 只包含一个数值:Friction Scale。该值不仅影响轮胎的原始摩擦,还可调整相关数值,以控制载具急转弯时出现轮胎打滑的难易度。 以控制载具急转弯时出现轮胎打滑的难易度。

编辑轮子蓝图

Content Browser双击 Wheel Blueprint,呼出蓝图编辑器。

  1. 蓝图编辑器切换至默认编辑模式:

    defaultsMode.png

  2. 需要执行初始设置的属性为:

    • Shape Radius

    • Shape Width

    • Affected by Handbrake(通常限于后轮)

    • Steer Angle(通常限于前轮)

      wheelProps.png

  3. 最后需要设置 Tire Type。

    tireType.png

需要对每个轮子进行 5 项属性的设置。其他属性将影响载具的工作方式,可在测试载具时进行 调整。

编辑载具蓝图

它使载具成为一个整体。如果已有美术资源,轮子也已设置好,则可以开始搭建一个功能齐全的载具。

Content Browser双击 Vehicle Blueprint,呼出蓝图编辑器。

  1. 点击名为“Mesh”的 骨骼网格体组件,在其 Details 面板中将 Skeletal Mesh 属性设为载具的骨骼网格体资源。

    componentsMode.png

  2. Anim Blueprint Generated Class 设为 载具的动画蓝图

    AnimBPandSkelMesh.png

  3. 返回 Components 面板并添加一个 摄像机组件

    addCamera.png

  4. 将此摄像机组件 放置 在所需位置。下图中摄像机组件被放置在载具背后。

    cameraPlacement.png

  5. 禁用 Camera Settings -> Use Controller View Rotation,此操作将把摄像机锁定在其取景方向,而并非玩家控制器的方向。

    cameraControllerOff.png

  6. 选择 Vehicle Movement Component,在 Vehicle Setup 类目下打开 Wheel Setups

    defaultsMode.png

  7. 每个轮子(0-3):

    1. Wheel Class 设为 一个您创建的轮子蓝图

    2. Bone Name 设为 轮子控制的连接点名。

      wheelsSetup.png

      上图中的 Bone Name 为该骨骼网格体所独有。

    轮子的指派顺序不会决定其为前轮或后轮,真正起作用的是 Bone NameWheel Class

    如需要设置超过 4 个的轮子,可点击 Wheel Setups 属性旁的 “+” 图标进行添加。

如果您的载具大小和一辆小型货车相差不大,使用默认值即可开始测试。

测试

有多种方法对测试的载具进行设置,部分步骤将取决于所使用的模板。

  1. 控制

    input.png

    1. Project Settings -> Input

    2. 点击 Axis Mappings 属性旁的 “+” 符号 添加 一个 Axis Mapping

    3. 点开 Axis Mappings

    4. 将 Axis Mappings 从 “None” 重命名Forward

    5. 点击 Forward Axis Mapping 旁的 “+

    6. 点开 Forward Axis Mapping

    7. 将第一个 “None” 设为W

    8. 将第二个 “None” 设为S

    9. 将 “S” 映射的数值 设为 “-1.0”

    10. 点击 Axis Mappings 属性旁的 “+” 符号 添加 另一个 Axis Mapping

    11. 将新建 Axis Mapping 从 “None” 重命名Right

    12. 点开 Right Axis Mapping

    13. 将第一个 “None” 设为D

    14. 将第二个 “None” 设为A

    15. 将 “A” 映射的数值 设为 “-1.0”

    16. 点击 Action Mappings 属性旁的 “+” 符号 添加 一个 Action Mapping

    17. 点开 Action Mappings 属性

    18. 将新建 Action Mapping 从 “None” 重命名 为 “Handbrake”。

    19. 点开 Handbrake Action Mapping

    20. 将 “None” 设为Space Bar

  2. 新游戏模式

    1. 新建游戏模式蓝图

      newGameMode.png

    2. 双击 新游戏模式蓝图进行编辑。

    3. Game Mode Category -> Default Pawn Class,将 “None” 改为 Vehicle Blueprint

      defaultPawnClass.png

  3. World Settings -> Game Mode,将 GameMode Override 设为 “Your Game Mode”。

    setGameMode.png

  4. 可在载具的蓝图中调用 Project Settings Input 类目中创建的 Axis 和 Action 事件。

    1. 编辑 载具蓝图,然后打开 Event Graph

      graphMode.png

    2. 油门

      throttleBP.png

    3. 转向

      steeringBP.png

    4. 手刹

      handbrakeBP.png

  5. 玩家出生点

    • 如世界场景中不存在 Player Start Actor,可在 Modes Panel -> Placement Mode -> Basic 路径下点击并 将一个 Player Start 拖入世界场景。

    playerStart.png

    可设置 Play in Editor,从当前的摄像机位置开始游戏。

  6. 一切设置妥当之后,即可使用 Play in Editor 对载具进行测试。

    Play.png

    按以上设置的轴和操作绑定,W 为油门、S 为刹车、A 为左转、D 为右转、 空格键 为手刹。