17 juin 2009

Prims fantômes

Un nouveau petit tutorial de build... pour résoudre d'une première manière un problème auquel tout builder est confronté : les prims fantômes...
Une primitive fantôme est une primitive qui est visible mais qui se laisse traverser...

Pour rendre une prim fantôme, il suffit de cocher la case fantôme de l'onglet objet.

Alors où se trouve le probleme ?
Un objet est composé en général de plusieurs prims. Imaginons que nous voulions dans un même objet des prims fantômes et des prims non fantômes... On crée les différentes prims, on coche la case fantôme de celles que l'on veut voir fantômes... on sélectionne tout ca et, hop, on lie...
Et la... oh stupeur !! damned !! Notre objet dans sa totalité est devenu fantôme !!

Si un objet contient une seule prim fantôme, il devient fantôme dans son ensemble !!

Pour résoudre ce problème, il existe deux solutions : la première est une solution purement build, l'autre purement script...

Aujourd'hui : la technique build....


Un exemple classique où on souhaite avoir le mélange des deux sortes de prims est lors de l'utilisation de sculpties dans un objet.

Les prims SL occupent le volume qu'elles représentent. Lorsque l'on crée une sculpty, on commence par créer une primitive et on definit ensuite la texture UV de la sculpty. Alors la prim se déforme prend la forme de la sculpty.
En faisant CTRL + MAJ pour faire apparaitre les poignées de redimensionnement, on voit apparaitre la rounded box, la boite qui marque le volume occupé par la prim dans l'espace.
Ainsi, une scultpy occupe toujours plus de place que ce que l'on voit. Si on laisse la prim telle quelle, on risque de heurter ce volume...

L'exemple le plus courant est l'arbre...
Raison pour laquelle on passe la sculpty en fantôme...
Pour ca que les arbres sont souvent fantômes !

Mais revenons à nos moutons : je veux des prims fantômes dans un objet pas fantôme !! na !

Pour illustrer notre exemple, nous allons créer un objet de trois prims...
Je commence par faire un cube que je redimensionne pour le grandir un peu.



Puis je le copie une fois, puis une autre (MAJ + cliquer-glisser).
Enfin, je donne une couleur à mes cubes (onglet texture) : vert pour la prim fantôme, et rouge pour les autres.

Et maintenant, ce que vous attendez tous : l'astuce. Car on s'en doute bien, je ne vais pas cocher la case fantôme ! Puisque ca ne marche pas.
Le truc se situe au niveau de l'onglet attribut : la prim que je veux immatérielle sera une prim flexy.

Je coche donc la case flexible, et je defini les paramètres suivants (sur la prim verte) :
  • Elasticité : 10
  • Tension : 10
  • le reste : 0

Je peux à ce stade traverser ma prim sans soucis.
Mainteant, lions le tout. On s'arrangera pour que la prim flexy ne soit pas la prim root... en la choisissant en premier pour être sur de pas se tromper. J'ajoute les autres à la sélection (MAJ + clic). Puis je vais dans le menu outils > lier
Et voila mon objet est fini.





Et la prim verte est immatérielle alors que les autres non. gotcha ! ^^

La prochaine fois, la même chose mais en utilisant un script.






Aucun commentaire: