Blender导出FBX动画抖动_Blender导出FBX动画抖动


0. Intro

引擎版本UE4.18

本文记录如何从3dsMax制作载具并导入UE4使用,以及UE4中VehicleMovementComponent的使用方法。
使用VehicleMovementComponent可以模拟真实车辆的行驶状态。这个组件使用比较复杂,且资料较少,记录下来以供参考。之前我录制了一个演示视频,链接如下:


3dsMax车辆模型导入UE4制作Vehicle_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com

Blender导出FBX动画抖动_3d_02


Blender导出FBX动画抖动_3dmax导出fbx ue4_03


1. 模型制作

步骤简述如下
1. 优化模型,删除不可见部分和车的内饰
2. 全选,转为可编辑多边形
3. 在编辑多边形元素层级,选中车底,附加其他所有元素
4. 现在只有一个物体,旋转坐标轴,使它的坐标轴为x红前/y绿左/z蓝上
5. 在层次面板中选择仅影响轴,将轴的旋转置为Zero,此时这个obj的轴是符合要求的,并且旋转为zero
6. 分离四个轮胎,修改命名,例如FL/FR/BL/BR
7. 在层次面板中选择仅影响轴,将四个轮胎的轴居中到对象
8. 在图解视图中编辑层级,本体下面连四个轮胎
9. 导出

1.1. 分离车身和轮胎

分离四个轮胎,命名为FL/FR/BL/BR。现在一共有5个物体,分别是车辆本体和4个车轮。


Blender导出FBX动画抖动_Blender导出FBX动画抖动_04


1.2. 调整轴

车身和轮胎的旋转轴pivot要设置为:X向前,Y向左,Z向上。选中所有对象,正常导出为fbx。这里要注意如果轴不对,可在层次面板中选择仅影响轴,旋转调整轴的位置。


Blender导出FBX动画抖动_3dmax导出fbx ue4_05


1.3. 设置层次

在3dMax中,从上方工具栏打开图解视图,将车身设置为4个轮胎的父级。本体和车轮的名字可以自定义,但要注意他们的对应关系,知道每个物体的名字。这个名称在后续UE4的处理中会用到。


Blender导出FBX动画抖动_Pawn_06


2. 导入UE4

2.1. 模型导入

从3dsMax按照正常的方法导出fbx文件后,将fbx文件以骨骼模型导入UE4,勾选SkeletalMesh。


Blender导出FBX动画抖动_3dmax导出fbx ue4_07


2.2. 物理资源

以骨骼模型的形式导入了车辆模型后,在内容浏览器可以找到3个文件,分别是骨骼模型、骨骼和物理资源。物理资源描述了模型每个部分重量的分布,和重量的形状,有些类似碰撞体。

打开物理资源,在左边的区域全选删除掉默认的部分。给每个轮子添加球型刚体SphereRigidbody,给车身添加MultiConvexHull(盒型刚体也可以,还更容易调整)。


Blender导出FBX动画抖动_Blender导出FBX动画抖动_08


2.3. 数据资源

在内容浏览器中右键,新增一个TireConfig数据资源,用于设定轮胎的摩擦力。默认值1。


Blender导出FBX动画抖动_3d_09


2.4. VehicleWheel

新建两个VehicleWheel蓝图,作为前轮和后轮的详细配置,在对应位置选择上一步创建的TireConfig资源。在VehicleWheel蓝图中,可以对轮胎的宽、半径、旋转角度等进行详细的设置。


Blender导出FBX动画抖动_Pawn_10


2.5. WheeledVehicle

新建WheeledVehicle蓝图,并修改相关设定,可以看到这个类是继承自Pawn的。细节面板中,主要要对VehicleSetup这一栏参数进行设定。

WheelSetups数组中新增4个元素,这是4个轮胎的设定。对于每个轮胎,在WheelClass中根据是前轮还是后轮选择上一步的VehicleWheel,BoneName需要填写这个轮胎对应的名称。这个名称是3dsMax建模时给每个轮胎的名字,如果不记得了,在打开骨骼文件也可以查看。


Blender导出FBX动画抖动_Blender导出FBX动画抖动_11


Blender导出FBX动画抖动_lol模型导入ue4_12


2.6. 动画蓝图

在内容浏览器中,右键骨骼模型新建动画蓝图,将父类设置为VehicleAnimInstance,并做如下连接。只有父类是VehicleAnimInstance时,才有WheelHandle这个节点。


Blender导出FBX动画抖动_3d_13


之后在上一步的WheeledVehicle蓝图中,选择Mesh,使用这一步做好的动画蓝图。

至此我们的载具就做好了,这个WheeledVehicle蓝图是继承自Pawn的,所以可以当做一个Pawn来使用。直接拖到场景中,或者在GameMode里设置为默认的Pawn都可以。

那么如何控制这辆车呢,WheeledVehicle蓝图中的VehicleMovementComponent组件提供了一些蓝图方法。例如设置Throttle油门值进行加速,设置Steering转向值进行转向,还有Brake刹车、HandBrake手刹、Gear挡位等。这里略过,如有需要之后再详细写。