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
Hérite de : RigidBody3D < PhysicsBody3D < CollisionObject3D < Node3D < Node < Object
Un corps physique 3D qui simule le comportement d'une voiture.
Description
Ce corps physique implémente toute la logique physique nécessaire pour simuler une voiture. Il est basé sur le système de véhicules à raycast communément présents dans des moteurs de physique. En dehors d'un CollisionShape3D pour le corps principal du véhicule, vous devez également ajouter un nœud VehicleWheel3D pour chaque roue. Vous devriez également ajouter un MeshInstance3D à ce nœud pour le modèle 3D du véhicule, mais ce modèle ne devrait généralement pas inclure de maillages pour les roues. Vous pouvez contrôler le véhicule en utilisant les propriétés brake, engine_force et steering. La position ou l'orientation de ce nœud ne devrait pas être changée directement.
Note : Le vecteur avant local pour ce nœud est Vector3.MODEL_FRONT.
Note : Le point d'origine de votre VehicleBody3D déterminera le centre de gravité de votre véhicule. Pour rendre le véhicule plus proche du sol, le point d'origine est généralement maintenu bas, en déplaçant la CollisionShape3D et le MeshInstance3D vers le haut.
Note : Cette classe a des problèmes connus et n'est pas conçue pour fournir une physique réaliste pour des véhicules 3D. Si vous voulez de la physique avancée des véhicules, vous devrez peut-être écrire votre propre intégration physique en utilisant CharacterBody3D ou RigidBody3D.
Tutoriels
Propriétés
|
||
|
||
mass |
|
|
|
Descriptions des propriétés
Ralentit le véhicule en appliquant une force de freinage. Le véhicule n'est ralenti que si les roues sont en contact avec une surface. La force que vous devez appliquer pour ralentir adéquatement votre véhicule dépend de la masse RigidBody3D.mass du véhicule. Pour un véhicule dont la masse est fixée à 1000, essayez une valeur dans l'intervalle 25-30 pour un freinage dur.
Accélère le véhicule en appliquant une force moteur. Le véhicule n'est accéléré que si les roues qui ont VehicleWheel3D.use_as_traction défini à true sont en contact avec une surface. La masse RigidBody3D.mass du véhicule a un effet sur l'accélération du véhicule. Pour un véhicule avec une masse de 1000, essayez une valeur dans l'intervalle 25-50 pour l'accélération.
Note : La simulation ne prend pas en compte l'effet des rapports de vitesse, vous devrez ajouter de la logique pour cela si vous souhaitez simuler des rapports de vitesse.
Une valeur négative entraînera la marche arrière du véhicule.
L'angle de direction du véhicule. Définir cette valeur à une valeur non nulle entraînera le virage du véhicule lorsqu'il se déplace. Les roues qui ont VehicleWheel3D.use_as_steering défini à true seront automatiquement tournées.
Note : Cette propriété est modifiée en degrés dans l'inspecteur. Dans le code, la propriété est définie en radians.