HaloCE Modding [Spanish Forum]

Bienvenido al sitio Halo Modding español. Publica tus trabajos aquí, pregunta o ayuda resolviendo topics/temas.
 

 

 Shader model - ¿Qué es? ¿Para qué sirve? ¿Por qué es fundamental?

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
MrChromed

avatar

Miembro Nivel 1
Miembro Nivel 1


Mensajes : 7
Likes : 8
Fecha de inscripción : 25/07/2016
Localización : Chile

MensajeTema: Shader model - ¿Qué es? ¿Para qué sirve? ¿Por qué es fundamental?   Miér Nov 23, 2016 4:14 pm

¡Hola a todos nuevamente! Soy yo, MrChromed, de ShadowMods Team. En esta oportunidad (y luego de un retraso de más de 3 meses) les traigo un nuevo tutorial acerca de uno de los aspectos MÁS IMPORTANTES en el entorno gráfico de Halo CE: Shader_model.

¿Qué es?

Shader_model es el shader por defecto que usan los objetos creados en formato GBXModel (Gearbox Model, la versión de Gearbox del formato .model de Xbox). Se usa principalmente para materiales opacos y sin transparencia (se puede tener transparencia en este tipo de shader, pero los shaders "shader_transparent_chicago - extended - glass" sirven de mejor forma para ese propósito). Algunos ejemplos de materiales opacos:

- Metales.
- Caucho.
- Plástico.
- Roca.
- Otros.

Este tipo de shader se compone principalmente por 4 tipos de texturas:

- Diffuse: Textura opaca y base del modelo. Creo que no hay mucho que explicar acerca de este punto.

- Multipurpose: Textura que, como su nombre indica, es multipropósito, ya que cumple con 4 funciones de acuerdo a cada canal de la imagen (R-G-B-Alpha (si es que tiene) ) y éstas son:

a) R = Detalle (specular map)
b) G = Iluminación
c) B = Reflección
d) A = Máscara para cambio de color en un objeto.

- Detail_map: textura que sirve para generar un nivel de detalle y que es aplicado sobre el modelo o shader en cuestión. Podría considerarse como un pseudo - specular map.

- Cubemap: Tipo de textura especial compuesta por 6 caras en forma de "T" botada 90° contrareloj y simula reflección sobre un objeto. Los objetos en Halo no son compatibles con reflejos ambientales en tiempo real/dinámico, por lo que el cubemap viene a emular un efecto de reflejo.

Propiedades del tag

NOTA: Algunas propiedades del tag como tal no funcionan, ya que la estructura del shader es una plantila modificada del shader_enviroment. Así que sólo me enfocaré en las propiedades que sí surten efecto notorio dentro del juego.

Model Shader

* Detail after reflection: el detail_map se mostrará encima del área que posea reflección (por medio de un cubemap y un multipurpose debidamente configurados). Esta opción puede resultar últil en algunos casos, pero no siempre. Experimenta por tí mismo.

* Two - sided: la textura diffuse se mostará tanto en el exterior como en el interior del modelo.

Change color

* Change color source: Si tu textura multipurpose posee canal alfa, y el tag en cuestión (.vehicle, .scenery, .biped, etc) posee permutaciones de colores, el shader tomará el color que exista en la letra correspondiente (existen 4 ranuras para permutaciones de colores, definidas por las letras A - B - C - D).

NOTA: El .biped generalmente usa la letra C para los cambios de colores de la armadura en multijugador, así que no toques esta letra en caso de que estés editando un shader para un biped.

Self - Illumination

* Animation function: si tu textura multipurpose posee un canal verde para autoiluminación, entonces puedes probar con estas diversas configuraciones que harán una animación a la iluminación.

* Animation period: la cantidad de segundos de la animación. Más segundos = más larga la duración de la animación.

* Animation color lower bound: El color que tomará la iluminación en el punto final de la animación.

* Animation color upper bound: El color que tomará la iluminación en el punto máximo de la animación.

Maps

* Map u - scale: Tamaño horizontal que tomará la textura base en el modelo. SIEMPRE tenlo en 1.

* Map v - scale: Tamaño vertical que tomará la textura base en el modelo. SIEMPRE tenlo en 1.

* Detail function: Controla cómo el detail map se aplica en el diffuse map. Por defecto, siempre está en "double/biased multiply", mientras que en  "multiply" el detail map oscurecerá el diffuse al fusionar sus capas. "Double/biased add" es prácticamente igual al primero, con la salvedad de que genera un tono más saturado.


* Detail mask: Controla la forma en que se aplicará la máscara del detail map sobre el objeto en relación al multipurpose. Mask recomendados: Reflection mask y none. Puedes experimentar por tí mismo.

* Detail map scale: Nivel de veces en que el detail map se verá repetido sobre el shader/sector del objeto. Dependiendo del detail map en cuestión y su diseño, la escala puede ser aumentada o disminuida. Experimenta con valores y deja una escala donde el detalle no se vea ni tan repetitivo (efecto mosaico) ni tan bajo o amplio.

* Detail map: ubicación del detail map.

* Detail map v- scale: Tamaño vertical que tomará el detail map en el shader. SIEMPRE tenlo en 1.

Texture scrolling animation

Este apartado es algo complejo de explicar, pero a grandes rasgos son propiedades que permiten emular animaciones de movimiento en el shader. Un ejemplo clásico son los rotores o ventiladores generadores de metano que se encuentran en la espalda del Grunt de Halo Reach:

Lo mejor es experimentar por uno mismo con diferentes valores, aunque si no lo necesitas, simplemente pasa de largo.

Reflection properties

* Reflection fallout distance: Distancia donde la reflección comienza a desvanecerse.
* Reflection cutoff distance: Distancia donde la reflección desaparece completamente.
* Perpendicular brightness: Cantidad de brillo que tendrá la reflección al ser vista perpendicularmente (mirando al objeto de frente). Valor mínimo: 0 - valor máximo: 1.

* Perpendicular tint color: Color que tendrá el brillo perpendicular.
* Parallel brightness: Cantidad de brillo que tendrá la reflección al ser vista paralelamente (mirando al objeto de lado). Valor mínimo: 0 - valor máximo: 1.

* Parallel tint color: Color que tendrá el brillo paralelo.
* Reflection cube map: ubicación del cubemap.

Y con esto termino este tutorial algo simple pero necesario para futuras generaciones. Intentaré postear más seguido por aquí, ya que tengo ganas de explicar más a detalle cómo lograr buenos shaders al saber crear diffuses, multipurposes y detail maps de calidad. Espero les haya servido y ya nos veremos próximamente. Saludos cordiales Smile

PD: Pueden seguirnos en Facebook al buscarnos como "ShadowMods", donde podrás hallar más de nuestros proyectos: https://www.facebook.com/shadowmodspag
Volver arriba Ir abajo
Ver perfil de usuario
Pepe Enriquez

avatar

Miembro Nivel 2
Miembro Nivel 2


Mensajes : 16
Likes : 0
Fecha de inscripción : 05/07/2016
Localización : Mexico

MensajeTema: Re: Shader model - ¿Qué es? ¿Para qué sirve? ¿Por qué es fundamental?   Miér Nov 23, 2016 11:01 pm

Muchas gracias por tus aportes, gracias por acordarte de esta pagina!!
Volver arriba Ir abajo
Ver perfil de usuario
 
Shader model - ¿Qué es? ¿Para qué sirve? ¿Por qué es fundamental?
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

Permisos de este foro:No puedes responder a temas en este foro.
HaloCE Modding [Spanish Forum] :: Halo 1 :: Discusión General Mapping/Modding :: Ayuda Modding-
Cambiar a: