FoliMesh

Cactus et succulentes de style Réaliste pour Babylon.js

Chargez le GLB avec ImportMeshAsync depuis @babylonjs/loaders, ou LoadAssetContainerAsync puis instantiateModelsToScene quand la scène demande beaucoup de copies. Les matériaux réalistes suivent le workflow PBR metal/roughness : Saguaro, Cactus tonneau, Figuier de Barbarie, Agave et Aloès arrivent avec cartes de couleur de base, de normales et de rugosité. Les cartes MASK du glTF deviennent un PBRMaterial alpha-testé (MATERIAL_ALPHATEST) : épines et cartes de feuilles écrivent la profondeur et projettent des ombres correctes.

Chaque modèle fournit LOD0–LOD3 : enchaînez lod0.addLODLevel(30, lod1) et addLODLevel(80, lod2) pour garder les déserts et les décors western légers, ou passez null pour masquer un niveau. Le maillage de collision invisible fonctionne avec checkCollisions ou Havok PhysicsAggregate. Utilisez les thin instances pour les peuplements denses, createInstance quand chaque plante doit être pickée.

Modèles
5
Niveaux de détail
LOD0 – LOD3
Formats
GLB · FBX · OBJ

À propos du style Réaliste

Les modèles réalistes suivent le workflow PBR metal/roughness, lu directement par glTF 2.0, Unity, Unreal, Godot et three.js.

  • Écorce : textures de couleur, de normales et de rugosité sur le tronc et les branches.
  • Feuillage : cartes en alpha test (masked) avec des textures de grappes de feuilles, pas en alpha blend : elles écrivent la profondeur, ne demandent aucun tri et projettent des ombres correctes.
  • Écorce et feuillage ont des matériaux séparés : le nombre de draw calls reste prévisible et l’instanciation GPU fonctionne bien.
  • LOD0 sert aux plans rapprochés ; LOD1–LOD3 retirent branches et cartes de feuilles, le dernier niveau est assez léger pour le lointain.

Idéal pour les jeux à la première et à la troisième personne, la survie, les mondes ouverts et les simulateurs sur PC et console. Sur mobile, utilisez LOD1 ou LOD2 comme niveau le plus proche et surveillez l’overdraw du feuillage.

Utilisation dans Babylon.js

Babylon.js charge le GLB via le loader glTF de @babylonjs/loaders : ImportMeshAsync (ou SceneLoader.ImportMeshAsync dans du code plus ancien), ou LoadAssetContainerAsync quand il faut de nombreuses copies via instantiateModelsToScene.

  • LOD : lod0.addLODLevel(30, lod1), addLODLevel(80, lod2), etc. ; passer null comme maillage masque l’objet au-delà de cette distance.
  • Des milliers d’arbres : les thin instances (thinInstanceAdd avec des matrices) se rendent en un draw call par maillage ; utilisez createInstance quand chaque arbre a besoin de son propre picking ou de sa logique.
  • Feuillage : le MASK de glTF devient un PBRMaterial en alpha test (MATERIAL_ALPHATEST).
  • Maillage de collision : isVisible = false, puis utilisez-le avec checkCollisions ou la physique Havok (PhysicsAggregate avec une forme MESH).

Packs

Autres catégories

Le même dans d'autres styles

Le même pour d'autres moteurs