StaticdisplayStaticeffectAjoute des fleurs instanciées sur la surface du mesh. Crée un mesh instancié par partie de fleur (pétales, tige, etc.). Les fleurs sont orientées selon les normales de surface et évitent les zones de roches. Applique une rotation aléatoire autour de l'axe vertical pour plus de variété.
Mesh cible sur lequel placer les fleurs
Ajoute des roches instanciées sur la surface du mesh. Utilise l'échantillonnage de Poisson pour garantir un espacement naturel. Crée des zones d'exclusion pour empêcher l'herbe/fleurs d'apparaître sous les roches.
Mesh cible sur lequel placer les roches
Applique la végétalisation complète sur un objet.
Mesh sur lequel appliquer l'effet
Applique la transformation du plan au sample (normal et position dans le monde) uniquement si le mesh est un plane. Ne modifie pas les autres types de primitives.
Sample contenant position (Vector3) et normal (Vector3)
Mesh cible (vérifie si c'est un plane)
Configure le matériau
Crée et place des papillons autour du mesh cible Les papillons sont des planes animées avec mouvement circulaire
La caméra utilisée pour orienter les billboards.
Le mesh autour duquel les papillons apparaissent.
Crée un ShaderMaterial pour les fleurs à partir du matériau original.
Préserve la couleur et texture du matériau GLB d'origine tout en ajoutant :
Matériau source du modèle GLB
Matériau shader configuré
Crée le ShaderMaterial pour les brins d'herbe instanciés.
Le shader applique :
Matériau shader configuré
Nettoie les ressources
Obtient les uniforms par défaut pour cet effet
Génère une échelle aléatoire pour une fleur selon le mode actuel.
Vecteur d'échelle (x, y*0.5, z)
Génère une échelle aléatoire pour un brin d'herbe selon le mode actuel.
Vecteur d'échelle uniforme (x=y=z)
Génère une échelle aléatoire et variée pour une roche selon le mode actuel.
Vecteur d'échelle avec variations par axe
Obtient les chemins des shaders
Chemins vertex et fragment
Vérifie si un point se trouve dans une zone d'exclusion autour d'une roche. Utilisé pour empêcher l'herbe et les fleurs d'apparaître sous les roches.
Point à tester
'true' si le point est dans une zone d'exclusion
Charge la texture des papillons (billboard) et configure la transparence
Charge le modèle 3D des fleurs depuis un fichier GLB. Extrait tous les meshes avec leurs matériaux pour supporter des fleurs multi-parties (pétales, tige, etc.).
Charge le modèle 3D des roches depuis un fichier GLB. Extrait la géométrie et le matériau du premier mesh trouvé.
Appelé automatiquement lors de l'application de l'effet sur un objet 3D.
Recherche le premier mesh valide dans la hiérarchie de l'objet et y applique tous les éléments de végétalisation (herbe, fleurs, roches, papillons).
L'objet 3D cible
Appelé lors du retrait de l'effet. Nettoie tous les éléments de la scène (herbe, fleurs, roches, papillons) et libère les ressources GPU associées.
Objet cible
Distribue des échantillons dans l'espace 3D en utilisant l'algorithme de disque de Poisson. Garantit une distance minimale entre chaque point pour un placement naturel et évite les regroupements. Utilisé pour les roches.
Échantillons candidats
Distance minimale entre deux points
Nombre maximum de points à retourner
Échantillons filtrés
Régénère la végétation avec les paramètres actuels
Échantillonne aléatoirement des points sur la surface d'une géométrie. Les points sont utilisés pour placer l'herbe, les fleurs et les papillons. Met en cache les résultats pour réutilisation. IMPORTANTE: Apliquer automatiquement les transformations du mesh (escale, rotation, position)
La géométrie à échantillonner.
Nombre de points à générer.
Clé de cache optionnelle pour réutiliser les échantillons.
Le mesh pour obtenir les transformations mondiales
Array d'objets {position: Vector3, normal: Vector3}
Met à jour l'effet (appelé chaque frame)
Matériau shader
Temps écoulé
Met à jour un paramètre depuis l'UI
Matériau shader
ID du contrôle HTML
Nouvelle valeur
Effet Naturify (végétalisation) Applique automatiquement :