bandeau01

Nous voilà sur la dernière partie, où l’on va s’amuser à embellir un peu la scène.

Pour rappel, les deux parties précédentes se trouvent ici :

I – Préparation des meshes du bassin et des chutes d’eau

II – Premières passes sur les matériaux dans Shiva

4 – Les jets d’eau

Le but est que le mouvement de l’eau suive la courbe du jet, il va falloir pour cela vérifier l’orientation UV de chaque face.

Sauf si vous êtes un radicaliste du travail manuel et de la trime, je vous conseille très fortement d’installer ce magnifique script qu’est Morphmap.

Dans notre cas, il suffira d’utiliser la fonction facemap, qui va nous répartir chaque uvface sur toute la planche UV ; on aura donc ce résultat :

morphmap_facemap

Bien evidemment, ç’aurait été trop facile si les UV s’orientaient tous dans la bonne direction du premier coup. Une p’tite texture de check bien moche faite en deux secondes pour la vérification :

sens_uvmap

Il ne reste plus qu’à éditer l’UV1 et faire pivoter les faces mal orientées dans le bon sens.

Faire de même pour les éclaboussures.

Une fois sous Shiva, les matériaux se règlent de la même manière que vu précedemment.

On peut remarquer que je me suis trompé sur le sens de la texture de check, lorsqu’on règle le matériau sur un scrolling de type Sawtooth, l’eau se déplace de la fontaine vers le sol ; ça donne un certain style si on veut faire un voyage dans le temps, mais ce n’est pas le cas ici. Plutôt que re-pivoter les faces UV dans max, il suffit tout simplement de changer le type de scroll en Sawtooth inverted :

reglage_jet

5 – Les particules

Pour simuler la dispersion de l’eau à l’arrivée des jets d’eau ainsi qu’en bas des chutes d’eau, il est possible d’utiliser les particules. On se servira de dummy dans Shiva, en tant que supports pour les émetteurs de particules. Le plus simple est de créer de simples boxes dans 3ds pour les placer facilement ; sous Shiva, de créer un model de dummy ; puis une fois importées, d’assigner le model dummy à toutes les petites boxes.

Commençons par l’arrivée des jets d’eau. Dans le Particule editor, créer un Particule system de type Cone. Afin de voir si l’orientation du dummy est correcte, cliquez sur le bouton Play en bas du Particule system. Si problème de direction il y a, selectionnez le dummy, puis dans l’onglet Sfx attributes de l’Attributes editor, faites un clic droit > edit position/orientation :

edit_orientation_particles

Je vous invite fortement à regarder l’aide que Stonetrip à rédiger sur le Particule editor afin d’avoir la description de chaque paramètre. Bien entendu, évitez de pousser le nombre de particules maximum trop haut. Pour ma part, je n’en génère que 32.

Voici où j’en suis arrivé :

particule_emitter

Pour le bas de la chute d’eau, un emitter de type Circle sera plus approprié. La surface étant plus grande, il a fallu augmenter un peu le nombre de particules :

particule_emitter_chute

6 – Les réglages finaux


Maintenant c’est à vous de jouer.
Réaffinez tous les réglages afin d’harmoniser un peu tout ça, que ce soit au niveau matériaux ou ambiance de la scène ; faites des mini-passes d’optimisation, les jets d’eau peuvent s’instancier par exemple.
Vous pouvez rajouter quelques éléments décoratifs comme un Manneken-pis ou des poissons rouges.
A propos d’optimisation, vous remarquerez qu’il n’y a pas de refractor sur le petit bassin à hauteur d’homme, et carrement pas d’eau sur la partie supérieure de la fontaine. Ceci parce que la fontaine est prévue pour une scène en vue première personne, la caméra orbite n’étant là que pour offrir la possibilité aux fouineurs que vous êtes d’observer la fontaine sous tout les angles.
Ceci étant, la scène étant très petite, je me suis bien fait plaisir sur les réglages ; sur de petites configurations il est possible que la scène rame. Mais puisque ceux qui lancent la scène de ce tuto sont très probablement infographistes, y’a des chances que leur pc soit quand même solide ;)
Le résultat final, si vous n’aviez pas encore cliquer dessus :

bandeau01

En espérant que ce tuto vous ait été utile, merci de l’avoir suivi.
N’hésitez pas à poster des p’tits screenshots et/ou à poser des questions dans les commentaires ;)
Vinc3r

Comments 1 Comment »

bandeau01

Bonjour à tous, bienvenue dans cette deuxième partie du tutoriel. Pour ceux qui n’auraient pas suivi, la première partie se trouve ici-même.

Nous aborderons donc les réglages des matériaux, avec animation de texture, refractions, et tutti quanti.

3 – Premiers réglages dans Shiva

Une fois l’import effectué, un simple DefaultDynamicLightSet suffira pour donner un peu de volume à tout ça (adaptez la lumière et la direction des spots à votre goût bien evidemment).

Créons tout d’abord le reflector, qui est un type de caméra un peu spécial, permettant d’écrire dans une rendermap son champ de vision – la rendermap étant une texture dynamique ; dans le Data explorer, menu create > model > reflector

create_reflector

Vous n’avez plus qu’à glisser votre reflector ainsi créé dans la scène de la fontaine ; celui-ci se cache dans le dossier Models du Data explorer.

Placez le reflector au centre de la fontaine, un peu au-dessus du premier bassin d’eau (vous pouvez vous aider des caméras du .ste top/front/left). Il faut savoir que le reflector ne peut être sélectionné que par le biais du Scene explorer.

Il nous faut bien sur une rendermap, afin de pouvoir utiliser l’output du reflector. Pour ce faire, dans le Data explorer, menu create > resource > rendermap. Testez différentes tailles selon votre application et l’usage que vous voulez en faire ; j’ai opté pour une 1024, ce qui est un peu bourrin pour une appli web, mais la scène est ici vraiment petite.

Il est à présent nécessaire d’indiquer au reflector quelle rendermap utiliser.

Sélectionnez le reflector, puis allez dans son Attribute editor ; dans l’onglet Reflector attributes, indiquez lui via la liste déroulante de la partie Reflection la rendermap désirée.

reflector_attributes

Interessons-nous au matériau de notre bassin d’eau.

Dans l’Effect map 0, placez notre rendermap ; vous apercevrez alors … un truc moche. Normal, un réglage est à ne pas oublier : dans le Texture mapping modifier, définissez le mode de projection en tant que camera, et faites un scale en V de -1. Cela correspond au fait qu’une réflection est l’output d’une caméra (notre reflector), mais inversé.

texture_mapping_modifier

Si vous avez un bassin tout noir, pas de panique, plusieurs solutions s’offrent à vous :

- l’ambient est noire ; erreur basique mais ça peut arriver les jours de fatigues ;)

- il n’y a rien à refleter ; vérifiez le clip distance dans l’Attribute editor du reflector, ou bien peut-être avez-vous fait votre optimisateur fou et supprimer les faces inobservables de la fontaine

- le reflector est à l’envers ; pour cela, rentrez la rotation à la main dans l’Attribute editor (il est chez moi à 90 en X axis).

- le clear color est trop visible ; toujours dans l’Attribute editor du reflector, onglet Reflector attributes, passez le dans la couleur désirée et/ou bien attribuez une texture dans un skydome (que ce soit celui de Shiva dans l’Ambience editor ou un à l’ancienne, créé manuellement).

Bien entendu, amusez-vous avec les différents réglages de couleurs, transparence, fresnel, normal map, etc.

Il va maintenant falloir animer cette surface d’eau. Nous allons utiliser l’effet noise entre les deux effect maps du matériau.

Pour cela, il est possible d’utiliser une dUdV map, qui est en fait la dérivée de la normal map. Alors pour en générer une, sortons la calculatrice graphique du lycée et posons x = dérivé de f/2… ou alors lançons Photoshop et ouvrez la normal map. Vous pouvez faire un simple ctrl+I, le résultat est parfois satisfaisant. Pour ma part j’utilise le Normal map plugin d’Nvidia, en réglant le filter type sur Du/Dv ; puis en jouant avec le Hue/Saturation et le contraste. Notez que Shiva met à jour l’affichage de la texture dès que vous enregistrez celle-ci ; on peut ainsi faire des aller-retours Photoshop/Shiva pour trouver les bons réglages rapidement.

Placez votre dudv dans l’effect map 1.

Voici mes réglages pour le Texture mapping modifier de la dudv :

noise

Voyez le scrolling modifier en type Dent de scie afin de faire boucler la texture.

L’amplitude doit être sur 1, afin que l’ensemble de la texture soit pris en compte. Si on la réglait sur 0.5, le scrolling sauterait à partir du milieu de la texture pour revenir au début.

La fréquence indique la vitesse de scrolling.

Attaquons-nous aux chutes d’eau. Etant donné la forme de celle-ci, leur appliquer une rendermap serait inutile, puisque le reflector est un plan et qu’il ne saurait pas trop où se mettre pour simuler le point de vue d’un cylindre ou autre forme complexe.

Nous allons donc appeler la magie du temps réel, qui nous autorise à faire des gros fake.

En fait, nous pouvons ici utiliser tout simplement la texture par défaut de Shiva, DefaultFoam, à mettre dans l’Effect map 0, la dudv map toujours dans son slot Effect map 1 en mode Noise. Il ne reste plus qu’à animer les deux slots.

chute_eau

Le résultat doit déjà commencer à ressembler à quelque chose, mais ne nous arretons pas en si bon chemin ; nous verrons dans la dernière partie comment s’occuper des jets d’eau, et comment faire en sorte d’embellir la scène en rajoutant des p’tits détails.

Vinc3r

Comments No Comments »

bandeau01

Bonjour à tous, et bienvenue sur ce premier tutoriel écrit par l’équipe de Digital Primitives.

Celui-ci sera divisé en 3 parties :

I – Préparation des meshes du bassin et des chutes d’eau

II – Premières passes sur les matériaux dans Shiva

III – Réglages des jets d’eau et peaufinage de la scène

Il s’adresse aux amateurs de temps réel, et plus spécifiquement aux utilisateurs de Shiva ; bien entendu cela n’exclut pas les autres curieux ;)

Problématique

Simuler de l’eau sous Shiva sur une surface plane ne pose pas de problème particulier. Il suffit de créer un reflector et une rendermap, puis de régler le matériau de l’objet, comme expliqué par Stonetrip dans leur making-of de The Hunt (page 24).

En revanche, quelques ajustements sont à effectuer lorsque le matériau s’applique sur une forme plus complexe qu’un plan ; une fontaine correspond parfaitement à ce cas.

1 – Les chutes d’eau

Commençons par le plus simple : puisque le mouvement sur le rideau d’eau entre les bassins n’est qu’une translation de haut en bas, un simple mapping en unwrap box suffira.

Ensuite… c’est tout ;  il ne devrait y avoir pas trop d’erreurs jusqu’ici.

2 – Le bassin

En appliquant un bête UVW Map plane, comme on ferait pour un plan basique, voici comment Shiva interpréterait le mouvement des UV en mode Sawtooth (nous verrons plus tard l’animation d’UV dans Shiva) :

interpretation_uv_shiva

Nous sommes donc en présence d’un mouvement de droite à gauche (canal U), combiné à un mouvement de haut en bas (canal V). Il va donc falloir jouer de l’unwrapper pour transformer ce déplacement du centre de la fontaine vers l’extérieur.

Voici la démarche :

- création de la surface d’eau ; un simple cercle dont on aura pris soin de créer le vertex central

- on a maintenant des UV qui ressemblent à ceci (si ce n’est pas le cas > UVW Map plane) :

uvwmap_plane_defaut

Afin de pouvoir simuler le déplacement de l’eau du centre de la fontaine vers le bord, il faut que l’UV de chaque faces soit aligné sur V. Pour cela, chaque UV doit avoir son sommet en haut de la planche UV.

Il serait un peu laborieux de déplier chaque face – ici elles ne sont qu’au nombre de 16, mais on peut facilement imaginer un polycount plus poussé. Heureusement, le copier-coller existe aussi dans l’unwrapper :

- isolez une face (clic droit > break) et l’unwrapper manuellement, afin d’obtenir ce déplié :

break_unwrap

- toujours avec cette face sélectionnée, clic droit > copy, puis faire un paste sur le pacman

uv_centre_vers_bord

Nous y sommes ; vous pouvez d’ores et déjà appliquer un matériau différent pour le mesh du bassin et des chutes, afin d’avoir la possibilité de les animer et de les régler différemment une fois dans Shiva.

Nous voici déjà à la fin de la première partie ; la deuxième arrive prochainement, le temps de la fignoler ; où nous aborderons les premiers réglages des matériaux Shiva.

Vinc3r

Comments 6 Comments »

Network :
ico_magazine
Magazine
ico_boutique
Boutique
ico_cgjobs
Portail Emploi
ico_upload
Hébergement d'images
ico_blog
Blogs
progiss
Progiss
ico_social
Social