FoliMesh

Arbres de style Réaliste pour PlayCanvas

Les arbres réalistes s'importent dans PlayCanvas comme assets conteneur GLB : on dépose le fichier dans l'éditeur pour obtenir un template avec toute la hiérarchie, ou on le charge en code avec app.assets.loadFromUrl(url, 'container') puis instantiateRenderEntity(). Chaque arbre possède LOD0–LOD3, une collision de type mesh avec rigidbody statique et un pivot à la base du tronc.

L'écorce utilise des textures PBR (couleur de base, normale, rugosité) ; les feuilles sont des cartes alpha-testées qui écrivent la profondeur, sans tri ni artefacts d'ombre. PlayCanvas n'a pas de composant LOD : un petit script bascule les entités LOD0–LOD3 selon la distance caméra, et les batch groups ou setInstancing() regroupent des forêts de Chêne, Pin sylvestre, Épicéa et Bouleau. Idéal pour la survie, l'open world et les simulateurs.

Modèles
14
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 PlayCanvas

PlayCanvas traite le GLB comme un asset container. Dans l’éditeur, importez le GLB (le FBX est converti en GLB à l’import) pour obtenir un template avec la hiérarchie du modèle ; en code moteur seul, utilisez app.assets.loadFromUrl(url, 'container') puis asset.resource.instantiateRenderEntity().

  • LOD : il n’y a pas de composant LOD intégré ; un petit script compare la distance à la caméra et active ou désactive les composants render des entités LOD0–LOD3.
  • Les arbres statiques peuvent partager un batch group pour fusionner les draw calls ; pour de grandes forêts, utilisez l’instanciation matérielle avec meshInstance.setInstancing() et un vertex buffer de transformations.
  • Feuillage : le MASK de glTF règle alphaTest sur le StandardMaterial ; utilisez le cull mode none pour des feuilles double face.
  • Maillage de collision : composant collision de type mesh avec un rigidbody statique, composant render désactivé.

Packs

Autres catégories

Le même dans d'autres styles

Le même pour d'autres moteurs