Fr/True reflections under CSS: Difference between revisions

From Valve Developer Community
< Fr
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:


== Technique ==
== Technique ==
 
Sous Source1, soit HL2, CSS, ... La seul facon d'obtenir de vrais réflections est d'utilisez le shader "water", soit pour l'eau. Les autres reflections sont obtenues par Cubemaps, qui permettent des reflections de basse qualité. Mais grâce à une astuce il est possbile d'obtenir des reflections en temps réels, cette technique consiste à superposer 2 matériaux, un shader normalen transaprence alpha, plus un water avec seulement les reflections. Cette techniques est idéal pour un sol, mais ne peux pas s'appliquer à un mûr, car le shader water ne fonctionne qu'à plat.
Sous Source1, soit HL2, CSS, ... La seul facon d'obtenir de vrais réflections est d'utilisez le shader "water", soit pour l'eau. Les autres reflections sont obtenues par Cubemaps, qui permettent des reflections de basse qualité. Mais grâce à une astuce il est possbile d'obtenir des reflections en temps réels, cette technique consiste à superposer 2 matériaux, un shader normalen transaprence alpha, plus un water avec seulement les reflections. Cette techniques est idéal pour un sol, et ne peux pas s'appliquer à un mûr, car le shader water ne fonctionne qu'à plat.


Cette technique est inutile pour la version Orange Box, car elle dispose d'une entitée pour les reflections temps réel, et elle peut s'appliquer à un mûr :
Cette technique est inutile pour la version Orange Box, car elle dispose d'une entitée pour les reflections temps réel, et elle peut s'appliquer à un mûr :
Line 10: Line 9:


== Pratique ==
== Pratique ==
[[Image:triple_material.jpg|thumb|right|300px|3 matériaux.]]
[[Image:triple_material.jpg|thumb|right|300px|Les 3 matériaux.]]
Il vous faut utiliser 3 couches de matériaux :
* Un matériaux normal, en alpha, en surface, là ou les joueurs marcheront.
* Un matériaux avec le shader Water, qui n'affichera que les reflections en temps réels.
* un matériaux divers, qui servira de support à l'eau, sinon elle ne fonctionnera pas correctement.
 
= Matériaux de surface =
Exemple :
 
"LightmappedGeneric"
{
"LightmappedGeneric_DX9"
{
"$alpha" 0.6
}
 
"$basetexture" "giger/ex/vrai_reflet/plaque"
 
}
 
= Water =
 
"Water"
{
"%compilewater" 1
 
"$reflecttexture" "_rt_WaterReflection"
"$reflectamount" "0.1"  //plus la valeur est faible plus les vous aurez de reflections.
"$reflecttint" "[1 1 1]"


"$normalmap" "...."  //Indiquer une texture de couleurs unie, comme une texture blanche.


"$fogenable" 0
"$fogcolor" "{1 1 1}"


"%compilepassbullets" 1 
}


Le paramètre de compilations '''"%compilepassbullets" 1''' permet de rendre le matériaux insensible aux effets extérieurs, les balles et les joueurs qui marcheront sur ce matériaux n'aura pas d'effet. Ce paramètre est indispensable pour CSS, car les balles traverse les Block, vous aurez un effet d'eau, un  SPLASH, chaque que vous tirez sur le sol, qui traversera l'eau, ce qui n'est pas réaliste.




http://www.interlopers.net/tutorials/19882
http://www.interlopers.net/tutorials/19882

Revision as of 12:05, 2 December 2008

Vraie reflections sous CSS.


Technique

Sous Source1, soit HL2, CSS, ... La seul facon d'obtenir de vrais réflections est d'utilisez le shader "water", soit pour l'eau. Les autres reflections sont obtenues par Cubemaps, qui permettent des reflections de basse qualité. Mais grâce à une astuce il est possbile d'obtenir des reflections en temps réels, cette technique consiste à superposer 2 matériaux, un shader normalen transaprence alpha, plus un water avec seulement les reflections. Cette techniques est idéal pour un sol, mais ne peux pas s'appliquer à un mûr, car le shader water ne fonctionne qu'à plat.

Cette technique est inutile pour la version Orange Box, car elle dispose d'une entitée pour les reflections temps réel, et elle peut s'appliquer à un mûr : Func_reflective_glass

Pratique

Les 3 matériaux.

Il vous faut utiliser 3 couches de matériaux :

  • Un matériaux normal, en alpha, en surface, là ou les joueurs marcheront.
  • Un matériaux avec le shader Water, qui n'affichera que les reflections en temps réels.
  • un matériaux divers, qui servira de support à l'eau, sinon elle ne fonctionnera pas correctement.

Matériaux de surface

Exemple :

"LightmappedGeneric"
{

"LightmappedGeneric_DX9" { "$alpha" 0.6 }

"$basetexture" "giger/ex/vrai_reflet/plaque"

}

Water

"Water"
{

"%compilewater" 1

"$reflecttexture" "_rt_WaterReflection" "$reflectamount" "0.1" //plus la valeur est faible plus les vous aurez de reflections. "$reflecttint" "[1 1 1]"

"$normalmap" "...." //Indiquer une texture de couleurs unie, comme une texture blanche.

"$fogenable" 0 "$fogcolor" "{1 1 1}"

"%compilepassbullets" 1

}

Le paramètre de compilations "%compilepassbullets" 1 permet de rendre le matériaux insensible aux effets extérieurs, les balles et les joueurs qui marcheront sur ce matériaux n'aura pas d'effet. Ce paramètre est indispensable pour CSS, car les balles traverse les Block, vous aurez un effet d'eau, un SPLASH, chaque que vous tirez sur le sol, qui traversera l'eau, ce qui n'est pas réaliste.


http://www.interlopers.net/tutorials/19882