vault backup: 2025-04-08 11:14:59

This commit is contained in:
BlueRose 2025-04-08 11:14:59 +08:00
parent b2b64e8c3b
commit 85673a8f4e

View File

@ -9,3 +9,118 @@ rating: ⭐
- UE4.27:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/vehicle-user-guide?application_version=4.27
- UE5.4:https://dev.epicgames.com/documentation/en-us/unreal-engine/vehicles-in-unreal-engine?application_version=5.4
#
- Vehicle蓝图
- Vehicle SkeletalMesh
- Physics Asset
- Vehicle动画资产
- 多个Wheel Blueprints.
- TireConfig Data Asset
Vehicle c++项目:
- AWheeledVehiclePawn -> AVehiclePawn
- AVehicleOffroadCar
- AVehicleSportsCar
-
# c++ Vehicle Template
## AVehiclePawn
父类为`AWheeledVehiclePawn` -> `APawn``AVehiclePawn`的其他派生类为C++模版实现类):
- AVehicleOffroadCar越野车
- AVehicleSportsCar跑车
## UVehicleWheelFront前轮& UVehicleWheelRear后轮
父类为`UChaosVehicleWheel`。两者的差别是:
- 轴向类型不同。
- 前轮的转向角度为40度默认为50度。
- 前轮的bAffectedBySteering为true即受到转向系统影响。
- 后轮的bAffectedByHandbrake、bAffectedByEngine为true即受到刹车与发动机影响。
```c++
UVehicleWheelFront::UVehicleWheelFront()
{
AxleType = EAxleType::Front;
bAffectedBySteering = true;
MaxSteerAngle = 40.f;
}
```
```c++
UVehicleWheelRear::UVehicleWheelRear()
{
AxleType = EAxleType::Rear;
bAffectedByHandbrake = true;
bAffectedByEngine = true;
}
```
### UVehicleSportsWheel
```c++
UVehicleSportsWheelFront::UVehicleSportsWheelFront()
{
WheelRadius = 39.0f;
WheelWidth = 35.0f;
FrictionForceMultiplier = 3.0f;
MaxBrakeTorque = 4500.0f;
MaxHandBrakeTorque = 6000.0f;
}
UVehicleSportsWheelRear::UVehicleSportsWheelRear()
{
WheelRadius = 40.f;
WheelWidth = 40.0f;
FrictionForceMultiplier = 4.0f;
SlipThreshold = 100.0f;
SkidThreshold = 100.0f;
MaxSteerAngle = 0.0f;
MaxHandBrakeTorque = 6000.0f;
}
```
### UVehicleOffroadWheel
```c++
UVehicleOffroadWheelFront::UVehicleOffroadWheelFront()
{
WheelRadius = 50.0f;
CorneringStiffness = 750.0f;
FrictionForceMultiplier = 4.0f;
bAffectedByEngine = true;
SuspensionMaxRaise = 20.0f;
SuspensionMaxDrop = 20.0f;
WheelLoadRatio = 1.0f;
SpringRate = 100.0f;
SpringPreload = 100.0f;
SweepShape = ESweepShape::Shapecast;
MaxBrakeTorque = 3000.0f;
MaxHandBrakeTorque = 6000.0f;
}
UVehicleOffroadWheelRear::UVehicleOffroadWheelRear()
{
WheelRadius = 50.f;
CorneringStiffness = 750.0f;
FrictionForceMultiplier = 4.0f;
SuspensionMaxRaise = 20.0f;
SuspensionMaxDrop = 20.0f;
WheelLoadRatio = 1.0f;
SpringRate = 100.0f;
SpringPreload = 100.0f;
SweepShape = ESweepShape::Shapecast;
MaxBrakeTorque = 3000.0f;
MaxHandBrakeTorque = 6000.0f;
}
```
## AVehiclePlayerController
父类为APlayerController。
1. 添加UI与UI更新逻辑。
2. 绑定增强输入组件。
3. OnPossess()绑定AVehiclePawn。
## UChaosWheeledVehicleMovementComponent
## 动画蓝图中的相关逻辑