
Cuando estamos creando un videojuego es probable que tengamos varios problemas a la hora de desarrollarlo. Uno de los muchos problemas que nos podemos encontrar es uno relacionado con las vallas.
En concreto el que provoca que al alejarse el jugador se vean mal y borrosas. En este artículo aprenderemos a solventar este bug de una forma muy sencilla.
Duplicando los materiales de la valla
Para empezar, vamos a abrir el modelo de la valla en cuestión (desde el «Content Browser«). Seguidamente, tendremos que modificar los materiales y LOD’s correspondientes.
En primer lugar, nos colocamos encima del material de la rejilla y le damos a la lupa, como se puede ver en la imagen. Si nos vamos a la pantalla principal veremos que el «Content Browser» se ha colocado en la carpeta donde tenemos el material de la reja. A este material le damos clic derecho, «duplicate» y lo abrimos.
Cambiando materiales con el TexCoord
Lo más probable es que ese material ya tenga un «TexCoord» (nodo que puede escalar una textura) porque lo hubiésemos usado anteriormente para escalar la rejilla original. En el caso de que no lo tengamos tendremos que sacar, con clic derecho, desde el «Texture Sample» «UVs«, un «TextureCoordinate» y ya lo tendremos. Para ajustarlo, modificamos el «TexCoord» a un número mayor para que la textura se vea mas grande (teniendo en cuenta no estirar las UVs). Si teníamos la original a 25.0, este lo ajustamos a 6 que es un parámetro que va a quedar muy bien dentro del juego.
Seguidamente, volvemos a duplicar el material pero en este caso el parámetro del «TexCoord» lo ajustamos a 1.0 que este ya será el material que se vea cuando esté muy lejos (LOD final).
Aplicando los nuevos materiales a los LOD’s de la valla
Volvemos a nuestro modelo 3D y tendremos que crear 2 materiales nuevos. Para ello clicamos en el «+» dos veces, en el apartado de los materiales, y los habremos creado (tenemos que tener 2 materiales aparte de los originales).
En el primer material, en nuestro caso, tenemos que elegir la variación del material con los valores de «6» (menos tileado que el original, ya que este tenía un valor de 25) y en el segundo material elegimos la variación con valores de «1» (el menos tileado de todos).
Asignando materiales a los diferentes LOD’s
Hacemos scroll vertical hasta el apartado de ‘LOD’s‘ y ajustamos la cantidad de LOD’s a uno más que las variaciones de material de reja que tenemos creados, en nuestro caso son dos materiales ya que el original no cuenta, así que lo ajustamos a tres y le damos a «Apply Changes«.
En el ‘LOD Picker‘, elegimos el LOD 1 y nos va a pedir un material. Como es el primer LOD y se va a mostrar a media distancia, elegimos el segundo material. Ahora podemos observar que el material ha cambiado y se muestra uno con menos tiles. Volvemos a hacer lo mismo con el LOD 2, esta vez ajustando el material al segundo creado. Este se va a mostrar muy lejos de la cámara, así que no nos tenemos que preocupar de que se vea grande.
De esta forma tendríamos ajustados los materiales mediante los LOD’s y en el caso de que queramos poner más materiales, se tendría que repetir el proceso con cada nuevo material creado (asegurándonos siempre de tener el material correspondiente).
Para ajustar la distancia que se va a mostrar cada LOD tenemos que ajustar el tamaño de la pantalla a uno más pequeño que el anterior. Para verlo en más profundidad podéis consultar este artículo: Optimización | Cómo generar LODs con Unreal Engine 4
Y hecho esto ya tendríamos el problema solucionado, si hay alguna distancia en la que se sigue viendo raro es tan fácil como hacer que el siguiente LOD del que está provocando el problema se muestre antes para taparlo.
Si necesitáis una referencia aquí tenéis un video-tutorial sobre este tema: