¿Cómo puedo hacer un sombreador de contorno como "La vida es extraña"?

13

Quiero hacer un sketch shader como la vida extraña.

Shader tiene dos partes:

1. línea discontinua animada

2. esquema ruidoso

Me gusta saber cómo puedo hacer un esquema ruidoso.

ver esquema de objetos

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

Primero traté de hacer un esquema copiando los datos de vértice entrantes y escalado de acuerdo con la dirección normal, luego Cull Back. Pero creo que es algo así como el efecto de imagen porque el contorno a veces se mueve dentro del objeto. de todos modos agradeceré si alguien me ayuda a implementar este sombreador :)

Lo que probé

Utilicé la detección de bordes y la animé con el sombreador de vértices, pero esto no es bueno como los gifs anteriores.

record_2019_01_21_18_16_43_440

record_2019_01_21_18_27_28_597

Seyed Morteza Kamali
fuente

Respuestas:

1

He hecho algo similar en Unreal Engine 4, así que voy a explicar solo los conceptos. Hay 2 formas de hacerlo, y son diferentes gradientes de compensaciones entre el rendimiento y la facilidad de implementación.

  1. Primero, agregue una nueva malla en la parte superior de la malla principal, un poco más grande (como una malla de colisionador físico). Luego, cree un sombreador de material transparente para él y habilite el sombreador / muestre la malla ya que el tronco de la vista del jugador está dentro de x unidades de distancia de la entidad. Este rendimiento es pesado debido al sombreador de transparencia, pero dado que solo tiene un pequeño conjunto de objetos resaltados en cierto punto, es fácil de implementar y factible.

  2. Cree una textura base con las líneas hash y desplace las coordenadas de textura según un conjunto predeterminado de matrices. Esto crea la ilusión de "texturas animadas"; en la industria, también se llama material dinámico (hay más, pero puede leerlo si lo desea). En cuanto al esquema, puede encontrar muchos tutoriales en la web. Esta técnica requiere mucho más tiempo para implementarse, ya que debe jugar con las matrices de desplazamiento y el tiempo de actualización del material para obtener un resultado similar a las capturas de pantalla anteriores, sin mencionar que tiene que alinear las líneas hash en los cambios de ángulo en la malla base.

Si el rendimiento no es un problema, vaya con 1. Si cada FPS cuenta, use 2, pero espere muchos problemas que llevan tiempo resolver.

estudiante curioso
fuente