UE4 AdvanceVehicleSystem文档翻译

文件源链接:vehiclesystemdocumentation.

一、项目设置:ProjectSetting

1.MIN/MAX CONTACT SETTINGS

在这里插入图片描述

这并不是必须要修改的,但还是强烈建议把该值跳到ue4允许的最小值
如果保持默认的话,物体在经过两个表面时会乱跳(即便这两个表面高度一样,且速度越快越明显)

2.MAX TERMINAL AND ANGULAR VELOCITIES

在这里插入图片描述

他会限制你vehicle的最大速度和角速度,推荐的数值:
Default Terminal Velocity: 7600
Max Angular Velocity: 10000

二、创造一辆汽车

Step 0:前置条件

  • SkeletalMesh的汽车或者StaticMesh汽车和对应轮子模型

StaticMesh汽车需要单独的轮子模型
在插件中有一辆基础staticmesh车和轮子,确保你勾选了Show Plugin Content来以找到他
SkeletalMesh应该是类似于ue4的轮车设置

  • 拥有AdvanceVehicleSystem插件
  • 对UE4有基础的理解

Step 1: 绑定输入按键

在这里插入图片描述

Step 2: 创建汽车基类

2.1 创建一个基于Vehicle_Base的蓝图

**Before we can setup the vehicle, we need to know what our inputs are. So head into your Project Settings > Input and set up something similar to this image.**

2.2 打开蓝图并创建springarm和camera
2.3 启动引擎

由于我们没有绑定引擎启动按键,所以在开始游戏时便自动启动引擎
在这里插入图片描述

2.4 绑定你之前设置的按键到指定功能

在这里插入图片描述

Step 3: 基于这个基类创建你所需汽车

3.1右键鼠标:创建子蓝图类

在这里插入图片描述

3.2 打开新创建的车辆蓝图,然后从列表中选择VehicleMesh组件并将其设置为所需的StaticMesh(SKeletalMesh详见Step 8)

在这里插入图片描述

3.3 添加车轮

在你所需车轮的地方添加"Vehicle Wheel“组件,之后移动到你需要的地方。
为每一个轮子命合适的名可以便于之后的管理
在这里插入图片描述

3.4 配置汽车

在组件列表中选择类名所在一栏,在细节面板中有4个以”Vehicle-“开头的类别,可以通过更改这里面的值实现整辆车的参数配置。目前我们只配置传动部分,打开 “Vehicle - Transmission”部分
在这里插入图片描述

在"Gear"一栏中,默认有两个档。其中0档默认为倒车档。新建两个新的挡位,并按下图所示设置数值
在这里插入图片描述

Step 4: 配置车轮

选择一个VehicleWheel组件,在细节面板中调节所需参数。如果指定mesh,则碰撞大小自动适配,如果不指定mesh,则会生成与碰撞同等大小的球体。下面的图像是一个后轮驱动车辆的设置。注意:如果你已经旋转了车轮组件,使你的车轮网面朝向相反的方向,你可能需要检查“ invert torque option”。
在这里插入图片描述

Step 5: 创建辅助配置的HUD

插件中包含了一个用于配置汽车的HUD。这一步并不是必须的,但如果你对UE4还不太熟悉的话我建议你跟着做。

创建PlayerContrller和Gamemode类
在这里插入图片描述
打开创建的PlayerController,如下图连接节点
在这里插入图片描述
注:如果没有找到VehicleSetup_HUD的话,请检查ShowPluginContent是否勾选
在这里插入图片描述
设置关卡Gamemode为我们创建的Gamemode,以及相应参数
在这里插入图片描述

Step 6: 测试

当前版本(1.0.2)下如果直接设置车辆PossesPlayer0会出现车辆无法移动的情况,如果时使用PlayerStart创建的话没问题,这个Bug会在之后的版本解决。

当前内容完成仅针对StaticMesh的车辆,SkeletalMesh请继续

如果你成功遵循了上面的操作,那么你已经能正常驾驶车辆了。你也可以通过按下"Shift+F1"来显示鼠标指针,以控制HUD中的各个按钮和滑动条。或者按PageUp和PageDown来进行Shifter操作。
在这里插入图片描述

Step 7: 设置SkeletalMesh

在本教程中,我使用了官方赛车项目的模型,资源地址: 官方赛车项目.
(我使用的是DriveableCar包里面的车辆,与作者教程不相同)
无论如何,你的SkeletalMesh都最少需要一个根骨骼以及每一个可动轮子的骨骼。

首先我们需要进入physicsAsset 界面,创建一个新的或者打开现有的都行
在这里插入图片描述
删除所有内容
在这里插入图片描述
结果:
在这里插入图片描述
现在创建一个车辆底盘的碰撞(教程作者:不会的话自己去找基础教程),不需要太精确。
但请确保你没有创建约束。
在这里插入图片描述
为车轮创建碰撞,不用管他的形状,因为实际上这些不用于碰撞
在这里插入图片描述
点击Root节点,在Primitives处右键->copy
在这里插入图片描述
随便找一个简单StaticMesh,然后将碰撞粘贴到他的Primitives里。
在这里插入图片描述

Step 8: 添加SkeletalMesh到蓝图

SkeletalMesh仅仅是用于表现效果,实际逻辑还是使用StaticMesh的碰撞。

设置VehicleMesh组件为刚刚设置了碰撞了StaticMesh
设置Visible为false/Hidden in game为true,不让其在游戏中显示
在这里插入图片描述
在之前的蓝图里添加SkeletalMesh组件,并对其赋值为我们的SkeletalMesh
在这里插入图片描述
选择你的轮胎组件,在轮胎的配置里勾选Connect to Bone并写上骨骼名,其会自动配置碰撞体大小。也可以手动调整大小
在这里插入图片描述

Step 9: 测试车辆

== 汽车的Shifter一开始为Park,是动不了的。需要用ShifterDown将其设置为Driver模式下才能前进。==
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值