NOVA dispose d'un moteur de collision afin de permettre un comportement réaliste de la caméra dans l'environnement 3D. Avec cette option activée, vous ne passerez plus à travers le sol ou les objets. deux grands modes peuvent ainsi être définis: SOit vous ne passer pas à travers les objets, mais vous ne subissez pas la gravité, soit vous subissez la gravité et vous collisionnez avec les objets. Voyons comment intégrer un système de collision à notre scène :
A cette adresse, vous pourrez trouver les sources de la scène. Décompressez et ouvrez le fichier "HouseLF.max" et les textures associées.
La première chose à faire est de lancer le mmoteur de collision de
NOVA. Pour faire ceci, faites un clic droit sur un espace vide du viewport de 3dsMax (assurez-vous qu'aucune entité n'est sélectionnée) afin d'ouvrir le menu quad. Dans ce menu choisissez l'option
NOVA Properties. Cela à pour effet d'opuvrir les
proriétés NOVA de la scène. Naviguez jusqu'au menu Collisions et cochez la case "Collisions".
NOVA activera le moteur de collision dans la scène.
Ensuite, il faut spécifier quel sera le comportement de la caméra vis-à-vis des collisions. Sélectionnez la caméra et ouvrez ses
NOVA Properties. Dans l'onglet
Camera collisions properties, cochez la case "Enable". Dorénavant, la caméra subira les collisions. Comme, par défaut, le monde
NOVA dispose d'une gravité, celle-ci s'appliquera également à la caméra. Le premier effet perceptible sera de faire chuter la caméra et comme aucun n'objet ne vient pour l'instant empécher la caméra de tomber, celle-ci tombera à l'infini.
Pour empécher ceci, sélectionnons le sol (objet "Ground") et ouvrons ses
propriétés NOVA. Descendez jusqu'à l'onglet "Collisions" et cacher la case "Enable Collisions". Toutefois, gardez à l'esprit que les collisions sont calculées par sommet. Dans le cadre d'un objet complexe, comme le sol, un grand nombre de sommets implique un temps de calcul de collisions assez long. pour remédier à ceci, nous alllons subdiviser un peu le terrain. Descendez encore un peu dans les
propriétés NOVA de l'objet Ground jusqu'à l'onglet "Optimizations". Dans le champ "Subdivisions", indiquez 2. L'objet faisant 900 faces, les collisions n'interagirons plus qu'avec 450 faces en simultané.
Voilà, c'est le moment du premier export. Exportez la scène et lancez-là dans
NOVA Studio. Vous dévriez y voir la scène s'afficher, et la caméra tomber, jusqu'au niveau du sol. Le souci, c'est qu'elle semble un peu basse sur le terrain. l'explication est simple : les paramètres par défaut de NOVA sont établis pour une unité rationnelle en mètre. Si l'on mesure la maison de la scène, on se rend compte que sa longueur équivaut à 75 mètres! Soit 10 fois la taille voulue. pour remédier à ceci, le mieux est de travailler en amont pour avoir la bonne échelle. Cependant, nous allons nous adapter à la scène. Repassez sous
3ds Max et ouvrez les
propriétés NOVA de la caméra. Retournez dans l'onglet collisions et réglez les valeurs d'Ellipsoid comme ceci :X=2, Y=9, Z=2. Exportez à nouveau et relancez la scène dans
NOVA. Les collisions sont mintenant correctes. Si vous vous approchez de la maison, vous observez deux phénomènes : la vitesse de la caméra est trop faible , d'une part, mais de plus, vous traversez la maison (tout comme les arbres, éventuellement. Nous allons donc corriger tout ceci.
Repassez dans
3ds Max et ouvrez les
propriétés NOVA de la caméra. Dans l'onglet "General Camera Properties", réglez la valeur Speed sur 4.
Ensuite, tracez une boîte simple qui englobe la maison, avec un peu de marge , au centre de la scène. Nommez-là "Coll1". Ouvrez ses propriétés Max et décochez l'option Renderable. pour
NOVA, cela signifie que l'objet est présent dans la scène, mais qu'il n'est pas envoyé au rendu. Ouvrez ensuite les
propriétés NOVA de cette boîte et cochez la case "Enable Collisions". Comme cette boîte ne sera pas rendue, vous pouvez aussi cocher la case "Optimize for Collisions" dans l'onglet "Optimisations" (qui permet de ne pas exporter les coordonnées de textures, la peinture au sommet, etc...). Vous venez de créer un objet factice de collision pour la maison. Cette boîte comprend 12 facettes, là où la maison en compte 1280. le gain de performance est évident. De la même manière, vous pouvez créer 4 boîtes assez grandes et proches des bords du terrain, avec les mêmes options de manières à empécher la caméra d'aller trop loin et de tomber hors de la maquette. Vous pouvez aussi créer des boîtes et les placer autours de arbres afin que la caméra ne puisse pas les traverser.
Enfin, vous pouvez ouvrir les
propriétés NOVA pour corriger la force de la gravité et la faire correspondre à l'échelle de la scène. Dans l'onglet Collisions, sur la valeur d'Y, saisissez -50.
Exportez à nouveau votre maquette, et sauvegardez là sous le nom "HouseColl.max" ou ouvrir le fichier portant le même nom dans l'archive fournie pour plus d'informations.
Votre système de collisions est maintenant prêt.