Trucs et Astuces pour MSTS


Bounding Box, Vol Sphère: Kesako?

Voici deux notions qui reviennent souvent dans les forums. Régulièrement, des questions sont posées sur ces éléments:
- Comment régler ces valeurs?
- A quoi ça sert ?
- Mon modèle disparaît dès que je suis trop près, pourquoi ?
- Et bien d'autres...

Voici un début d'explication pour ces deux notions...

Bounding Box

Une image vaut mieux qu'un long discours, donc en voici une qui modélise la 'Bounding Box' pour un de mes wagons utilisés sur 'Evocation Haute Somme'!

J'ai modélisé une boîte en semi-transparence avec les dimensions de la 'Bounding Box' originales pour cette voiture. On peut constater que cette boîte enveloppe complètement le véhicule. A l'exception des deux extrémités (les tampons ) qui débordent légèrement. Cette boîte détermine la zone 'sensible' du véhicule. Cette zone servira pour les calculs liés aux collisions. Il est donc essentiel de la définir au plus juste.
Pour les utilisateurs de TS Modeler, c'est le programme qui s'en chargera.
Pour ceux de Gmax, il faut compléter le fichier '*.sd' avec les infos ad hoc.

Le fichier 'SD'

Ce fichier comporte quelques informations modifiables par l'utilisateur et, entre autres, la 'BoundingBox'. Les valeurs à fournir sont à calculer sur votre modèle en essayant de modéliser une telle boîte enveloppant votre modèle. Vous devrez ensuite fournir les coordonnées des deux sommets de cette boîte comme explicité ci-dessous,

Shape ( FourgonHSVert.s

ESD_Detail_Level ( 0 )
ESD_Alternative_Texture ( 0 )
ESD_Bounding_Box ( -2.243972 0.015770 -7.132640 2.243973 5.803846 7.132640
)

Nous ne nous attacherons pas aux deux premières lignes du shape mais uniquement à la ligne 'ESD_Bounding_Box'. Cette ligne indique la position de deux sommets opposés de la boîte représentée sur la photo. Ces deux sommets (coin inférieur avant gauche et coin supérieur arrière droit ) sont définis comme 'x1 y1 z1' et 'x2 y2 z2'. Le tout, défini à partir du centre de votre objet (voir schéma ci-dessous ).

N'oubliez pas, 'x' va de l'avant vers l'arrière de la voiture, 'y' de bas en haut et 'z' de gauche à droite.

VolSphère

Cette information est présente dans le fichier '*.s' (shapes ) de votre objet. Elle détermine les dimensions de votre objet ainsi qu'une sphère de rayon r centrée à l'origine de votre objet. Cette sphère définit la zone de visibilité de votre objet:
"Tant que la sphère est visible, l'objet est calculé et affiché si nécessaire!"
Voici une représentation de l'objet avec sa sphère modélisée.

On constate que la sphère à un rayon légèrement plus grand que l'objet lui même, mais cela n'empêche pas d'avoir des parties du véhicule situées hors de la sphère! Dans ce cas, si seules ces parties devaient rester visibles, comme la sphère ne les plus, vous ne verriez plus l'objet car il ne serait pas calculé! Un autre exemple pour illustrer!

Un petit quai simple faisant 10m de long pour 2m de larges! Son attribut 'vol_sphere' vaut 5.09 tel que définit par TS Modeler. Si on place cet objet sur une route, voilà ce que l'on obtient!

Augmentons maintenant la longueur du quai en la triplant mais en conservant la valeur actuelle de la sphère! Pour indiquer les extrémités de ce quai, nous placerons deux repères (des arbres ). Analysons le résultat!

Voici l'image de l'extrémité du quai avec la sphère toujours visible et un arbre pour marquer la fin du quai. Si on fait aller la machine vers la gauche, la sphère va progressivement disparaître, dès qu'elle sera invisible, le quai le deviendra aussi. Ceci explique pourquoi, dans certaines lignes, des objets se mettent à disparaitre au fur et à mesure qu'on les croise alors qu'ils pourraient encore être visibles. De même lors de la pose d'objet, l'éditeur réagit de la même manière! Voici une vue après quelques secondes de déplacement...

Et pourtant le quai est bien là!