Création d'un effet de glitch similaire à Watch Dogs

8

Je travaille actuellement sur un jeu LibGDX. Lorsqu'un utilisateur fait quelque chose de mal, je voudrais que tous les graphiques à l'écran tremblent très similaires à l'effet de glitch / distorsion vu dans le jeu Watch Dogs (voir ci-dessous).

Ma question est la suivante: cet effet peut-il être obtenu en temps réel en écrivant un shader? Si oui, existe-t-il des références en ligne sur la façon de procéder? (J'ai eu un rapide Google, mais tout ce que j'ai pu trouver, c'est comment obtenir cet effet dans Photoshop / After Effects).

Merci de votre aide.

Gigue d'écran: https://www.youtube.com/watch?v=EYkqC9uI8Nc

Effet de pépin de texte: https://www.youtube.com/watch?v=Wj26Wp2AH-U

entrez la description de l'image ici

Rhakiras
la source
Cela peut très probablement être réalisé en rendant l'image à une texture, puis en courbant votre cerveau pour trouver le pipeline de traitement des shaders pour y parvenir. La vraie question est: à quoi l'utiliseriez-vous? Cela ressemble plus à un projet de scène de démonstration qu'à une compétence qu'un programmeur de jeux devrait avoir. Bien sûr, ça ne fait pas de mal de l'essayer. Une supposition éclairée me dit que WD a atteint cet objectif en lisant des films Flash au lieu d'utiliser des shaders sophistiqués comme vous le souhaitez. Donc, si un AAA ne le fait pas, pourquoi le feriez-vous?
teodron
1
@teodron "La vraie question est: à quoi l'utiliseriez-vous?" Je pense que la réponse à cette "vraie" question se trouve dans la question d'origine. "une compétence qu'un programmeur de jeux devrait avoir", tout le monde ne se limite pas aux compétences qu'il "devrait" posséder. "Donc, si un AAA ne le fait pas, pourquoi le feriez-vous?" À bien des égards, cette façon de penser ralentit les progrès. En conclusion, la seule information pertinente apportée par votre commentaire est «plier le cerveau pour trouver le pipeline de traitement du shader pour y parvenir», ce qui n'est pas du tout une information.
rootlocus
1
Bien sûr, l'effet peut être obtenu en temps réel. Cartes de décalage de texture + superpositions, éventuellement en plusieurs couches et / ou animées. Tout cela est assez banal, à part le processus de création d'actifs artistiques, qui peut prendre un certain temps.
snake5
3
Il semble que "l'effet" qu'ils ont utilisé dans cette image spécifique soit de choisir au hasard de minces rectangles verticaux et d'inverser (inverser) les couleurs de ces rectangles, ce qui devrait être assez simple à réaliser.
AturSams
1
Je pense que la question est trop large à ce stade. Il existe de nombreux exemples d'un effet "glitch", dont deux dans les liens fournis par le demandeur et chacun mis en œuvre de manière complètement différente. Quelles sont vos exigences précises? Vous devez savoir ce que vous souhaitez faire avant de commencer à le faire ou les réponses que vous obtiendrez dans ce cas seront un shader.
AturSams

Réponses:

6

Créer le look glitchy peut être accompli dans un large éventail de façons. En substance, ce que nous avons été culturellement habitués à accepter comme un problème est tout ce qui est une distorsion soudaine de ce qui serait autrement un contenu cohérent. Certains pépins correspondent bien à la transmission analogique (c.-à-d. Le bruit blanc) et d'autres conviennent bien aux affichages numériques, aux symboles ascii aléatoires, au texte vacillant, aux artefacts (comme les rectangles négatifs). Le fait de jeter les trois couches de couleur hors de la mise au point (est appelé saignement et) rappelle plus les écrans CRT. Vous pouvez également ajouter temporairement des ondes verticales de haute amplitude.

Pour faire apparaître des caractères ascii aléatoires:

  1. Vous pouvez copier la chaîne de texte d'origine et modifier rapidement et aléatoirement certains des caractères.
  2. Vous pouvez utiliser une feuille de sprites comme celle-ci et simplement utiliser des sprites de caractères placés au hasard, en les supprimant peu de temps après pour les faire scintiller à l'écran de manière imprévisible.
  3. Pour faire l'image négative, ce que vous avez suggéré fonctionnerait. Il s'agit essentiellement d'un XOR entre le texte et les rectangles de bruit (si le blanc est vrai et le noir est faux).
AturSams
la source
2
Comme vous l'avez dit, le peaufinage est essentiel ici, car il s'agit d'un effet artistique et ne tombe pas dans une catégorie "travail" / "non travail".
AturSams