Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
VehicleBody3D¶
继承: RigidBody3D < PhysicsBody3D < CollisionObject3D < Node3D < Node < Object
模拟汽车行为的 3D 物理体。
描述¶
该节点实现了模拟汽车所需的所有物理逻辑。它基于物理引擎中常见的射线投射的车辆系统。除了需要为车身添加一个 CollisionShape3D 之外,你还必须为每个车轮添加一个 VehicleWheel3D 节点。你还应该为车辆的 3D 模型的向这个节点添加一个 MeshInstance3D,但该模型通常不应该包含车轮的网格。你可以使用 brake、engine_force 和 steering 属性来控制车辆。不应该直接更改该节点的位置和朝向。
注意:VehicleBody3D 的原点将决定车辆的重心。为了让车辆能够更好地贴地,通常会将原点保持在较低的位置,并将 CollisionShape3D 和 MeshInstance3D 向上移动。
注意:该类存在已知问题,并非旨在提供逼真的 3D 车辆物理效果。如果想要高级车辆物理,可能必须使用 CharacterBody3D 或 RigidBody3D 类来编写自己的物理整合函数。
教程¶
属性¶
|
||
|
||
mass |
|
|
|
属性说明¶
float brake = 0.0
通过施加一个制动力使车辆减速。只有当车轮接触到表面时,车辆才会减速。使车辆充分减速所需的力,取决于车辆的 RigidBody3D.mass。对于一个质量被设置为 1000 的车辆,尝试使用 25 - 30 范围内的值进行紧急制动。
float engine_force = 0.0
通过施加一个引擎力来加速车辆。只有当 VehicleWheel3D.use_as_traction 被设置为 true
的车轮与表面接触时,车辆才会加速。车辆的 RigidBody3D.mass 对车辆的加速度有影响。对于质量被设置为 1000 的车辆,请尝试使用 25 - 50 范围内的加速度值。
注意:模拟没有考虑齿轮的影响,如果想要模拟齿轮,需要为其添加逻辑。
负值将导致车辆倒车。
float steering = 0.0
车辆的转向角。将该属性设置为非零值将导致车辆在移动时转弯。VehicleWheel3D.use_as_steering 设置为 true
的车轮将自动旋转。
注意:该属性在检查器中以度为单位进行编辑。在代码中,该属性以弧度单位设置。