|
Ce tutorial va
permettre de créer des ombres réaliste sur n'importe qu'elle
surface,
de la même manière que
dans BR-CANYON

Pour comprendre ce
tutorial dans son entier, il faut connaître un minimum les fonctions
d base de UnrealED et de Photoshop, qui sont expliqué dans
d'autres tutoriaux ;).
Peut être que beaucoup
d'entre vous on pensé à dessiner la texture a l'aide de Photoshop,
ou d'un autre logiciel... mais c'est difficile, long et pas toujours
fidèle au StaticMeshes!
Ici la technique et
beaucoup plus "faciles" et efficace.
Pour pouvoir le faire
il faut :
- Photoshop ( version
6 ou + )
- Ut2003 et UnrealED
- Le plugin DDS
pour commencer il faut
créer une maps dans UnrealED, un cube sans texture 1024X1024X1024
suffit :)...
Maintenant il faut
sélectionner toutes les faces du cube, sauf celle du bas et appuyer
sur "F5"
pour ouvrir les propriétés des surfaces. Dans l'onglet FLAG, cochez
les cases
FAKEBACKDROP et
UNLIT.

Ne surtout pas faire
de Skybox,
ici ca sert absolument a rien! après ca, il faut placer un
Sunlight
(Actor
classe/light/Sunlight) en plein milieu du cube et le plus haut et le
sunlight doit être dirigé verticalement vers le bas, comme sur
l'image:

Ceci va permettre un
projecteur du dessus.
Peu importe la texture
du cube principal, laissez tel qu'elle.
Maintenant, il faut
faire un cube 8x64x64, et il "substacter" tout le bas du cube avec
des ce BSP en continu:
En Wireframe on
obtient ca :

et en textured et
DynamicLight, on obtient ca (après un rebuild geometry)

Maintenant il faut
sélectionner toutes els surface et mettre le LightMap sur 1 (
Surface proprieties onglet pan/Rot/scale ) le lightmap est par
défaut sur 32;

Il faut maintenant
placer le staticMesh dont l'ombre devra être projetée : J'ai choisi
le staticMesh "abTreeA"
du package "arboréa
hardware".
Le staticMesh en question doit être placé au milieu de cube, juste
en dessous des sunlight. Il faut « scaler » le staticmesh pour qu'il
prenne a peu près la moitié du cube, en partant du milieu, comme ça
:

Après ça, il faut
mettre une "zone
info", pour ne
pas que l'ombre soit trop sombre, et mettre une valeur assez élevée,
comme 20, ou 30, à ambiant brighness. J'ai utilisé 25 pour ce
tutorial;).Plus la valeur est élevée, plus l'ombre sera claire.
(bien entendu, il ne faut pas mettre 255)
Il faut aussi mettre un "playerStart"
(quand même!). Les pathnode ne sont pas utiles, ce n'est pas une map
pour jouer ;)
Maintenant, il faut faire un "build
all", et
attendre. à la fin, il y aura une ombre ultra détaillée du
staticmesh.

C’est l'ombre qui sera
projetée. A noter que la qualité des ombre dépend de la taille de la
surface : si vous faites une surface 8x16x16, l'ombre sera de
meilleur qualité, mais ce sera plus long ;) après ça, il faut
supprimer le staticMesh, enregistrer la map SANS REBUILDING, et y
jouer...
Une fois ut2k3 démarré, il faut cacher le viseur, l'arme, l'HUD et
passer en mode fenêtre (contraire du mode plein écran).
Dans la console du jeu, il faut taper "setres" 256x256, ou 512x512,
ou plus, ou moins... Mais sachez q'un fichier plus grand prend plus
de place :P. Je vous conseille d'utiliser 512x512 ;)
Maintenant que le jeu est dans la résolution choisie, tapez la
commande "fly"
dans la console, et taper la commande « rmode 7 » puis se mettre au
dessus de l'ombre sur le sol et faire un screenshot (f9),On doit
avoir ça:

Maintenant, il faut
ouvrir PhotoShop et fermer UnrealED (surtout si vous avez une petite
config). Il faut ouvrir dans PhotoShop le screenshot qui a été pris
:

Le gris qui entoure
l'ombre du staticMesh n'est pas forcement la bonne couleur (soit
trop foncé, soit trop clair) Il faut le remplacer par du gris : R=
125 V= 125 B= 127
Pour aller plus vite, on peut utiliser l'outil "pot de peinture" et
finir au "pinçeau".

Voila, l'image est
maintenant "importable" dans UnrealED : rouvrez UnrealED, et
enregistrez la texture en 32bits a n'importe quel format
suivant :
DDS (nécessite un plug-in), TGA, BMP ou PCX (a éviter), et
l'importer (dans le package MyLevel) dans UnrealED, dans la map ou
vous aviez besoin de projection.
Dans les propriétés de la texture, il faut ABSOLUMENT remplacer "tc_wrap"
par "tc_clamp"
dans "uclampMode"
et dans "Vclampmod",
sinon, la projection sera répétée indéfiniment.
Allez dans l'"actor
classes", "projector",
et placez le sur la map, au dessus du staticmesh, la flèche rouge
doit être verticale, comme
pour la sunlight. Puis aller dans les propriétés du projecteur, et
mettre la texture que vous avez crée dans
"ProjTexture"
(il faut l'avoir sélectionnée auparavant ;))
Voila ce que l'on doit voir

Notes
Pour la projection sur les staticMesh, il faut mettre au moins 1 de
FOV (Field of vision).
Attention, les Projecteur ne fonctionnent pas sur les cartes
graphique d'ancienne génération, comme les tnt2, matroxg400,
voodoo...A moins de le faire tourner en openGL(ut2003), mais
UnrealEd ne fonctionne qu'en D3d.
Ils consomment aussi pas mal de ressources du systeme, donc, il ne
faut pas trop en abuser;)Contrairement aux lights normales, Les
projecteurs traversent absolument tout : Les bSp, staticMesh,
terrain; fluidsurfaces...
Pensez à compresser la texture au format DXT.
Le plug-in DDS compresse automatiquement les images au format DXT.
Il est aussi possible de faire une texture en utilisant une alpha,
maisc'est plus difficile :)
Pour faire une projection de coté, il y a juste à placer la sunlight
sur le coté : P

Si l'ombre est trop
grosse, ou trop petite, il faut scaler le projecteur (Propriétés,
display, scale).
Un autre logiciel que Photoshop peut être utilisé, à condition qu'il
propose les mêmes fonctions.
Attention, le lightmap réglé sur 1 augmente considérablement le
poids de la map!
Auteur :
Horse |