J'ai fait quelque chose de similaire dans Unreal Engine 4, donc je vais simplement expliquer les concepts. Il y a 2 façons de le faire, et ce sont différents gradients de compromis entre les performances et la facilité de mise en œuvre.
Tout d'abord, ajoutez un nouveau maillage au-dessus du maillage principal, juste un peu plus grand (tout comme un maillage de collisionneur physique). Créez ensuite un shader de matériau transparent pour lui et activez le shader / affichez le maillage car le tronc de vue du joueur est à moins de x unités de distance de l'entité. Cette performance est lourde en raison du shader de transparence, mais comme vous n'avez qu'un petit ensemble d'objets mis en évidence à un certain point, il est facile à mettre en œuvre et réalisable.
Créez une texture de base avec les lignes de hachage et déplacez les coordonnées de texture selon un ensemble de matrices prédéterminé. Cela crée l'illusion de "textures animées"; dans l'industrie, on l'appelle également un matériau dynamique (il y a plus, mais vous pouvez lire si vous le souhaitez). Quant au plan, vous pouvez trouver de nombreux tutoriels sur le web. Cette technique prend beaucoup plus de temps à mettre en œuvre, car vous devez bricoler avec les matrices de déplacement et le temps de mise à jour du matériau pour obtenir un résultat similaire aux captures d'écran ci-dessus, sans oublier d'avoir à aligner les lignes de hachage sur les changements d'angle dans le maillage de base.
Si les performances ne sont pas un problème, passez à 1. Si chaque FPS compte, utilisez 2, mais attendez-vous à beaucoup de problèmes qui prennent du temps à résoudre.
étudiant curieux
la source