Collision {  
      eventIn MFNode addChildren  
      eventIn MFNode removeChildren  
      exposedField MFNode children []  
      exposedField SFBool collide TRUE  
      field SFVec3f bboxCenter 0 0 0  
      field SFVec3f bboxSize -1 -1 -1  
      field SFNode proxy NULL  
      eventOut SFTime collideTime 
    }
 
 
Le bloc Collision permet de modifier ou d'ajuster le comportement de la détection de collision avec les objets contenus dans ce bloc.  Il permet par exemple de fournir une forme simple englobant une forme complexe, accélérant ainsi les calculs ou, autre exemple, de désactiver la détection pour un ensemble d'objets donnés.

 
Champs de Collision
addChildren Événement. Permet de rajouter des blocs enfants dynamiquement
removeChildren Événement. Permet d'enlever des blocs enfants dynamiquement
children Permet de déclarer les blocs enfants
collide Active (TRUE) / désactive (FALSE) la détection de collisions
bboxCenter Centre de boîte englobante (facultatif, utilisé par l'afficheur pour optimisation)
bboxSize Taille de boîte englobante (facultatif)
proxy Permet de fournir une représentation non affichable pour simplifier le calcul de détection de collision.
collideTime Événement.Renvoie l'heure de la collision.
 
 



 Source:


Analyse:  
Note : La norme VRML 97 ne définit que la détection de collision entre l'observateur et les objets présents dans une scène. La détection de collision entre 2 ou plusieurs objets de la scène elle même n'est pas définie. Ceci est une lacune importante: la réalisation de jeux, ou de simulations demande un effort supplémentaire de programmation.