La información en este artículo es para Source. Haga clic aquí para más información.

$translucent

From Valve Developer Community
< Es
Jump to navigation Jump to search
English (en)Español (es)Français (fr)Translate (Translate)

$translucent es un UNTRANSLATED string "shader parameter" see Template:This is a/strings disponible en todos los juegos de Source Source.

Especifica que el material debería ser parcialmente transparente. El canal alfa de $basetexture se utiliza para determinar la translucidez por píxel.

Cualquier objeto que tenga un material $translucent no afecta a VIS(en), y puede ser visto a través por NPCs desde cualquier ángulo. Sin embargo, las visleaves sí afectan a la clasificación alfa de los materiales translúcidos.

Note.pngNota:Activar la translucidez desactivará completamente las sombras creadas por texturas proyectadas(en) para la textura. Separe las partes opacas y sólidas de la textura, o use $alphatest(en) en su lugar.

Sintaxis

$translucent <bool(en)>

Ejemplo de VMT

  1.  
  2.  
  3.  
  4.  
  5.  
LightmappedGeneric(en) { "$basetexture(en)" "glass/window001a" "$translucent" 1 }

Parámetros Adicionales

Agrega los valores de color del material a la imagen existente, en lugar de realizar una multiplicación. Esto significa, entre otras cosas, que el material siempre iluminará el mundo. Es útil para efectos como polvo volumétrico, sprites de luz, etc.

Precauciones

Parpadeo y Profundidad Inversa

La translucidez a veces puede hacer que un material parpadee o cause problemas de ordenación con superficies cercanas. En ambos casos, considere usar $alphatest en lugar de $translucent cuando esto ocurra. Esto reduce drásticamente la calidad, pero generalmente resuelve el problema y es mucho más rápido de dibujar. Además, lanzará sombras de linterna, a diferencia de los materiales translúcidos.

Translucent2p.png

A diferencia de $translucent, que permite grados variables de opacidad, la prueba alfa $alphatest no lo hace: se encienden o apagan las partes de su textura. $alphatestreference, un parámetro normal, controla la filtración de la máscara de transparencia (usando valores más bajos como .01 resultará en un borde más difuminado mientras que un valor de .99 será extremadamente nítido). Dado que la prueba alfa es más económica que $translucent, se puede utilizar para lograr un efecto similar a los materiales que utilizan el parámetro $translucent a un costo reducido. El uso de $allowalphatocoverage(en) habilitará el suavizado de texturas con prueba alfa, dando bordes mucho más suaves. Cuando $allowAlphaToCoverage está habilitado, $alphatestreference se ignora y no afectará la apariencia de la textura, aunque seguirá afectando al enmascaramiento de texturas proyectadas (por ejemplo, la linterna).

Note.pngNota:El efecto de $allowAlphaToCoverage solo será visible si el usuario tiene MSAA activado.
Tip.pngConsejo:Las texturas de pincel en pinceles del mundo que no son detalles usan el árbol BSP(en) para mejorar la ordenación alfa, reduciendo la probabilidad de que ocurra este tipo de error. Evite vincular pinceles translúcidos simples a func_detail(en) a menos que sea necesario; de todos modos, no afectarán a VIS.

Compatibilidad con Otros Efectos

Ciertos parámetros de sombreador (como $envmap) desactivan la translucidez. Si tienes problemas para que funcione, prueba comentando otras partes del material.

Note.pngNota:Counter-Strike: Global Offensive Counter-Strike: Global Offensive, Garry's Mod Garry's Mod y Left 4 Dead 2 Left 4 Dead 2 admiten $envmap(en) con translucidez.

Filtros de Bordes

Wikipedia icon Filtrado de texturas mezclará los píxeles cercanos incluso si algunos de ellos son completamente transparentes. Esto puede crear efectos no deseados de contornos si las caídas abruptas en el canal alfa coinciden con caídas en el color, lo cual puede ocurrir cuando el canal alfa alcanza cero y ya no puedes ver los píxeles.

Un borde de filtrado no deseado.

Para resolver este problema, simplemente mezcla los colores de tu imagen ligeramente más allá de donde el canal alfa cae. Esto se puede lograr fácilmente duplicando la capa translúcida y difuminándola en las áreas relevantes.

Corrigiendo los bordes de filtrado.
Note.pngNota:Este proceso se llama dilatación y también ayuda en la generación adecuada de mipmaps.

(Para usuarios de versiones antiguas de GIMP(en), el programa eliminará automáticamente la información de color de los píxeles con alfa cero cuando se combinan capas. Como solución temporal, podrías asignar a esos píxeles un valor alfa de uno en su lugar.

A partir de GIMP 2.8.14, los píxeles con un valor alfa de 0 conservan su información de color al guardarse como tga.

Tip.pngConsejo:Para las conversiones desde GoldSrc GoldSrc: xwad(en) generará automáticamente píxeles transparentes adecuados para cualquier textura WAD(en) convertida que contenga el prefijo {}, cualquier sprite SPR(en) convertido marcado como AlphaTest, y cualquier textura BMP(en) suelta convertida que se haya convertido usando el indicador -transparent.

Vease también