[TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Ce forum regroupe tous les tutoriaux réalisés par des membres de Mapping-Area pour Half-Life 2.

Modérateurs: Co-Admin, Modérateur, Staff

[TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Kikette le 13 Juil 2008, 01:39

Salutation !
Dans ce nouveau tuto, je vais vous proposer de créer des ombres portées dynamiques.
Mais pas n'importe lesquelles ; Celle qu'on peut avoir avec la lampe torche de HL2 Episode 2.

Image
Les ombres portées dynamiques : Enfin un vrai ajout au moteur poussiéreux qu'est Source Engine.

En effet, si vous avez de bons yeux, vous remarquerez que malgré le changement de moteur,
vos petits light_spot ne font toujours pas d'ombres portées dynamiques à proprement parler.

NE VOUS INQUIÉTEZ PAS ! C'est normal ! Il se trouve qu'une nouvelle entité de lumière a été créée pour mon notre plus grand plaisir !
J'ai nommé :

Env_projectedtexture

Alors, sous ce nom barbare qui laisse entendre pleins de choses pour nos esprits imaginatifs et inventifs selon les cas, se
cache un dérivé de light_spot en moins maniable.

Je m'explique :

Tout d'abord, l'entité se présente sous la forme d'un cube (voir image).
Image

Jusque là, pas de quoi se taper le cul par terre.

Là où va se présenter la subtilité du truc, c'est au niveau de la tronche du rayon lumineux.
En effet, c'est une pyramide régulière (voir image).

Image

Pour ce qui est de l'orientation de l'entité aussi, il va falloir oublier la manière dont vous orientez vos light_spot directement
depuis les vues 2D, pour, par exemple, les incliner de quelques 15°.
En effet, il faudra passer par Pitch Yaw Roll. Mais ça, on verra plus tard.

Voici une petite présentation de chacun des paramètres :

Name : Le petit nom que vous allez donner a votre nouvelle entité préférée (ou petite amie dans mon cas)
Parent : Le nom de l'entité à laquelle vous voulez parenter cette entité
Pitch Yaw Roll : L'orientation selon l'axe X, Y et Z dans l'espace de votre entité
Target : La cible à éclairer ; L'entité, sans bouger, va pointer en la direction de la cible
FOV : Comparable au Outer Angle du light_spot. C'est l'angle à laquelle la texture va être projetée. (Le FOV du joueur est de 75° je crois )
NearZ : Les Objets qui seront plus proche que la valeur que vous aurez entré ne recevront pas de projections
FarZ : Les Objets qui seront plus loin que la valeur que vous aurez entré ne recevront pas de projections
Enable Shadows : Si vous voulez ou non que votre entité génère des ombres (dynamiques)
Shadow quality : La qualité de l'ombre génerée (Valeur booléenne encore une fois)
Light Only Target : Si vous souhaitez que l'entité n'éclaire QUE l'entité que vous avez entré dans Target (Attention, ça ne fonctionne pas)
Light World : Si vous souhaitez que l'entité éclaire aussi les World Brushs de votre niveau
Light Color : La couleur projetée
Camera Space : L'entité bouge en fonction de la caméra du joueur. (C'est merdique au possible, je vous montrerais pourquoi)

Image

Bon, de toute façon, on ne va pas trop s'embêter avec toute ces valeurs. Mon but est de vous expliquer comment manier l'entité.
C'est pour cela qu'on va directement partir vers un exemple.

Prenons une salle plus ou moins vide, avec un personnage dynamique (important qu'il le soit).
Dans mon cas, je reprend une vieille map de test que j'utilisais pour mes Particles, et j'y ai placé un npc_Gman (j'adore les vieux).

Image
J'adore les mecs aux yeux verts X3

Placez maintenant, juste derrière votre npc, un Env_projectedtexture avec un FOV de 45.00 pour pas que ça le rendu soit difforme.
(Oh la la ! J'ai l'impression de réciter une recette de cuisine comme on en trouve sur les paquets de sucre..
"Et maintenant, versez 200 grammes de sucre Sugarcandy®... " )


Image

Une chose très importante... n'oubliez pas d'activer les ombres !
Ca me semble super con de mettre une entité spécialisée dans les ombres dynamiques pour lui demander de ne pas en générer.
De plus, voici un comparatif SANS et AVEC les ombres dynamiques.

Image
Enable shadows : no


Image
Enable shadows : yes

Vous l'aurez compris, Quand les ombres dynamiques ne sont pas activées, l'éclairage est on ne peut plus merdique et, comble
du bonheur, il passe même au travers des World Brushs.
Néanmoins, une fois l'option activée, plus aucun soucis.

On va personnaliser un peu plus notre entité, afin d'avoir une superbe ombre portée sur le mur.
Quelque chose qui pourrait donner de la grandeur a papi Gman.
Comme je vous disais, il est hors de question de toucher au vue 2D et d'incliner l'entité.
Il faut passer par Pitch Yaw Roll. Comme je ne pense pas avoir affaire à des débutants,
il est inutile de vous expliquer qu'on touche à la première série de chiffre (Pitch) pour modifier l'inclinaison.
Donc mon exemple, j'ai mis -40.

Image

Bien sur, Si votre Npc n'est plus dans le champs d'action de la projection, il faut réajuster le positionnement de
celle ci.

Image

Et qu'obtient-on dans le jeu ?
"Une superbe ombre portée sur le mur" !!

Image


Pour la couleur et l'intensité, ça fonctionne comme un light_spot.
Il faut se rendre dans Color, et y configurer 2-3 bricolles.
Je rappelle aux plus lourds d'entre vous que la 4ème série de chiffre correspond au Brightness.
Dans mon exemple, j'ai mis 174 233 255 520.

Image

Et bien sur, le rendu dans le jeu :

Image

Le mot final de Kikette :

Image

Bien sur, dans la vie, tout a un coût. Et cet effet là, bien que j'ai une machine puissante, je ne pense pas qu'il soit tout à fait "gratuit" à gérer pour cette dernière.
Ce n'est pas non plus un gouffre à FPS, et il est même vachement utile pour créer des effets sympa dans les scènes de speech entre Npc.
Cependant, je dois tout de même vous mettre en garde sur ce que j'ai pu constater :

-L'option Camera space fait bouger l'entité selon votre angle de vision. C'est absolument horrible et je vous recommande vivement
de mettre à la trappe cette option. Ca bug énormement.

-L'option Target va faire que votre entité va sans arrêt pointer vers votre cible. C'est pratique, mais bon, veillez bien à ne pas
la placer non plus dans un endroit à la con. Faut pas trop compter sur l'automatisme.
Pour vous donner un exemple d'utilisation ;
Imaginez vous une scène de théâtre. Imaginez vous maintenant un humoriste (Desproges, Jesus, etc etc) qui parle a des gens et qui arrête pas de bouger.
Et bien si vous placez un env_projectedtexture et que vous déclarez l'un des 2 guignols comme target, vous aurez le même effet
que si un spot suivait les humoristes dans leurs déplacement, sans bouger, tout en produisant une magnifique ombre sur le sol.

-Configurez bien votre FarZ ! La valeur de base est idéale pour les zones fermées ! Dès que l'on sort le grand jeu (couloir de 512 inchs),
l'éclairage disparait. Ce n'est pas QUE l'ombre qui disparait, mais bien tout le lighting !
Voici un petit exemple :


Image
A cette distance de l'entité, j'ai clairement dépassé la limite imposée de distance par le FarZ.

Et si je me rapproche un peu plus..
Image
On dirait qu'il en a une grosse si on regarde que l'ombre.

Comme par magie, l'éclairage réapparait. Loin d'être drôle, cet effet est moche, et je vous suggère de veiller a ce qu'il ne se
produise pas dans vos niveaux. Je serais toujours là pour vous descendre dans le cas contraire.

-Les textures réfléchissent 0% de la "lumière" projettée.

-Le jeu supporte TRÈS mal la présence de plusieurs projecteurs d'ombres dynamiques.
Pour cette expérience, j'ajoute un second Env_projectedtexture ainsi qu'un npc_eli.

Image
Un gars, une fille... désolé Eli !

Voyons maintenant le rendu Ingame.
Image

Et oui ! C'était prévisible... Un projecteur d'ombre dynamique à la fois ! Bien sur, ce problème touche aussi la lampe torche, puisqu'elle
fonctionne elle aussi sur le principe des "projected texture".
Méfiez vous donc, encore une fois.

Fin de ce tuto. Amusez vous bien !
Dernière édition par Kikette le 13 Juil 2008, 12:01, édité 3 fois.
Image
Kirumi / Kikette
EYE Level Designer : http://eye.streumon-studio.com
Streum On Studio : http://www.streumon-studio.com
Avatar de l’utilisateur
Kikette
VIP
VIP
 
Messages: 4053
Inscription: 27 Mar 2008, 00:05
Localisation: Nancy

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede D@rK-EyE le 13 Juil 2008, 06:11

Mais alors... si on place cette entité dans la map, on peux plus utiliser la lampe torche ? :gni
Dans ce cas c'est super inutile nan !?! 8)!
Un bon mappeur crée lui même ses models et ses textures, parce que cela forme un tout, une harmonie qui ne peux être réalisé que par une seule personne.
Avatar de l’utilisateur
D@rK-EyE
 
Messages: 3672
Inscription: 15 Aoû 2004, 18:54
Localisation: Corse

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Kikette le 13 Juil 2008, 10:31

Pas exactement. Elle ne va plus faire d'ombre en fait.
Image
Kirumi / Kikette
EYE Level Designer : http://eye.streumon-studio.com
Streum On Studio : http://www.streumon-studio.com
Avatar de l’utilisateur
Kikette
VIP
VIP
 
Messages: 4053
Inscription: 27 Mar 2008, 00:05
Localisation: Nancy

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede øøTeRMm le 13 Juil 2008, 12:16

Je l'avais pas vue Gabe XD
Image Image Image Image
Avatar de l’utilisateur
øøTeRMm
Modérateur
Modérateur
 
Messages: 1224
Inscription: 03 Aoû 2006, 20:12

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Kikette le 13 Juil 2008, 12:17

Je viens de le rajouter :D^
Image
Kirumi / Kikette
EYE Level Designer : http://eye.streumon-studio.com
Streum On Studio : http://www.streumon-studio.com
Avatar de l’utilisateur
Kikette
VIP
VIP
 
Messages: 4053
Inscription: 27 Mar 2008, 00:05
Localisation: Nancy

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Beach le 18 Juil 2008, 01:21

J'ai pas compris un truc tu ne peux pas mettre deux env_projectedtexture sur la même map ou juste deux qui se croise ?
Image
Avatar de l’utilisateur
Beach
VIP
VIP
 
Messages: 2774
Inscription: 14 Avr 2005, 19:08
Localisation: nancy

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Kikette le 18 Juil 2008, 09:02

2 tout court. Le moteur n'arrive pas à les gérer. Il faut qu'il y en ai un d'éteint sinon.
Image
Kirumi / Kikette
EYE Level Designer : http://eye.streumon-studio.com
Streum On Studio : http://www.streumon-studio.com
Avatar de l’utilisateur
Kikette
VIP
VIP
 
Messages: 4053
Inscription: 27 Mar 2008, 00:05
Localisation: Nancy

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Beach le 18 Juil 2008, 09:36

Au pire tu en éteint quand tu change de salle et tu allume l'autre
Image
Avatar de l’utilisateur
Beach
VIP
VIP
 
Messages: 2774
Inscription: 14 Avr 2005, 19:08
Localisation: nancy

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Kikette le 18 Juil 2008, 09:52

Bha oui, par exemple. Mais je suggère un couloir en angle pour séparer ces 2 salles, manière de cacher la misère ^^
Image
Kirumi / Kikette
EYE Level Designer : http://eye.streumon-studio.com
Streum On Studio : http://www.streumon-studio.com
Avatar de l’utilisateur
Kikette
VIP
VIP
 
Messages: 4053
Inscription: 27 Mar 2008, 00:05
Localisation: Nancy

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Kikette le 18 Juil 2008, 14:14

Tins, c'est curieux. Je viens de mater Une video de Left 4 dead et.... ben 4 lampes torches allumées en meme temps qui font des ombres dynamiques, ça m'intrigue un peu =D
Amélio du moteur ?
Image
Kirumi / Kikette
EYE Level Designer : http://eye.streumon-studio.com
Streum On Studio : http://www.streumon-studio.com
Avatar de l’utilisateur
Kikette
VIP
VIP
 
Messages: 4053
Inscription: 27 Mar 2008, 00:05
Localisation: Nancy

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Kikette le 16 Nov 2008, 15:33

[TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Ca me semble clair non ? CSS, c'est pas de l'orange box engine. Donc, env_projected texture + CSS : Tu oublis. Tout simplement ^^
Et de toute façon, si tu map pour CSS, à moins d'avoir fait le con avec les fgd, tu devrais pas avoir accès à cet entité :^^
Image
Kirumi / Kikette
EYE Level Designer : http://eye.streumon-studio.com
Streum On Studio : http://www.streumon-studio.com
Avatar de l’utilisateur
Kikette
VIP
VIP
 
Messages: 4053
Inscription: 27 Mar 2008, 00:05
Localisation: Nancy

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Bendix8 le 16 Nov 2008, 20:43

Et bien tu as mal configuré ton Hammer avec Css car les fgd sont incompatibles. Et de toute manière une entité réservé à OrangeBox - engine ne fonctionne pas sous Episode One - engine.
Image
Avatar de l’utilisateur
Bendix8
VIP
VIP
 
Messages: 1712
Inscription: 18 Jan 2006, 16:38
Localisation: Saint-Malo

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Xencema59 le 26 Nov 2008, 22:27

Après un petit passage sur le wiki de valve , il y' a un détail que je crois que tu n' es pas parlé dans ton tuto.
A savoir qu' outre le fait que l' ombre soit dynamique , la texture de la source lumineuse , est appliqué sur le model.

Un screen vaut mieux que des mots : Image
Image
Avatar de l’utilisateur
Xencema59
VIP
VIP
 
Messages: 1456
Inscription: 07 Mai 2006, 03:58
Localisation: Quelque part à Lille

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede Kikette le 26 Nov 2008, 22:56

Ca me semblait logique et suffisamment sous entendu dans mon tuto. Les Npc étant des modèles..
Image
Kirumi / Kikette
EYE Level Designer : http://eye.streumon-studio.com
Streum On Studio : http://www.streumon-studio.com
Avatar de l’utilisateur
Kikette
VIP
VIP
 
Messages: 4053
Inscription: 27 Mar 2008, 00:05
Localisation: Nancy

Re: [TUTO AVANCE] Ombre portée dynamique ; ORANGE BOX engine

Messagede SnakePliskin le 03 Fév 2010, 02:49

Si j'ai bien compris, il faut posséder half life 2 episode 2 pour faire ces ombres ?
You can't handle the truth ! Jack Nicholson Film A Few Good Man
Avatar de l’utilisateur
SnakePliskin
Mapophobe
 
Messages: 46
Inscription: 10 Déc 2009, 09:18

Suivante

Retourner vers Cours & astuces

Qui est en ligne

Utilisateurs parcourant ce forum: Yahoo [Bot] et 1 invité