BulletSim/fr

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Avatar qui monte des escaliers)
(Avatar qui monte des escaliers)
Line 85: Line 85:
 
|-
 
|-
 
|'''AvatarApproachFactor'''
 
|'''AvatarApproachFactor'''
|
+
|Angle d'approche de la marche. Il s'agit des radians de l'angle formé entre l'avatar et la surface de la marche avec laquelle il entre en collision. Cela permet d'éviter de monter sur des objets lorsque l'on s'approche d'un angle trop grand. La valeur par défaut de 0,6 correspond à un angle d'approche de 45 degrés. En réglant cette valeur à 0.3, par exemple, l'avatar devra marcher presque directement sur la marche pour obtenir les actions de montée.
 
|-
 
|-
 
|'''AvatarStepUpCorrectionFactor'''
 
|'''AvatarStepUpCorrectionFactor'''
|
+
|Facteur de multiplication pour changer la position de l'avatar afin de franchir la marche. La hauteur de la collision avec la marche est multipliée par ce facteur et ce nombre est ajouté à la coordonnée Z de l'avatar. Cela déplace l'avatar vers le haut par rapport à la marche. Si ce facteur est inférieur à zéro, AvatarStepHeight est utilisé.
 
|-
 
|-
 
|'''AvatarStepForceFactor'''
 
|'''AvatarStepForceFactor'''

Revision as of 03:55, 2 November 2024

Template:BulletSim

Contents

BulletSim

BulletSim est un module pour OpenSimulator qui crée la physique du monde virtuel en utilisant le Moteur physique Bullet. Ce module fournit une physique de qualité ainsi qu'une performance physique des véhicules compatible avec Second Life.

Information sur le projet

BulletSim/Functionality dresse la liste des opérations physiques possibles, de leur état de mise en œuvre avec une note relative à leur utilisation. Ceci est particulièrement utile pour les opérations sur les véhicules.

Construction

Architecture de BulletSim

BSScene

Éléments sur le simulateur de pas (un système qui gère les étapes de la simulation physique). Événements de pas (Pre-Step-Event, Post-Step-Event).

Exigence pour contrôler les modifications du moteur physique avec un Taint-System (normale Taints, post-taints).

Système de journalisation détaillé.

Système du paramètres.

BSPhysObject

Classes enfants de BSPrim et BSCharacter.

Terrain

Contraintes

Implémentation de Bullet

BulletSim est une enveloppe pour le moteur physique Bullet.L'interface du monde virtuel adaptant BulletSim au moteur physique est décrite par la classe abstraite BSAPITemplate. Il existe deux instances de cette classe,BSAPIXNA et BSAPIUnman

BSAPIUnman contient la connexion à la DLL/SO non gérée qui est la version C++ du moteur physique Bullet. Les sources et les instructions de construction sont disponibles sur git://opensimulator.org/git/opensim-libs/trunk/unmanaged/BulletSim.

BSAPIXNA est la connexion à une version C# de Bullet dont les sources sont hébergées sur https://code.google.com/p/bullet-xna/.

La sélection du moteur physique se fait au moment du démarrage de la région. Elle est spécifiée pour chaque simulateur avec les paramètres INI suivants :

    [Startup]
    physics = BulletSim
    [BulletSim]
    BulletEngine = BulletUnmanaged  ; Par défaut
    ; BulletEngine = BulletXNA      ; décommenter cette ligne pour la version C# de Bullet

Interface gérée/non gérée

Liens

Architecture des Acteurs et leurs Rôles

Chaque objet physique BulletSim peut être associé à un nombre quelconque d'« acteurs ». Les acteurs s'enregistrent pour les événements de simulation (généralement appelés avant chaque étape de la simulation) et modifient les paramètres physiques de l'objet. Les acteurs actuellement implémentés sont les suivants :

  • BSActorAvatarMove : contrôle les mouvements et les marches des avatars ;
  • BSActorHover : implémente le survol vertical des objets et des avatars ;
  • BSActorLockAxis : applique une contrainte aux objets physiques pour verrouiller un ou plusieurs mouvements angulaires ;
  • BSActorMoveToTarget : déplace un objet physique vers un emplacement ;
  • BSActorSetForce : applique une force continue à un objet physique ;
  • BSActorSetTorque : applique un couple continu à un objet physique ;
  • BSDynamic (le nom changera) : implémente le modèle de véhicule de SecondLife®.

Vehicules

BulletSim/Véhicules

BulletSim/VehicleTuning

Voir aussi la page archivée : Véhicules

Fonctions d'extension des scripts BulletSim

L'interface d'extension physique est utilisée par BulletSim pour implémenter de nombreuses nouvelles fonctions physiques. L'interface mod_invoke doit être activée pour que ces fonctions fonctionnent.

BulletSim/ScriptFunctions

Avatar qui monte des escaliers

L'acteur du mouvement de l'avatar inclut des vérifications spéciales pour permettre aux avatars de se déplacer sur des objets en escalier (comme des marches). Le code vérifie les collisions à proximité des pieds de l'avatar et, s'il essaie d'avancer et non de voler, pousse l'avatar vers le haut pour passer au-dessus de l'objet. Il s'agit d'un algorithme différent de celui d'ODE, qui s'appuie sur la courbure de la capsule de l'avatar pour se déplacer sur des obstacles bas.

Sept paramètres INI permettent de contrôler les escaliers :

AvatarStepHeight Hauteur maximale d'une marche. Si l'avatar entre en collision avec quelque chose en dessous de cette hauteur, cela sera considéré comme une marche et l'avatar envisagera de se déplacer vers le haut pour la franchir.
AvatarStepAngle Angle maximal de la surface de collision pour qu'elle soit considérée comme une marche. Par exemple, si elle est fixée à zéro, les surfaces de marche doivent être parfaitement verticales avant d'être considérées comme des surfaces de marche. La valeur typique est de 0,3f, ce qui permet une certaine variabilité des pas.
AvatarStepGroundFudge Petit facteur de correction soustrait du calcul de la position de la plante des pieds de l'avatar lors de la vérification si la collision est proche de ses pieds. Cette hauteur peut être légèrement élevée (au-dessus du sol), donc ce facteur permet de la comparer à une hauteur plus basse pour la marche. Cela peut empêcher que des petites bosses sur le sol soient considérées comme trop petites pour être une marche, ce qui pourrait amener le moteur à traiter la bosse comme un obstacle solide, empêchant ainsi l'avatar de se déplacer correctement.
AvatarApproachFactor Angle d'approche de la marche. Il s'agit des radians de l'angle formé entre l'avatar et la surface de la marche avec laquelle il entre en collision. Cela permet d'éviter de monter sur des objets lorsque l'on s'approche d'un angle trop grand. La valeur par défaut de 0,6 correspond à un angle d'approche de 45 degrés. En réglant cette valeur à 0.3, par exemple, l'avatar devra marcher presque directement sur la marche pour obtenir les actions de montée.
AvatarStepUpCorrectionFactor Facteur de multiplication pour changer la position de l'avatar afin de franchir la marche. La hauteur de la collision avec la marche est multipliée par ce facteur et ce nombre est ajouté à la coordonnée Z de l'avatar. Cela déplace l'avatar vers le haut par rapport à la marche. Si ce facteur est inférieur à zéro, AvatarStepHeight est utilisé.
AvatarStepForceFactor
AvatarStepSmoothingSteps

Les valeurs par défaut sont :

[BulletSim]
    AvatarStepHeight = 0.6
    AvatarStepGroundFudge = 0.1
    AvatarStepApproachFactor = 0.6
    AvatarStepUpCorrectionFactor = 1.0
    AvatarStepForceFactor = 2.0
    AvatarStepSmoothingSteps = 1

Autres notes

Ajuster la hauteur de l'avatar

Personal tools
General
About This Wiki