Comment puis-je faire un shader de contour comme «Life is Strange»?


13

Je veux faire un shader de sketch comme une vie étrange.

shader a deux parties:

1. ligne pointillée animée

2. contour bruyant

J'aime savoir comment créer un contour bruyant?

voir le contour des objets

record_2019_01_21_09_43_07_10

record_2019_01_21_09_51_00_896

record_2019_01_21_09_45_53_942

record_2019_01_21_11_37_27_699

J'ai d'abord essayé de créer un contour en copiant les données de vertex entrantes et mis à l'échelle selon la direction normale puis Cull Back.Mais je pense que c'est quelque chose comme l' effet d'image parce que le contour se déplace parfois à l'intérieur de l'objet. de toute façon j'apprécierai si quelqu'un m'aide à implémenter ce shader :)

Ce que j'ai essayé

J'ai utilisé la détection des bords et je l'ai animée par vertex shader mais ce n'est pas bon comme les gifs ci-dessus.

record_2019_01_21_18_16_43_440

record_2019_01_21_18_27_28_597

Réponses:


1

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.

  1. 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.

  2. 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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.