21/10/2019, 11:32 PM
(Última modificación: 21/10/2019, 11:39 PM por metita. Edited 5 times in total.)
* Antes que nada, no soy experto ni me considero el mejor para crear un tutorial del uso avanzado de la textura Hint y de la textura Skip, pero si puedo dar el impulso para que experimenten con estas 2 texturas que pueden dar una mejora en el rendimiento de un mapa.
Y que este "tutorial" o intento de lo hice gracias a meTaLiCroSS que me enseño y explico que hacen estas 2 texturas y como deben ser posicionadas, requieren bastante mente e imaginación para usarlas a su maximo potencial, y que, si se usan mal, pueden dar un efecto adverso.
Primero que nada, el Engine del juego es el encargado de predecir todo lo que el juego puede o no puede ver, incluso si no estamos viendo algo el Engine si lo esta viendo (y el juego lo esta renderizando).
Un ejemplo simple seria una pared con 1 pasillo en cada lado dando a un patio, el juego no debería permitir que se renderice mas allá de la pared porque NO estamos viendo el patio, pero el juego aun así lo renderiza (esto puede variar dependiendo de que tan lejos o cerca esta el patio.
(Es por esto que el Engine de GoldSource es bastante malo en ese sentido)
Es por esto que están las texturas Hint y Skip, cuando son ubicadas en una posición especifica, impiden que una zona se renderice en la POV del jugador si no la estamos viendo.
Las siguientes imágenes y parte del tutorial son una mezcla miá con la de otro tutorial extranjero, es mucho mas entendible de esta forma que las que yo he implementado en mis mapas. (A mi juicio)
Acá están viendo los famosos visportals, los cuales son los encargados de crear los cortes correspondientes que dan el paso a una "nueva zona" del mapa. Si se fijan van en cada corte del mapa dando paso a un pasillo nuevo (en el caso de este mapa).
Veamos como actuá el engine en este caso... si estamos en el punto 2, estamos llegando incluso a renderizar hasta el punto 4 (lo cual es terrible porque ni lo estamos viendo)
Cuando el jugador esta en el punto 2, podemos trazar una linea en diagonal en el corte del pasillo es ahí donde podemos colocar la textura hint/skip para evitar que el juego renderize la zona que NO estamos viendo (pero el engine si esta prediciendo)
Con este ejemplo, podemos crear un pasillo simple en diagonal (como el de la imagen) y que aunque no vemos el otro pasillo igual lo estamos renderizando.
(Usando developer 2 y gl_wireframe 2 para ver que esta viendo el Engine)
Cuando ya tenemos el ejemplo creado y esta listo para ser ""optimizado"" podemos empezar a jugar con estas 2 texturas.
(Antes que nada, cuando tenemos el bloque posicionado, cubranlo COMPLETO al bloque con la textura SKIP y al final, en la zona que quieran hacer el corte hacen una cara con la textura HINT)
Si se fijan, el bloque lo crearemos en esta diagonal, en donde se esta renderizando un punto que NO vemos en ningún momento si no cuando llegamos al punto en si.
La imagen de la derecha es como va a estar posicionado el bloque, en diagonal y SIN DEJAR un solo hueco al ser creado (fíjense en la linea celeste)
Como debería quedar la renderizacion con el bloque bien puesto.
Si estamos en el punto 2, veremos que se creo una nueva zona (zona #5) la cual fue producto del bloque Hint/Skip.
In-game probamos como quedo el bloque:
No renderizamos casi nada desde el punto 2 al punto 3 o 4 como antes, ya que el bloque Hint/Skip en diagonal esta "ocultando" las zonas.
Se pueden crear muchos tipos de Bloques Hint/Skip, en diagonal u horizontal, ya con eso deben experimentar junto a developer 2 y gl_wireframe 2 que son claves para ver como el Engine va renderizando zona por zona dependiendo de la ubicacion del jugador.
Vean donde estan los cortes de los mapas, asegurense de no dejar huecos al crear los bloques y que estan alineados perfectamente.
Y que este "tutorial" o intento de lo hice gracias a meTaLiCroSS que me enseño y explico que hacen estas 2 texturas y como deben ser posicionadas, requieren bastante mente e imaginación para usarlas a su maximo potencial, y que, si se usan mal, pueden dar un efecto adverso.
Primero que nada, el Engine del juego es el encargado de predecir todo lo que el juego puede o no puede ver, incluso si no estamos viendo algo el Engine si lo esta viendo (y el juego lo esta renderizando).
Un ejemplo simple seria una pared con 1 pasillo en cada lado dando a un patio, el juego no debería permitir que se renderice mas allá de la pared porque NO estamos viendo el patio, pero el juego aun así lo renderiza (esto puede variar dependiendo de que tan lejos o cerca esta el patio.
(Es por esto que el Engine de GoldSource es bastante malo en ese sentido)
Es por esto que están las texturas Hint y Skip, cuando son ubicadas en una posición especifica, impiden que una zona se renderice en la POV del jugador si no la estamos viendo.
Las siguientes imágenes y parte del tutorial son una mezcla miá con la de otro tutorial extranjero, es mucho mas entendible de esta forma que las que yo he implementado en mis mapas. (A mi juicio)
Acá están viendo los famosos visportals, los cuales son los encargados de crear los cortes correspondientes que dan el paso a una "nueva zona" del mapa. Si se fijan van en cada corte del mapa dando paso a un pasillo nuevo (en el caso de este mapa).
Veamos como actuá el engine en este caso... si estamos en el punto 2, estamos llegando incluso a renderizar hasta el punto 4 (lo cual es terrible porque ni lo estamos viendo)
Cuando el jugador esta en el punto 2, podemos trazar una linea en diagonal en el corte del pasillo es ahí donde podemos colocar la textura hint/skip para evitar que el juego renderize la zona que NO estamos viendo (pero el engine si esta prediciendo)
Con este ejemplo, podemos crear un pasillo simple en diagonal (como el de la imagen) y que aunque no vemos el otro pasillo igual lo estamos renderizando.
(Usando developer 2 y gl_wireframe 2 para ver que esta viendo el Engine)
Cuando ya tenemos el ejemplo creado y esta listo para ser ""optimizado"" podemos empezar a jugar con estas 2 texturas.
(Antes que nada, cuando tenemos el bloque posicionado, cubranlo COMPLETO al bloque con la textura SKIP y al final, en la zona que quieran hacer el corte hacen una cara con la textura HINT)
Si se fijan, el bloque lo crearemos en esta diagonal, en donde se esta renderizando un punto que NO vemos en ningún momento si no cuando llegamos al punto en si.
La imagen de la derecha es como va a estar posicionado el bloque, en diagonal y SIN DEJAR un solo hueco al ser creado (fíjense en la linea celeste)
Como debería quedar la renderizacion con el bloque bien puesto.
Si estamos en el punto 2, veremos que se creo una nueva zona (zona #5) la cual fue producto del bloque Hint/Skip.
In-game probamos como quedo el bloque:
No renderizamos casi nada desde el punto 2 al punto 3 o 4 como antes, ya que el bloque Hint/Skip en diagonal esta "ocultando" las zonas.
Se pueden crear muchos tipos de Bloques Hint/Skip, en diagonal u horizontal, ya con eso deben experimentar junto a developer 2 y gl_wireframe 2 que son claves para ver como el Engine va renderizando zona por zona dependiendo de la ubicacion del jugador.
Vean donde estan los cortes de los mapas, asegurense de no dejar huecos al crear los bloques y que estan alineados perfectamente.