Difference between revisions of "True reflections under CSS:fr"

From Valve Developer Community
Jump to: navigation, search
(sens/orthographe)
 
Line 1: Line 1:
[[Image:exemple_vraie_reflet.jpg|thumb|right|300px|Vraie réflexions sous CSS.]]
+
[[Image:exemple_vraie_reflet.jpg|thumb|right|300px|réflexions en temps réel sous CSS.]]
  
Sous Source1, soit HL2, CSS, ... La seul façon d'obtenir de vrais réflexions est d'utiliser le shader "water", soit pour l'eau. Les autres réflexions sont obtenues par Cubemaps, qui permettent des réflexions de basse qualité, suffisante pour des matériaux classique, mais pas pour un miroir qui demande une haute résolutions. Mais grâce à une astuce il est possbile d'obtenir des réflexions en temps réels, cette technique consiste à superposer 2 matériaux, un shader normal en transparence alpha, plus un water avec seulement les réflexions . 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. Le shader water reflète tous sauf vous. {{DISPLAYTITLE:Vraie réflexions sous CSS}}
+
Sous Source, La seul façon d'obtenir des réflexions en temps réel est d'utiliser le shader "water", soit de l'eau. Les autres réflexions sont obtenues par Cubemaps, qui permettent des réflexions de basse qualité, suffisante pour des matériaux classiques, mais pas pour un miroir qui demande une haute résolution. Mais grâce à une astuce il est possible d'obtenir des réflexions en temps réel, cette technique consiste à superposer 2 matériaux, un shader normal transparent, couplé à un shader water disposant seulement de réflexions . Cette technique est idéale pour un sol, mais ne peut malheureusement pas s'appliquer à un mur, car le shader water ne fonctionne qu'à plat. Le shader water reflète tous sauf le joueur. {{DISPLAYTITLE:Vraie réflexions sous CSS}}
  
Cette technique est inutile pour la version Orange Box, car elle dispose d'une entité pour les réflexions 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é pour les réflexions en temps réel, et elle peut s'appliquer à un mur :
 
'''Func_reflective_glass'''. Orange Box dispose aussi du shader '''LightmappedReflective'''.
 
'''Func_reflective_glass'''. Orange Box dispose aussi du shader '''LightmappedReflective'''.
  
Line 12: Line 12:
 
Il vous faut utiliser 3 couches de matériaux :
 
Il vous faut utiliser 3 couches de matériaux :
  
* Un matériaux normal, en alpha, en surface, là ou les joueurs marcheront. Optionnelle.
+
* Un matériau normal, en alpha, en surface, là ou les joueurs marcheront. Optionnel.
* Un matériaux avec le shader Water, qui n'affichera que les réflexions en temps réels.
+
* Un matériau avec le shader Water, qui n'affichera que les réflexions en temps réel.
* un matériaux divers de recouvrement de l'eau, sinon elle ne fonctionnera pas correctement.
+
* un matériau divers de recouvrement de l'eau, sinon elle ne fonctionnera pas correctement.
  
 
=== Matériaux de surface ===
 
=== Matériaux de surface ===
  
Créer un Block d'une unité et appliquer lui un matériaux avec alpha. Il est important de laisser un jeux, même de quelque dixième entre ce matériaux et l'eau, ou l'alpha ne fonctionnera pas et vous aurez une sorte d'effet de floue.
+
Créer un Bloc d'une unité d'épaisseur et appliquez lui le matériau avec alpha. Il est important de laisser un espace, même de quelques dixièmes d'unités entre ce matériau et l'eau, ou l'alpha ne fonctionnera pas et vous aurez une sorte d'effet flou.
  
 
Exemple :
 
Exemple :
Line 28: Line 28:
 
  }
 
  }
  
Remarque : Il est possible de ne pas se servir ce matériaux, si par exemple vous voulez un sol en miroir.
+
Remarque : Il est possible de ne pas se servir ce matériau, si par exemple vous voulez un sol en miroir.
  
 
=== Water ===
 
=== Water ===
Line 44: Line 44:
 
  }
 
  }
  
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, chaque que vous tirez sur le sol vous aurez un  SPLASH, ce qui n'est pas réaliste. Vous pouvez aussi grâce à ce paramètre de compilations courir sur cette surface, comme sur un miroir.
+
Le paramètre de compilation '''"%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'auront pas d'effet sur lui. Ce paramètre est indispensable pour CSS, car les balles traversent les Blocs, chaque fois que vous tirerez sur le sol vous aurez un  SPLASH, ce qui n'est pas réaliste. Vous pouvez aussi grâce à ce paramètre de compilation courir sur cette surface, comme sur un miroir.
  
 
=== Matériaux de Recouvrement ===
 
=== Matériaux de Recouvrement ===
  
Entourer de bloc votre eau, afin qu'elle fonctionne correctement, le matériaux n'a pas d'importance.
+
Entourez de bloc votre eau, afin qu'elle fonctionne correctement, le matériaux n'a pas d'importance.
  
 
== Tutorial ==
 
== Tutorial ==

Latest revision as of 13:12, 25 July 2009

réflexions en temps réel sous CSS.

Sous Source, La seul façon d'obtenir des réflexions en temps réel est d'utiliser le shader "water", soit de l'eau. Les autres réflexions sont obtenues par Cubemaps, qui permettent des réflexions de basse qualité, suffisante pour des matériaux classiques, mais pas pour un miroir qui demande une haute résolution. Mais grâce à une astuce il est possible d'obtenir des réflexions en temps réel, cette technique consiste à superposer 2 matériaux, un shader normal transparent, couplé à un shader water disposant seulement de réflexions . Cette technique est idéale pour un sol, mais ne peut malheureusement pas s'appliquer à un mur, car le shader water ne fonctionne qu'à plat. Le shader water reflète tous sauf le joueur.

Cette technique est inutile pour la version Orange Box, car elle dispose d'une entité pour les réflexions en temps réel, et elle peut s'appliquer à un mur : Func_reflective_glass. Orange Box dispose aussi du shader LightmappedReflective.

Pratique

Les 3 matériaux.

Il vous faut utiliser 3 couches de matériaux :

  • Un matériau normal, en alpha, en surface, là ou les joueurs marcheront. Optionnel.
  • Un matériau avec le shader Water, qui n'affichera que les réflexions en temps réel.
  • un matériau divers de recouvrement de l'eau, sinon elle ne fonctionnera pas correctement.

Matériaux de surface

Créer un Bloc d'une unité d'épaisseur et appliquez lui le matériau avec alpha. Il est important de laisser un espace, même de quelques dixièmes d'unités entre ce matériau et l'eau, ou l'alpha ne fonctionnera pas et vous aurez une sorte d'effet flou.

Exemple :

LightmappedGeneric
{
         $alpha 0.6
         $basetexture ...
}

Remarque : Il est possible de ne pas se servir ce matériau, si par exemple vous voulez un sol en miroir.

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 compilation "%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'auront pas d'effet sur lui. Ce paramètre est indispensable pour CSS, car les balles traversent les Blocs, chaque fois que vous tirerez sur le sol vous aurez un SPLASH, ce qui n'est pas réaliste. Vous pouvez aussi grâce à ce paramètre de compilation courir sur cette surface, comme sur un miroir.

Matériaux de Recouvrement

Entourez de bloc votre eau, afin qu'elle fonctionne correctement, le matériaux n'a pas d'importance.

Tutorial

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