PROJECTEUR

 

 

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