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