Welcome Guest, you are in: • Language Login

Nova by Vertice Wiki

RSS RSS

Navigation

Search the wiki
»





PoweredBy
Dans ce nouveau chapitre, nous allons voir comment mettre en place rapidement des ombres temps réel pour la scène d'exemple de l'archive située ici. : Vous pouvez ouvrir le fichier HouseColl.max dans 3dsMax 2010. Dans ce fichier, vous pouvez vous rendre compte que nous disposons déjà d'une source lumineuse (Omni001). C'est cette lumière que nous éditerons. Nous allons toutefois revoir un peu la théorie, auparavant:

La théorie :

Dans NOVA, on dispose de plusieurs manière pour générer des ombres temps réel, mais tout les processus sont coûteux en terme de ressources. le mieux est donc toujour de faire calculer les ombres statiques au préalable et de ne prendre en compte pour l'ombrage dynamique que les objets pertinents (ce qui doit bouger). Une fois ce choix effectué, on veillera à choisir le type d'ombrage en fonction du résultat et des performances que l'on souhaite obtenir. Ainsi, le type d'ombres Shadow maps crée une image bitmap des objets à ombrer et la reprojette sur les objets qui recoivent l'ombre. C'est la méthode la plus rapide, la plus simple, mais aussi la moins pécise. Le deuxième type d'ombrage est de type Stencil, c'est à dire que NOVA trace les contours des objets à ombrer, extrude les contours via un shader, et coupe l'éclairage des pixels des objets à ombrer dans la zone d'intersection des extrusions. C'est la méthode la plus précise et la plus réaliste, mais aussi la moins rapide. Enfin, il existe un dernier mode d'ombrage, les ombre de type Variance Shadow maps, qui est une forme évoluée des shadow maps, permettant plus de flou, mais comportant des contraintes spécifiques. Tous ces ombrages fonctionnent avec des lumières de type spots, directionnelles ou encore omni, mais préfère tout de même les lumières directionnelles, pour des raisons de précisions.

La pratique :

Maintenant que la scène Housecoll.Max est ouverte dans Max, nous allons commencer par tricher. En effet, Dans la réalité, y compris dans une lumière très diffuse, les objets proches se font de l'ombre. C'est se phénomène que nous allons reproduire en premier et qui est appelé l'occlusion ambiante. Ce process se fait au niveau de l'image finale dans NOVA et viendra donc se compositer par dessus le rendu 3D. Faites un clic droit dans une zone vide des viewports de 3dsMax afin d'ouvrir les propriétés NOVA de la scène, via le menu quad de 3dsMax. Les dernières entrées du panneau qui s'ouvre concernent l'ambient Occlusion. Cochez la case Enable SSAO et choisissez l'algorithme Standard. Choisissez la qualité Medium. Augmentez le contraste à 2. Comme notre scène n'est pas à la bonne échelle, nous allons changer un peu le paramètre Radius et le porter à 12. Enfin, diminuez la valeur Bias à 0,1. Voilà qui ajoutera automatiquement du "réalisme" à votre scène.

Passons ensuite à l'éclairage proprement dit. Sélectionnez la lumière Omni001 et changez son type omni pour un type Directionnel. n'oubliez pas de cocher la case targeted afin d'obtenir une cible. Orientez d'ailleurs cette cible et placez-là au centre de la maison. Cochez la case Shadows et assurez-vous que le type d'ombre est bien Shadow Maps. Accédez au menu d'inclusion/exclusion de la lumière et sélectionnez les objets à ombrer, à savoir Conif, Ground, House, Parts, Wood, en inclusion à la fois en éclairage et en ombrage (option both). Exporter la scène et lancez-la dans NOVA Studio. Notez l'occlusion ambiante sous les arbres, par exemple. vous pouvez aussi vous rendre compte que les ombres temps-réel sont très sombres et provoque des artefacts (bandes noires). Repassons sous 3dsMax pour corriger ceci.

Sélectionnez la lumière et faites un clic droit de manière à ouvrir les propriétés NOVA de la lumière. Cochez la case Colored Shadows. Fermez le panneau NOVA et revenez dans les propriétés 3dsMax de la lumière, dans l'onglet Shadow parameters. Choisissez, au lieu de noir, une couleur grise (100-100-100 en rvb). Cela aura pour effet de produire des ombres moins sombres. En descendant dans les propriétés de la lumière, arrétons-nous à l'onglet Shadows maps Parameters. Ce que l'on remarque, c'est que la taille de la texture générée est déjà de 2048. on ne pourra pas améliorer de ce coté là (supprimer les bandes noires) sans dégrader les performances. Toutefois, nous l'avons vu, la scène n'est pas à l'échelle, ce qui constitue un indice. Augmentons la valeur de bias à 10. Ré-exportons la scène et rechargeons-la dans NOVA. Le rendu est maintenant parfait. Si vous passez en mode Design et que vous déplacez la lumière, vous verrez les ombres évoluer avec le déplacement de la source lumineuse. Toutefois, en fonction de votre matériel, vous pourrez rencontrer des latence de rendu. Voyons comment remédier à ceci.

Repassez sous 3dsMax, sélectionnez la lumière et affichez ces propriétés NOVA par le menu Quad. Dans le champ Shadows Map Refresh, choisissez 3. Cela aura pour effet de ne rafraichir la solution d'ombrage qu'une image rendue sur trois. Cela permet donc de faire l'économie de deux passes d'ombrages sur trois images rendue, donc d'améliorer la fluidité.

Exportez à nouveau, sauvegardez la scène sous le nom Houselight.max si vous le souhaitez et relancez la scène sous NOVA pour constater l'amélioration de performances.

Image