LOD : Simplifiez vos objets en fonction de la distance de l'utilisateur

Type Champ Defaut Borne Utilisation
MFNode level
[]
  Définit les différents niveaux de détail de l'objet
SFVect3f center 0 0 0 - Par défaut la distance de l'utilisateur à l'objet est calculée par rapport au centre de cet objet. center permet de modifier le point d'où est calculée cette distance.
MFFloat range
[]
>0 Tableau des distances de l'utilisateur à l'objet qui permet de choisir quel niveau de détail afficher.

 

Le noeud LOD (Level Of Detail) permet de définir des niveaux de détail d'un objet en fonction de la distance qui les sépare de l'utilisateur. En effet, pour un objet lointain, il n'est pas forcément la peine d'afficher tout ses détails. Vous savez que plus votre ordinateur devra afficher de faces en 3D, moins l'animation de votre monde et les déplacements seront fluides. Cette technique permet de réduire le nombre de faces totales affichées dans une grande scène en 3D.

range est le tableau qui définit les distances à partir desquelles tel ou tel niveau de détail sera affiché. Ces nombres sont donc forcément >0 et doivent aller croissant.

Si on a n niveau de détail (level), on a n-1 range. Par exemple, pour 3 niveaux de détail, on aura un tableau de 2 ranges :

pour range =[20,50] :
L'objet de plus complet (le plus détaillé) sera affiché s'il se trouve entre 0 et 20 mètres de l'utilisateur
L'objet "un peu" simplifié sera affiché entre 20 à 50 mètres de l'utilisateur
L'objet le plus simple sera affiché à plus de 50 mètres de distance. On a bien 3 niveaux de détail différents.

Exemple 1 - Un objet qui possède une distance limite d'affichage

Vous pouvez utiliser LOD pour définir qu'un objet ne sera tout simplement pas affiché à partir d'une certaine distance. On n'aura donc que 2 niveaux de détail, celui qui définit l'objet et le second qui sera vide.

Voir le résultat - Voir la source

Remarques : vous pouvez aussi utiliser un distance d'affichage limite globale à votre scène grâce au visibilityLimit et NavigationInfo. Ainsi tous vos objets lointains ne seront pas affiché.

Son utilisation est d'ailleurs fortement conseillée pour les grances scènes !! Voici un exemple qui donnera le même résultat :

Voir le résultat - Voir la source

Exemple 2 - Trois niveaux de détails

L'objet n'a pas forcément d'intêret mais vous montre l'utilisation de trois niveaux de détails pour illustrer l'utilisaton de level.

Voir le résultat - Voir la source

Autre exemple

Au niveau modélisation, l'utilisation du LOD est difficile, lorsque qu'un objet passe d'un  niveau de simplification à l'autre, l'utilisateur ne doit quasiment pas s'en apercevoir (dans le cas contraire, votre monde perd en réalisme !). Voici un bon exemple (en image) d'un modéle utilisant un LOD :

 

Cet exemple est tiré du site Facets 3D Models, qui vend des modèles à plusieurs niveau de simplification.


 
10 internaute(s) sur Web3d-fr
Copyright Web3d-fr 2001-2004