Es/$translucent: Difference between revisions
(translated the original page from English to Spanish) |
No edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LanguageBar}} | ||
{{this is a|shader parameter|name=$translucent}}{{toc-right}} | |||
Especifica que el material debería ser parcialmente transparente. El canal alfa de {{ent|$basetexture}} se utiliza para determinar la translucidez por píxel. | Especifica que el material debería ser parcialmente transparente. El canal alfa de {{ent|$basetexture}} se utiliza para determinar la translucidez por píxel. | ||
Cualquier objeto que tenga un material <code>$translucent</code> no afecta a | Cualquier objeto que tenga un material <code>$translucent</code> no afecta a {{L|VIS}}, 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|Activar la translucidez desactivará completamente las sombras creadas por | {{note|Activar la translucidez desactivará completamente las sombras creadas por {{L|env_projectedtexture|texturas proyectadas}} para la textura. Separe las partes opacas y sólidas de la textura, o use {{L|$alphatest}} en su lugar.}} | ||
== | ==Sintaxis== | ||
{{CodeBlock|$translucent <{{L|Boolean|bool}}>}} | |||
==Ejemplo de VMT== | |||
{{CodeBlock|lines=5|{{L|LightmappedGeneric}}<nowiki> | |||
{ | |||
"</nowiki>{{L|$basetexture}}<nowiki>" "glass/window001a" | |||
"$translucent" 1 | |||
}</nowiki>}} | |||
== Parámetros Adicionales == | == Parámetros Adicionales == | ||
{{ | {{MatParamDef|$additive|bool|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 == | == Precauciones == | ||
Line 24: | Line 26: | ||
[[File:Translucent2p.png]] | [[File:Translucent2p.png]] | ||
A diferencia de <code>'''$translucent'''</code>, que permite grados variables de opacidad, la prueba alfa <code>$alphatest</code> no lo hace: se encienden o apagan las partes de su textura. <code>'''$alphatestreference'''</code>, 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 <code>$translucent</code>, se puede utilizar para lograr un efecto similar a los materiales que utilizan el parámetro <code>$translucent</code> a un costo reducido. El uso de <code>''' | A diferencia de <code>'''$translucent'''</code>, que permite grados variables de opacidad, la prueba alfa <code>$alphatest</code> no lo hace: se encienden o apagan las partes de su textura. <code>'''$alphatestreference'''</code>, 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 <code>$translucent</code>, se puede utilizar para lograr un efecto similar a los materiales que utilizan el parámetro <code>$translucent</code> a un costo reducido. El uso de <code>'''{{L|$allowalphatocoverage}}'''</code> habilitará el suavizado de texturas con prueba alfa, dando bordes mucho más suaves. Cuando <code>'''$allowAlphaToCoverage'''</code> está habilitado, <code>'''$alphatestreference'''</code> se ignora y no afectará la apariencia de la textura, aunque seguirá afectando al enmascaramiento de texturas proyectadas (por ejemplo, la linterna). | ||
{{note|El efecto de <code>'''$allowAlphaToCoverage'''</code> solo será visible si el usuario tiene MSAA activado.}} | {{note|El efecto de <code>'''$allowAlphaToCoverage'''</code> solo será visible si el usuario tiene MSAA activado.}} | ||
{{tip|Las texturas de pincel en pinceles del mundo que no son detalles usan el | {{tip|Las texturas de pincel en pinceles del mundo que no son detalles usan el {{L|BSP tree|árbol BSP}} para mejorar la ordenación alfa, reduciendo la probabilidad de que ocurra este tipo de error. Evite vincular pinceles translúcidos simples a {{L|func_detail}} a menos que sea necesario; de todos modos, no afectarán a VIS.}} | ||
=== Compatibilidad con Otros Efectos === | === Compatibilidad con Otros Efectos === | ||
Ciertos parámetros de sombreador (como {{ent|$envmap}}) desactivan la translucidez. Si tienes problemas para que funcione, prueba comentando otras partes del material. | Ciertos parámetros de sombreador (como {{ent|$envmap}}) desactivan la translucidez. Si tienes problemas para que funcione, prueba comentando otras partes del material. | ||
{{note|{{csgo|4}}, {{gmod|4}} y {{l4d2|4}} admiten <code> | {{note|{{csgo|4}}, {{gmod|4}} y {{l4d2|4}} admiten <code>{{L|$envmap}}</code> con translucidez.}} | ||
=== Filtros de Bordes === | === Filtros de Bordes === | ||
Line 45: | Line 47: | ||
{{note|Este proceso se llama '''dilatación''' y también ayuda en la generación adecuada de mipmaps.}} | {{note|Este proceso se llama '''dilatación''' y también ayuda en la generación adecuada de mipmaps.}} | ||
('''Para usuarios de versiones antiguas de | ('''Para usuarios de versiones antiguas de {{L|GIMP}}''', 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. | 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|Para las conversiones desde {{gldsrc|4}}: | {{tip|Para las conversiones desde {{gldsrc|4}}: | ||
{{L|xwad}} generará automáticamente píxeles transparentes adecuados para cualquier textura {{L|WAD}} convertida que contenga el prefijo {{key|{}}}, cualquier sprite {{L|SPR}} convertido marcado como {{mono|AlphaTest}}, y cualquier textura {{L|BMP}} suelta convertida que se haya convertido usando el indicador {{code|-transparent}}.}} | |||
== Vease también == | == Vease también == | ||
* <code> | * <code>{{L|$alpha}}</code> para translucidez en toda la textura | ||
* <code> | * <code>{{L|$distancealpha}}</code> para bordes alfa tipo vector | ||
* <code> | * <code>{{L|$vertexalpha}}</code> | ||
* <code> | * <code>{{L|$alphatest}}</code> para opacidad binaria | ||
{{ACategory|Shader parameters|translucent}} |
Latest revision as of 12:07, 23 August 2025
$translucent
es un parámetro de un shader disponible en todos los juegos de 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 , 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.

Sintaxis
Ejemplo de VMT
Parámetros Adicionales
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.
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
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).

$allowAlphaToCoverage
solo será visible si el usuario tiene MSAA activado.
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.




$envmap
con translucidez.Filtros de Bordes
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.
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.

(Para usuarios de versiones antiguas de GIMP , 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.


Vease también
$alpha
para translucidez en toda la textura$distancealpha
para bordes alfa tipo vector$vertexalpha
$alphatest
para opacidad binaria