CreateEntityBody()

Syntaxe

CreateEntityBody(#Entity, Type [, Masse [, Restitution, Friction [, TailleX, TailleY, TailleZ [, AxeX, AxeY, AxeZ]])
Description
Crée ou change le type de corps (body) associé à une entité.

Arguments

#Entity L'entité à utiliser.
Type Définit comment le moteur physique gère l'entité:
  #PB_Entity_None       : Aucun body associé à l'entity (mode par défaut).
  #PB_Entity_StaticBody : Le body est statique, c'est à dire que le mesh ne peut pas être animé.
                          Ce mode permet des collisions très précises, car elles sont faites par rapport aux triangles
                          qui composent le mesh (connu comme la tri-mesh collision). Les collisions entre body static et les autres types de body
                          (sphere, box etc.) sont très rapides, mais entre deux body static, cela devient très lent.
                          C'est le type de body parfait pour utiliser une mesh comme un sol ou pour un monde statique.
  #PB_Entity_PlaneBody  : Un plan 'virtuel' sur l'entity (avec les mêmes dimensions)
                          est utilisé pour gérer les collisions entre les autres entités.
  #PB_Entity_ConeBody   : Un cône 'virtuel' englobant totalement l'entity (avec les mêmes dimensions)
                          est utilisée pour gérer les collisions entre les autres entités.
  #PB_Entity_BoxBody    : Une boîte 'virtuelle' englobant totalement l'entity (avec les mêmes dimensions)
                          est utilisée pour gérer les collisions entre les autres entités.
  #PB_Entity_SphereBody : Une sphère 'virtuelle' englobant totalement l'entity
                          est utilisée pour gérer les collisions entre les autres entités.
  #PB_Entity_CylinderBody : Un cylindre 'virtuel' englobant totalement l'entity
                          est utilisée pour gérer les collisions entre les autres entités.
  #PB_Entity_CapsuleBody : Une capsule 'virtuelle' englobant totalement l'entity
                          est utilisée pour gérer les collisions entre les autres entités.
  #PB_Entity_ConvexHullBody : Une forme complexe 'virtuelle' déduite du mesh réel gère les collisions contre les autres
                          entités. Ce mode est plus lent que le mode basic de collision.
  #PB_Entity_CompoundBody   : Un corps composé 'virtuelle' englobant totalement l'entity
                          est utilisée pour gérer les collisions entre les autres entités.
Masse (optionnel) Masse de l'objet.

Ne pas utiliser une valeur trop grande car il pourrait se produire des incohérences physiques (Préférer la valeur 1).
Restitution (optionnel) Coefficient de Restitution de la vitesse de l'objet suite à une collision (Rebond).

En théorie, ce coefficient est égal à la vitesse restituée, divisée par la vitesse initiale. Il est aussi égal à la racine carrée de la hauteur du rebond, divisée par la hauteur du lâché.

Il est généralement compris entre 0 et 1 mais s'il est supérieur à 1 ou inférieur à 0, la collision produit de l'énergie cinétique et donc de la vitesse (vitesse restituée > vitesse initiale).

Cette valeur peut également être obtenue ou définie via GetEntityAttribute() et SetEntityAttribute()
Friction (optionnel) Force de friction ou de frottement de l'objet.

Attention ce paramètre est proportionnel à la Masse.

Cette valeur peut également être obtenue ou définie via GetEntityAttribute() et SetEntityAttribute()
TailleX, TailleY, TailleZ (optionnel) Les dimensions de la boîte englobante autour du corps. Ne concerne que le type de corps suivant:
  #PB_Entity_BoxBody     : TailleX, TailleY, TailleZ sont disponibles.
  #PB_Entity_SphereBody  : TailleX est disponible.
  #PB_Entity_ConeBody    : TailleX, TailleY sont disponibles.
  #PB_Entity_CylinderBody: TailleX, TailleY sont disponibles.
  #PB_Entity_CapsuleBody : TailleX, TailleY, TailleZ sont disponibles.
AxeX, AxeY, AxeZ (optionnel) Les axes du corps. Ne concerne que le type de corps suivant:
  #PB_Entity_PlaneBody
  #PB_Entity_CylinderBody
  #PB_Entity_CapsuleBody 

Valeur de retour

Aucune.

Remarques

Pour que les collisions soient gérées par le moteur physique, une entité doit avoir un corps.

De plus, le moteur physique doit être activé à l'aide de la commande EnableWorldPhysics().

En fait, seul le corps est connu du moteur physique lequel fera tous les calculs concernant l'entité, vérifiera sa masse, les forces de frottement (friction) et s'il entre en collision, cela entraînera un mouvement de recul de l'entité (Restitution).

Voir aussi

EntityAngularFactor(), EntityCollide(), EntityCustomParameter(), EntityLinearFactor(), GetEntityAttribute(), FetchEntityMaterial(), SetEntityAttribute(), SetEntityMaterial()

OS Supportés

Tous

<- CreateEntity() - Entity Index - DetachEntityObject() ->