Bonjour à tous,
Je travaille actuellement sur un moteur en webGL permettant de gérer un jeu de type FPS qui est déjà relativement avancé.
Je cherche une technique me permettant de réaliser un impact de balle sur un modèle lorsqu'on lui tire dessus par exemple.

Pour un objet solide sujet aux tile map (comme un mur) récupérer le point d'impact et lui superposer un polygone avec une alpha marche très bien ! Mais lorsqu'il s'agit d'un modèle animé qui est sujet aux déformations placer un polygone au point d'impact est une solution difficilement maintenable.

J'ai donc pensé a une solution que je vous ai résumé sur l'image ci-dessous :



1 - On récupère le point d'impact.
2 - On transpose ce point d'impact en coordonnées UV.
3 - On crée une texture full alpha
4 - On merge l'impact de balle sur la texture centré sur la coordonnée UV.
5 - Lors du rendu => multi-texturing pour obtenir l'impact.

Je trouve le principe simple mais je butte sur les étapes 3 et 4. Comment faire pour créer un texture alpha et comment faire pour lui merger une image par dessus aux bonnes coordonnées UV?

Je n'arrive pas à trouver sur le net quelle méthode est utilisée par les moteurs comme source/unreal engine/glacier/id Tech pour gérer ce genre de problématique. Si jamais vous avez des infos, n'hésitez pas !

Merci