Aller au menu - Aller au contenu

Icône Reflets sous HL1

Mise à jour : 22/08/2008
22 visites depuis 7 jours, classé 743/786
Dans ce tutorial je vais vous apprendre à créer des effets de reflets. Bien évidement ça ne sera pas aussi beau que sous HL² mais ça peut quand même faire de beaux effets!

Avant de commencer ce tutorial, il faut savoir que les reflets font augmenter les w-polys et les e-polys du fait que les reflets sont des blocs comme d'autres!En général, les polys sont multipliés par deux...

Allez c'est partit!! ^^

Les reflets du sol

Nous allons commencer par voir comment réaliser un sol qui reflète l'environnement.

Pour commencer, créez une salle comme ceci:

Image utilisateur

Ensuite, il faut "modéliser" le reflet. Pour cela il suffit de remapper la sale à l'envers sous le sol qui sera rendu transparent.
Voilà le résultat sans le sol:

Image utilisateur

Vérifiez qu'il n'y a pas de leaks en bouchant les trous entre les murs et les murs du reflet.


Il nous reste plus qu'a rendre le sol transparent. Sélectionnez-le et transformez-le en func_wall.
Réglez les paramètres comme ceci:

Render Mode: Texture
FX Amount: 120

Au niveau des lumières, mettez le même nombre de lights dans les deux cotés pour éviter que le reflet soit plus sombre ou éclairé et inversement.

Voici le résultat sous le jeu:

Image utilisateur

Notez que les persos (monstres, scientifiques...) et les armes ne sont pas reflétés ainsi que le joueur lui-même. Le sky ne sera pas reflété non plus, cette technique est donc plutôt conseillée pour les intérieurs.

Voilà pour ce qui est du reflet du sol. Passons maintenant à l'effet de miroir.

Effet de miroir

Nous allons à présent voir comment réaliser un effet de miroir. Bien évidement, le joueur ne sera pas reflété dedans ni les monstres, scientifiques et armes.

Créez votre salle, avec un trou à l'emplacement du miroir. Ensuite, comme pour le reflet du sol, recréez la salle de l'autre coté du mur qui portera le miroir, comme ceci:

Image utilisateur

Créez ensuite un bloc dans le trou du miroir avec une texture de vitre et rendez-la transparente.

Voilà le résultat après compilation:

Image utilisateur

Pas mal non? :)

Bien évidement, la vitre ne doit pas pouvoir être brisée car le décor derrière sera toujours là et ça fera un effet bizarre...

Passons aux reflets de l'eau maintenant!

Reflets de l'eau

Nous allons voir comment réaliser un effet de reflet dans de l'eau. Cette technique est pratiquement la même que pour le reflet du sol.

Pour l'exemple, je vais dire que ma salle a été inondée.
Reprenons notre salle avec le reflet du sol:

Image utilisateur

Je vais à présent rajouter au-dessus du sol un bloc "func_water" avec une texture d'eau:

Image utilisateur

A ce moment, vous avez 2 solutions: soit vous avez une eau qui reflète un peu et donc on voit le sol, soit l'eau reflète beaucoup et le sol est invisible.

Pour la première solution, il suffit de reprendre la salle avec le reflet du sol, rajouter un bloc d'eau au dessus, rendre transparent l'eau et le tour et joué!
Ca donnera un résultat comme ceci:

Image utilisateur

Pour la seconde solution, il suffit de remplacer la texture du sol par la texture invisible {BLUE ou {INVISIBLE (et de le rendre invisible comme expliqué dans la partie du miroir) ou la texture NULL. Ca donnera quelque chose de ce genre:

Image utilisateur

Vous pouvez toujours changer la texture d'eau, je vous le conseille justement car la texture que j'ai utilisée pour l'exemple ne rend pas trop...Mais vous pouvez voir que ça peut donner de bons effets! Je vous conseille également de faire plusieurs effets en modifiant la transparence de l'eau et du sol.
Voilà de ce qui en est pour l'eau. Pour finir, je vous conseille de lire la dernière partie qui peut se relever très utile :)

Quelques techniques...

Pour finir, voici quelques techniques qui vous seront très utiles!

Reflet d'un objet cassable



Il suffit de faire votre objet ainsi que son reflet puis de les sélectionner tous les deux (avec la touche ctrl) et de les transformer en func_breakable. Ainsi lorsque vous casserez l'objet, son reflet se brisera aussi. Seul défaut: les débris du reflets tomberont aussi vers le bas...

Cette technique peut également fonctionner avec des func_rotating, func_door, func_door_rotating...


Reflet d'un model



Vous pouvez faire refléter certains models et positionnant un second model à l'envers. Attention, il faut bien le positionner et éviter que le model soit dans un mauvais sens!

Reflet d'un func_train



Pour refléter un func_train, il suffit de le remapper à l'envers en dessous du train réel, et de créer le bloc origin bien au centre du train (entre le train et son reflet en quelque sorte). Les path_tracks devront être placés au même niveau que le bloc origin.

Reflet d'un func_vehicle



Pareil que pour le train sans les path_tracks. En revanche, le véhicule doit pouvoir passer partout, qu'il y ai un sol reflétant ou non! Vous devrez donc faire en dessous du sol où le véhicule peut passer une cavité pour permettre au reflet de pouvoir passer sans se cogner dans un bloc. Le bloc origin ne doit également pas être placé dans le sol!

Voilà, en espérant que ces techniques vous serviront un jour : D

Q.C.M.

Comment réalise-t-on un reflet du sol?
Les joueurs sont-ils reflétés dans les reflets?
Quelle est la conséquence des reflets sur le nombre de w-polys?

Statistiques de réponses au QCM

Vous savez à présent comment réaliser de beaux reflets sous Half-Life premier du nom! ;)

Partager

13 commentaires pour "Reflets sous HL1"
Note moyenne : 3.33 / 4 (3 votes)
Pseudo Commentaire
Hors ligne Saniss # Posté le 20/11/2006 à 13:00:17
lol fag
Avatar

Études : IUT Aix-en-Provence

Très bon tuto, c'est un effet marrant à faire. Pour les trains, ça doit être vraiment sympa. :)

Image utilisateur
 
Hors ligne Thibdumont # Posté le 09/05/2007 à 16:03:05

Bon tuto mais tu aurais dû parler du flip horizontal et vertical qui sont très utile pour éviter d'avoir à mapper une salle à l'envers.

Maps "rats" salon Image utilisateur et cuisine Image utilisateur
 
Hors ligne G@me one # Posté le 30/07/2009 à 11:48:05
Avatar

Très bon Tuto je trouve qu'il falait trouver les mirroirs ou autre alors que c'est tout bete :p

> Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence. ;)
 
Hors ligne TITUS # Posté le 25/11/2010 à 12:05:48
Lentement de retour.
Avatar

Avis : Mitigé

Ville : Chalon sur saône
Pays : France métropolitaine

Bon tuto mais malheureusement le moteur d'HL1 est à prendre avec des pincettes au niveau des w_polys, et l'effet pas tellement réaliste.

Image utilisateur||||||||||||->00.1%
  • xhtml, css, php, javaScript, vbScript c, c++, Dark Basic, Ubuntu, Mapping, Modelage, Graphisme, audio, vidéo, guitare
 
Hors ligne KillerMapper # Posté le 29/12/2011 à 16:54:49
Le fail, une vie.
Avatar

Ville : Paris
Pays : France métropolitaine

En relisant ce tuto, je le trouve très foireux maintenant. Je pourrais l'améliorer genre en expliquant comment remédier au problème du miroir cassable (avec vitre cassable + func toggle pour faire apparaître une plaque derrière le miroir...), etc.

Level Designer / Leader de Mario Kart Source
Tauntkill Master of Team Fortress 2
Failzor officiel de la vie
 

Voir tous les commentaires