Crée une instance de l'effet d'explosion.
Gestionnaire des systèmes de particules
Gestionnaire d'environnement pour accès à la scène et caméra
StaticdependenciesStaticdisplayStaticeffectRetourne au mode preview depuis n'importe quel état.
Nettoie tous les fragments existants et restaure l'objet original.
Configure le matériau avec les propriétés nécessaires pour l'effet.
Matériau à configurer
Optionaloptions: any = {}Options additionnelles
Crée les corps rigides physiques pour tous les fragments avec matériaux de contact.
Crée le corps rigide physique du sol (plan infini statique).
Crée le mesh visuel du sol avec shader procédural (grille et effet verre dépoli). Taille: 100x100 unités.
Scène où ajouter le mesh
Crée un anneau d'onde de choc qui s'étend radialement depuis le centre d'explosion. Auto-destruction après 1.5 seconde.
Détecte automatiquement le niveau du sol dans la scène en cherchant les plans les plus bas.
Scène à analyser
Nettoyage complet de toutes les ressources.
Libère le monde physique et tous les corps rigides.
Active ou désactive le système de particules.
Optionalenable: boolean = trueÉtat d'activation
Active ou désactive la simulation physique.
Optionalenable: boolean = trueÉtat d'activation
Exécute l'explosion physique. Applique les forces aux fragments, active les shaders thermiques, et crée tous les systèmes de particules.
Optionalcamera: Camera = nullCaméra pour les effets de shake
Retourne les uniforms par défaut pour le shader.
Uniforms clonés
Retourne les chemins des fichiers shader.
Objet contenant vertex et fragment
Initialise le monde physique Cannon.js avec gravité et paramètres de collision.
Applique l'effet sur un objet 3D. Crée la fragmentation, initialise la physique et le sol. L'état initial est 'idle' avec l'objet visible et les fragments cachés.
Objet 3D à fragmenter
Matériau à appliquer aux fragments
Supprime complètement l'effet et restaure l'objet original.
Objet d'origine
Réinitialise l'effet à l'état idle. Conserve la fragmentation mais cache les fragments et affiche l'objet original.
Configure les dépendances après instanciation.
Objet contenant les gestionnaires
OptionalenvironmentManager?: anyGestionnaire d'environnement
OptionalparticleManager?: anyGestionnaire de particules
Affiche le preview de fragmentation avec séparation contrôlée des fragments. Régénère automatiquement si nécessaire depuis l'objet original.
Applique une vibration à la caméra pour simuler l'impact de l'explosion.
Caméra à animer
Optionalintensity: number = 0.25Intensité initiale de la vibration
Optionalduration: number = 0.8Durée en secondes
Démarre la phase de tremblement précédant l'explosion. Cache les fragments et affiche l'objet original.
Déclenche la séquence complète d'explosion (réinitialisation physique puis tremblement).
Boucle de mise à jour principale. Gère les transitions d'états, la physique et les shaders.
Matériau principal
Temps écoulé depuis la dernière frame (secondes)
Met à jour les uniforms des shaders thermiques de tous les fragments. Calcule le progrès de refroidissement global et le facteur de vélocité.
Temps écoulé depuis la dernière frame (secondes)
Met à jour les paramètres depuis l'interface utilisateur. Déclenche automatiquement le preview si nécessaire.
Matériau à mettre à jour
Identifiant du contrôle UI
Nouvelle valeur
Met à jour la simulation physique et synchronise les meshes avec leurs corps rigides.
Temps écoulé depuis la dernière frame (secondes)
Met à jour l'animation de tremblement. Déclenche l'explosion à la fin.
Temps écoulé depuis la dernière frame (secondes)
Optionalcamera: Camera = nullCaméra pour le shake
Effet d'explosion avec fragmentation géométrique et simulation physique réaliste.
Implémente une séquence complète d'explosion en quatre phases : idle, preview, shaking et exploding. Utilise Cannon.js pour la physique, TransformEngine pour la fragmentation, et des systèmes de particules pour les effets visuels. Intègre des shaders thermiques progressifs.
Example