PuceTerragen 2 > Le Terrain et l'Eau

Introduction

Le terrain est une des parties fondamentales de la construction d'une scène. Terragen 2 possède plusieurs systèmes de création de terrains et il est important de bien comprendre le fonctionnement de chacun d'entre eux pour savoir quel système est le plus approprié pour un besoin donné.

Dans Terragen 2, vous travaillez avec deux types de terrains apparentés mais sensiblement différents : les heightfields et les fonctions procédurales. En général, vous devez penser que les heightfields s'étendent sur une zone bien définie et limitée en détails, mais ils sont capables de représenter des formes de terrains très particulières (comme des terrains issus de données du monde réel) et sont facilement modifiables et compatibles avec d'autres programmes. D'un autre côté, nous avons les fonctions procédurales, capables de couvrir une zone illimitée du terrain avec leurs détails propres et pouvant représenter un terrain à grande échelle avec un maximum de détails. Mais elles sont moins intuitives et sont moins compatibles avec d'autres logiciels.

Bienvenue dans le monde des fonctions procédurales

Terragen 2 fonctionne de façon complètement différente des autres versions. Bien que les versions antérieures de Terragen utilisaient les procédurales pour quelques fonctions et que Terragen 2 traite les heightfields efficacement, ce logiciel utilise maintenant les procédurales pour tout créer, des nuages à la forme du terrain. La création du terrain avec les procédurales est particulièrement significative puisqu'elles permettent de créer des terrains détaillés de tailles vraiment illimitées, contrairement aux heightfields que vous avez sûrement utilisés dans Terragen ou d'autres logiciels de création de paysages.

Les procédurales sont de simples fonctions mathématiques qui peuvent créer des sorties visuelles, qui peuvent à leur tour être utilisées pour beaucoup d'applications informatiques. Les fractales sont un type de procédurales qui vous est peut-être déjà familier. Les bases mathématiques des fonctions procédurales leur permettent de représenter de très grands intervalles d'échelle. Changer simplement les valeurs entrées dans une fonction permet de représenter n'importe quoi, des montagnes aux galets, et tout ce que vous voulez entre les deux. Cela permet aussi la représentation de détails quasi-infinis dans une scène basée sur les fonctions procédurales.

Les heightfields ou heightmaps sont basés sur des données tramées, ce qui veut dire qu'ils sont définis par un tableau de pixels ou d'échantillons de dimensions finies. Donc la plupart des heightfields, comme les fichiers .ter de Terragen ou les DEM, ont un niveau de détail défini par la résolution du heightfield en pixels. Les procédurales n'ont pas ce genre de limitations puisqu'elles peuvent être générées et échantillonnées à n'importe quelle échelle virtuelle. Techniquement, TG2 utilise les procédurales comme des heightfields en échantillonnant la fonction procédurale à intervalles réguliers pour en tirer des valeurs d'altitudes. Cependant, pour être le plus clair possible, nous utiliserons le terme procédurales pour ces fonctions et le terme heightfields pour les heightfields tramés.

Entrons dans les détails

Dans le chapitre Votre première scène, nous avons vu immédiatement les bénéfices de l'utilisation des procédurales pour représenter les distances à grandes échelles. Nous avons vu qu'une planète entière pouvait être créée très facilement avec une seule fonction procédurale. Si vous n'avez pas encore lu ce chapitre, lisez le maintenant avant de continer. Maintenant, attaquons-nous à une autre facette des fonctions procédurales : les micro-échelles.

Replacez le heightfield dans la scène par défaut avec une procédurale, comme vous l'avez appris dans le chapitre Votre première scène. Nommez le nouveau noeud "Montagnes". Il formera les bases de notre terrain pour cet exercice. Réglez votre caméra pour qu'elle regarde vers le sol et approchez-la du sol autant que possible sans passer en-dessous. Rappelez-vous d'utiliser l'affichage Vheight pour contrôler votre altitude par rapport au terrain. Réglez l'altitude à 2 ou 3 mètres au-dessus du sol. Quand vous êtes aussi près que possible de votre terrain, cliquez sur le bouton Set Camera, ouvrez la fenêtre de rendu (F3 ou le bouton R de la barre d'outils), et faites un rendu de votre scène. Vous verrez déjà une quantité raisonnable de détails, mais ce n'est pas assez, le terrain pourrait être encore plus détaillé.

Plus de détails
Nous avons besoin de plus de détails pour plus de réalisme

Pour ajouter des détails, nous allons créer une nouvelle couche procédurale de terrain, mais cette fois, nous définirons une échelle beaucoup plus petite. Cela va nous permettre de garder nos formes de terrain de grande taille alors que nous ajouterons des détails à plus petite échelle. Créez une autre couche de terrain de type Power Fractal en allant dans la Node List et en cliquant sur le bouton Add Terrain. Vous allez voir votre terrain changer considérablement, mais ne vous inquiétez pas, nous allons atténuer cet effet.

Cliquez sur la nouvelle couche Power Fractal pour afficher ses réglages et donnez lui un nom comme "Couche détails". Rappelez-vous que la plupart des distances dans TG2 sont mesurées en mètres. Réduisons alors le paramètre Feature Scale à environ 0.1. Cela signifie que la taille moyenne des formes sera d'environ 1/10ème de mètre, soit 10 centimètres, ou 4 pouces. Nous allons aussi régler les paramètres Lead-in scale et Smallest scale pour nous donner un bon intervalle de valeurs de chaque côté. Réglez Lead-in scale à environ 2 et Smallest scale à environ 0.02. Les formes les plus petites feront environ 1/50ème de mètre et les plus grandes feront environ 2 mètres.

Votre scène est probablement encore très différente de l'ancienne , mais il reste un dernier réglage que nous avons besoin d'ajuster pour que les choses rentrent dans l'ordre. Rendez-vous à l'étiquette Displacement du noeud Power Fractal" et cherchez le paramètre Displacement amplitude. Ce réglage contrôle l'altitude actuelle du déplacement appliqué au terrain par ce noeud et avec une valeur par défaut de 1000 mètres, vous comprendrez sûrement pourquoi votre scène est si différente de l'ancienne. Réglez ce paramètre à 1 et vous devriez voir votre scène revenir à quelquechose de plus normal, mais avec une augmentation sensible des détails. Faites un rendu de test pour voir les résultats de vos changements.

Trop de détails
Nous avons maintenant plus de détails, mais il y en a un peu trop

Une fois que le rendu est terminé, vous pourrez noter que, bien qu'il y ait des détails, ils sont quelque peu rudes et pas très naturels. Modifions un peu nos réglages pour obtenir des détails plus variés et réalistes. Revenez aux réglages du Power Fractal et jetez un coup d'oeil à l'onglet Displacement. Notre amplitude est de 1, mais avec une taille des aspérités (Feature scale) de 1/10ème de mètre. Ce serait une bonne idée de la réduire pour avoir les mêmes valeurs. Redéfinissons-la à 0.1 pour qu'elle corresponde au paramètre Feature scale. L'aspect des formes fractales n'était pas non plus exactement ce que nous voulions, nous allons donc changer le bruit (Noise). Rendez-vous à l'onglet Tweak Noise et en haut, cliquez sur la liste déroulante du paramètre Noise flavour pour voir les options disponibles. Pour le moment, ce paramètre est réglé sur Perlin mix 1, un mélange des types de bruit Perlin standard et Perlin billows (ondulations).Voyons si l'option Perlin mix 2 nous donne un meilleur résultat.

Tant que nous sommes dans la fenêtre Tweak Noise, nous allons faire varier un peu nos petites formes. Le paramètre Noise variation est déjà à 2, une valeur moyenne, mais augmentons-la à 3 pour plus de variations. Ce serait génial si ces aspérités pouvaient aussi former des petits groupes, comme des monticules naturels formés par le vent. Augmentons alors le paramètre Clumping of variation à 0.5. Maintenant que nous avons modifié nos réglages pour obtenir un aspect plus naturel, faisons un nouveau rendu pour voir les résultats de ces modifications.

Alors que le rendu se termine, vous pouvez voir que maintenant, même à une si petite distance du terrain, nous avons encore une quantité de détails extraordinaire. Cela illustre clairement la puissance des fonctions procédurales dans la représentation de formes de grandes et de petites tailles. Avec la simple combinaison de ces deux terrains procéduraux, nous pouvons créer une planète entière avec des montagnes et des petites formations rocheuses. Vous pouvez aussi utiliser plus de couches procédurales pour faire varier les détails à travers le terrain ou créer des formes réalistes de grandes et petites tailles, permettant de créer des planètes virtuelles très réalistes, avec des détails allant du niveau d'un continent, aux grains de sable sur une plage.

Image3

Terragen 2 fait usage de cette extraordinaire flexibilité et de ses fonctions de mise à l'échelle pas seulement pour créer des paysages très détaillés et infiniment variés, mais aussi pour ajouter des détails à vos heightfields importés, générés ou modifiés, vous permettant d'avoir le meilleur de ces deux types de terrain. Apprenez à faire ceci dans la section suivante, consacrée au heightfields.

Plus c'est grand, mieux c'est : les formes de grandes échelles utilisant les fonctions procédurales

L'autre partie de la recette permettant d'obtenir des planètes très réalistes sont les formes de grandes tailles. Nous avons vu comment les fonctions procédurales de Terragen 2 pouvaient créer des détails réalistes à l'échelle d'une montagne à travers une planète entière et comment les mêmes fractales pouvaient être utilisées pour augmenter les détails, même à très petite échelle. Maintenant, nous allons voir comment créer des formes plus grandes comme des continents et des montagnes. Créer des détails à grande échelle qui recouvrent une planète entière est un vrai défi, mais avec de la patience et de la pratique, vous pourrez créer des planètes recouvertes par des terrains réalistes et d'une variété virtuellement infinie.

Le plus souvent, c'est aussi simple que ce que vous pensez : augmenter le paramètre Feature scale à des niveaux convenables et mélanger le résultat obtenu aux autres terrains. Suivant ce que vous voulez obtenir, c'est tout ce que vous avez besoin de savoir. Mais nous allons aussi voir quelques méthodes légèrement plus avancées pour réaliser des formes de terrain sur de grandes échelles, au lieu de simplement ajouter un grand déplacement (Displacement) sur la planète entière.

Commençons avec la méthode simple, basée sur la scène que nous avons créée dans la section précédente. Si vous n'avez pas encore lu cette section, créez simplement un noeud Power Fractal dans une nouvelle scène et laissez les réglages par défaut. Nommez le nouveau noeud "Montagnes" (Nous créerons plusieurs noeuds de terrain plus tard et ça nous aidera à retrouver ce noeud plus facilement).

Avant de commencer à ajouter de plus grandes aspérités au terrain, vous devriez positionner votre camera à une altitude un peu plus élevée pour éviter d'avoir la vue bloquée "à l'intérieur" du terrain : une altitude de 1 ou 2 kms devrait suffire. Faites un rendu de test avec la nouvelle perspective de la caméra pour avoir un point de référence.

Altitude 2 kms
Une vue depuis une altitude de 2 kilomètres

Maintenant, créez un nouveau noeud Power Fractal (Le troisième si vous l'ajoutez à la scène précédente, ou le second si vous démarrez l'exercice depuis le début). Nommez ce noeud "Large Features" (Grandes Aspérités). La chose la plus importante que nous allons faire est la modification des paramètres Feature scale et Lead-in scale. Ca nous donnera les grandes aspérités que nous recherchons. Essayons une valeur initiale de 50 000 pour Feature scale et 250 000 pour Lead-in scale - 10 fois la valeur par défaut. Avec une taille moyenne des aspérités de 50 kms, ceci devrait nous aider à réaliser facilement des formes de la taille d'une montagne et des littoraux. Faites un autre rendu de test pour voir la différence.

Premier plan relevé
Le premier plan a été relevé considérablement

Les différences dans votre scène varieront peut-être beaucoup par rapport à l'exemple fourni, mais avec un peu de chance, vous devriez voir un changement après l'ajout du nouveau noeud Power Fractal et la modification de ses réglages. Si ce n'est pas le cas, essayez de changer la position de la caméra. Vous pouvez aussi désactiver le noeud temporairement pour avoir une vue avant et après les changements : décochez simplement la checkbox Enable en haut à gauche des réglages du noeud. Si vous n'arrivez pas à trouver une vue qui montre les différences, ne vous inquiétez pas, nous allons décoller pour nous mettre en orbite autour de la planète où nous serons certains de voir de grands changements.

Avant de faire cela, parlons des changements illustrés dans la scène d'exemple. Bien que l'échelle des aspérités (Feature scale) soit très grande, vous noterez que le changement en altitude des aspérités était minime : l'altitude ne culmine certainement pas à 50 kms de haut ! Ceci est dû au fait que le paramètre Displacement amplitude contrôle la force du déplacement séparément. Ouvrons la fenêtre Displacement de notre noeud Power Fractal de grande échelle et augmentons un peu l'effet. La valeur par défaut du Displacement amplitude est de 1 000 mètres, un bon réglage pour des montagnes moyennes. Bien que les aspérités de grandes tailles ne soient pas toujours particulièrement hautes, nous allons augmenter ce paramètre à environ 1 500. Un autre rendu de test doit déjà être en cours.

Amplitude de déplacement
Une amplitude de déplacement plus grande augmente d'autant plus l'altitude de notre terrain

L'effet est un peu plus important maintenant, et avec un peu de chance, visible depuis une vue orbitale. Voyons ça. En utilisant les contrôles de caméra décrits précédemment, faites pointer votre caméra vers le sol et utilisez la fonction de zoom pour vous éloigner rapidement de votre planète. Quand vous aurez atteint une altitude appropriée, modifiez votre vue pour voir une bonne partie de la planète, en incluant le bord. Vous devez être assez près pour que la planète remplisse votre champ de vision. Assurez-vous d'avoir cliqué sur le bouton Set camera et faites un autre rendu de test.

3 couches de fonctions procédurales
3 couches de fonctions procédurales depuis une vue orbitale

Pour comparer, désactivons notre noeud Large Features et voyons comment les choses se présentent depuis cette position stratégique. Utilisez la checkbox Enable pour désactiver le noeud et faites un autre rendu.

2 couches de fonctions procédurales
2 couches de fonctions procédurales

Bien que les différences soient assez subtiles, elles sont sensibles même depuis cette haute altitude, ce qui signifie qu'elles doivent être plutôt imposantes. Nous avons de bonnes bases pour les montagnes et les continents que nous recherchons. Vous noterez cependant que la majorité du monde est recouvert par ces montagnes et que la distribution de ces dernières semble un peu trop régulière. La prochaine étape sera d'essayer de limiter leur couverture de façon plus réaliste pour former des chaînes de montagnes, des canyons et de grandes plaines.

Pour la prochaine étape, nous allons devoir travailler directement dans le réseau de noeuds. Nous allons créer une fonction procédurale pour définir la zone où nos montagnes vont apparaître et la connecter au shader Blend de notre noeud "Montagnes" pour limiter sa couverture. Vous pouvez rester dans la fenêtre Terrain et simplement utiliser la petite vue du réseau en bas à droite, ou vous pouvez basculer dans une vue plus large du réseau de noeuds (Node Network). Dans tous les cas, nous allons commencer en zoomant sur le groupe Terrain.

Maintenant, cliquez droit sur une zone vide à l'intérieur du groupe et choisissez Create Shader, puis Surface Shader, et enfin Power fractal shader v3". Nommer ce nouveau module "Distribution des montagnes" puis cliquez gauche sur la sortie, en bas du module, et connectez-la à l'entrée Blending shader sur la droite de votre module "Montagnes".

Les entrées Blending shader sont présentes sur la plupart des noeuds shader. L'effet de cette entrée, lorsqu'elle est activée, est similaire à la fonction Masque des autres logiciels. En utilisant une interprétation du masque en entrée, cette fonction vous permet d'utiliser une image en niveau de gris ou des sorties procédurales pour contrôler la distribution d'un noeud. Comme dans les autres logiciels, le blanc signifie Couverture totale et le noir, Aucune couverture. Les valeurs de gris entre ces deux couleurs représentent les niveaux de variation de la couverture.

Avant de voir l'effet de notre nouveau shader blend, nous devons activer la paramètre blending de notre noeud "Montagnes". En bas de la fenêtre des réglages du noeud, vous devez voir les contrôles d'entrée de ce paramètre. Vous devriez voir le nom de votre blending shader près de la checkbox Blend by shader. Cochez la checkbox pour activer la fonction Blend by shader. Vous allez immédiatement voir les changements dans la fenêtre d'aperçu, même si ces derniers sont subtils. Faites un rendu de test pour voir ce que produisent les réglages par défaut.

Effet "blend" subtil
L'effet de mélange (blend) est visible mais subtil

Vous devriez voir une différence, mais ce qui a changé ne vous sautera pas forcément aux yeux. Vous masquez vos montagnes avec la valeur par défaut du paramètre Feature scale, soit 5 000 mètres, avec un autre noeud ayant une échelle similaire. Cela produit un aspect aléatoire dans la distribution des montagnes et une diminution de l'altitude globale. Pour avoir une meilleure distribution, nous devons modifier l'échelle.

Contrairement à la Node List, quand vous êtes dans le réseau de noeuds (Node Network), vous devez double-cliquer sur un module pour afficher ses réglages. La fenêtre de réglages s'affichera sous forme de fenêtre flottante qui peut être déplacée n'importe où sur l'écran, fermée comme une fenêtre normale, ou gardée ouverte en permanence grace au bouton Stay Open. Référez-vous à la section Node Network vue précédemment pour plus de détails. Une fois que vous avez ouvert la fenêtre de réglages, modifiez les paramètres Feature scale et Lead-in scale avec des valeurs suffisamment grandes, comme celles de la couche Large Features que nous avons créée précédemment. Essayons une valeur de 65 000 pour Feature scale et 325 000 pour Lead-in scale. Ca nous donne des aspérités d'une taille moyenne de 65 kms, ce qui est un peu petit pour des chaînes de montagnes. Cependant, grace à la taille un peu plus grande de notre paramètre Lead-in scale, nous devrions aussi obtenir une large variété d'aspérités de grandes tailles.

Nous allons aussi augmenter le paramètre Smallest scale car nous n'avons pas forcément besoin que ce noeud agisse sur une si grande échelle. Gardez à l'esprit que plus le bruit généré aura d'octaves, plus le temps de calcul du shader sera long. Réglez le paramètre Smallest scale à une valeur d'environ 50 mètres : ça réduira le temps de calcul et ça créera assez de détails de petite échelle pour plus de réalisme. Si les paramètres Smallest scale, Lead-in scale, et Feature scale ont quasiment les mêmes valeurs, vous aurez très peu d'octaves de bruit, ce qui donnera au terrain en sortie un aspect très artificiel.

Faisons un autre rendu de test pour déterminer les prochaines modifications que nous devrons apporter à notre terrain.

Effet "Blend shader"
L'effet "Blend shader" de grande échelle

Les montagnes ont maintenant un aspect moins aléatoire, mais aussi moins proéminent. Nous allons augmenter les différences entre les zones couvertes de montagnes et les autres zones en modifiant le contraste du noeud blend shader. Ca devrait nous donner des pics assez hauts et de vastes plaines.

Commencez par afficher la fenêtre Color du noeud "Distribution des montagnes". Vous verrez que la valeur par défaut du paramètre Color contrast est de seulement 0.5. Augmentons cette valeur à 1.0. Le paramètre Color roughness est plutôt élevé par défaut, ce qui peut donner des bords imprécis à nos chaînes de montagnes. Réduisez la dureté (roughness) à environ 2.0 pour obtenir un aspect plus précis et moins aléatoire.

Vous avez sûrement remarqué que la fonction de bruit Perlin utilisée par défaut n'est pas vraiment appropriée pour créer des chaînes de montagnes. Voyons si nous pouvons trouver une alternative. Ouvrez la fenêtre Tweak Noise et jetez un oeil aux options de la liste déroulante Noise flavour. L'option Perlin ridges semble être la plus appropriée pour fournir une meilleure structure de base. Sélectionnons cette option. (Note du traducteur : A la date où j'écris ces lignes (03/02/07), le tutoriel sur les fonctions procédurales du site officiel s'arrête brusquement ici...Mais cette première partie vous aura sûrement mis sur la voie pour créer vos propres terrains procéduraux !)

Les Heightfields

Comme TG2 met l'accent sur les fonctions procédurales et leurs indéniables avantages, l'utilisation et les avantages des heightfields peuvent facilement être oubliés. Mais les heightfields sont encore très utiles dans un monde procédural et les meilleures scènes viennent souvent de la combinaison de ces deux types de terrains. Les fonctions procédurales sont excellentes pour créer beaucoup de détails aléatoires de tailles trés différentes et sur des grandes distances. Les heightfields, quant à eux, sont utiles pour représenter des formes très particulières et sont plus efficaces sur des petites échelles. Par exemple, si vous voulez une planète entière, un terrain procédural sera la meilleure façon de la créer, mais si vous voulez un terrain érodé de façon réaliste avec des formes particulières, un heightfield sera plus approprié.

Heureusement, avec Terragen 2, vous n'avez pas à choisir. TG2 ne peut pas seulement mixer des terrains procéduraux et des heightfields dans une scène, il peut aussi utiliser un heightfield pour former un terrain de base réaliste et lui appliquer une fonction procédurale pour créer des détails précis et des scènes réalistes. Vous pouvez facilement importer un fichier DEM d'un endroit réel pour réaliser un terrain de base très réaliste et lui ajouter des détails avec une fonction procédurale pour former un premier plan réaliste. Vous pouvez aussi utiliser un heightfield pour votre terrain local et utiliser les fonctions procédurales pour remplir l'arrière-plan et ainsi éviter le syndrôme de "la fin du monde" ou de "planète plate". Vous pouvez aussi utiliser des heightfields multiples, même de différentes résolutions, pour créer différentes zones sur votre terrain. Les possibilités sont virtuellement illimitées !

Par défaut, une quantité de fractal detail sera appliquée aux heightfields chargés dans Terragen 2. Cela permet d'ajouter des détails plus petits que les plus petites aspérités de votre heightfield de base, ajoutant ainsi du réalisme. Cela évite aussi d'avoir des arêtes polygonales sans compromettre la forme de votre terrain. Vous pouvez contrôler l'application de ces détails sur votre heightfield dans la fenêtre Fractal Detail du noeud Heightfield shader.

Ces petits détails aléatoires sont excellents pour rendre vos heightfields plus réalistes et pour les insérer plus facilement dans un terrain procédural, mais les contrôles sont minimes et les détails ajoutés ne sont pas particulièrement intéressants ou significatifs. Heureusement, vous pouvez utiliser la puissante chaîne de shaders procéduraux de Terragen 2 pour modifier la sortie de votre heightfield et ainsi créer des effets plus spécifiques et intéressants, comme les overhangs (falaises en surplomb). Voyons comment utiliser les fonctions procédurales pour créer des falaises réalistes avec un heightfield de type "DEM" d'un canyon existant. (Note du traducteur : Là aussi, le tutoriel officiel s'arrête brusquement ici... Espérons que cette partie, qui a l'air très intéressante, soit développée plus tard !)

Vous pouvez aussi utiliser plus d'un heightfield ou augmenter la taille de vos heightfields, mais nous explorerons ces possibilités plus tard.

L'Eau

L'eau est actuellement l'une des fonctions les moins développées de Terragen 2, mais elle a déjà surpassé les fonctions d'eau des précédentes versions dans sa forme actuelle. Vous avez maintenant la possibilité de créer de multiples éléments d'eau, avec des altitudes, des couleurs et des caractéristiques de vagues différentes. Vous pouvez même utiliser un masque pour régler finement la distribution de l'eau sur le terrain, permettant ainsi la création de rivières, de lacs, et autres éléments aquatiques.

Dans cette version, il existe deux moyens de créer de l'eau : vous pouvez utiliser l'objet Lake intégré, qui crée un disque plat de taille ajustable rempli d'eau, ou vous pouvez appliquer un shader Water à votre terrain et utiliser un blend shader ou une autre sorte de masque pour contrôler son placement. Commençons par détailler l'objet Lake.

Affichez la fenêtre Water pour placer l'objet Lake. C'est la seule option disponible dans la liste déroulante Add Water object et vous verrez immédiatement votre fenêtre de preview envahie par l'eau dès que vous aurez choisi cette option. Après avoir fait ceci, cliquez sur le noeud /Lake01 pour afficher ses réglages.

La plupart des paramètres affichés ici sont assez explicites. En haut se trouvent la fenêtre de renommage du noeud ainsi que les contrôles d'activation/désactivation du noeud. Handle In Preview détermine si l'objet Lake sera montré dans la fenêtre de preview. Cast Shadows sera rarement utilisé pour le moment, mais son effet est assez évident : ce paramètre permet au disque d'eau de projeter des ombres sur le terrain.

Voyons les réglages de l'onglet Transform. Le paramètre Water Level règle l'altitude de l'objet par rapport à la surface de la planète (Ce sera très utile quand la transparence de l'eau sera prise en compte dans les prochaines versions du logiciel). Le paramètre Centre contrôle le placement de l'objet en X, Y et Z et peut être utilisé quand un placement précis de l'objet est requis, mais c'est généralement plus facile de le déplacer directement dans la fenêtre d'aperçu. Pour finir, le Max Radius permet de régler la taille de l'objet Lake, mesurée en mètres, comme d'habitude.

Les fenêtres Planet et Surface Shaders sont extrêment simples. Planet vous permet de définir la planète à laquelle l'objet est associé. Comme c'est un disque plat, il doit être ajusté à la surface arrondie de la planète, surtout si le paramètre Max Radius a une valeur élevée, il est alors nécessaire de connecter cet objet à une planète pour faire ces modifications. La fenêtre Surface Shaders définit simplement le shader pour l'objet Lake, qui est Water Shader par défaut.

Maintenant que nous avons vu les réglages de base, faisons un rendu rapide pour voir à quoi ressemble cette surface d'eau. Gardez à l'esprit que la caméra par défaut se trouve à 1 km d'altitude, alors descendons-la un peu pour mieux voir les détails de l'eau. Descendez la caméra jusqu'à ce qu'elle soit assez près de l'eau - environ 200 mètres - et faites un rendu depuis cette nouvelle position. A cette altitude, vous devriez apercevoir les structures des vagues, comme la variation des vagues qui accroît le réalisme. Vous devez vous douter que le rendu d'une surface d'eau prend plus de temps que la plupart des autres éléments de la scène. Les réflections sont plutôt exigeantes en puissance de calcul et Terragen 2 ne fait pas exception, mais cet aspect fera l'objet de beaucoup d'optimisations dans le futur pour réduire les temps de calcul au maximum.

Vous pouvez contrôler tous les aspects d'une surface d'eau avec les réglages du Water Shader. Voyons maintenant ce qu'il est possible de faire avec les fonctions disponibles. Depuis la fenêtre Surface Shaders, cliquez sur la boîte située à droite du nom du Surface Shader (Water Shader 01) et sélectionnez Go to [nom du shader]. La fenêtre des paramètres du shader Water s'ouvrira alors. Exceptés les réglages standards du noeud, il y a seulement deux onglets qui permettent de contrôler tous les aspects de l'eau. Dans les futures versions, des fonctions supplémentaires comme la transparence et l'écume auront probablement leurs onglets respectifs dans cette fenêtre. Pour le moment, l'onglet Waves (vagues) est visible et contient quelques-uns des paramètres les plus importants pour modifier l'aspect de l'eau.

Maintenant, les conventions de nommage de Terragen 2 doivent vous être familières. Alors, avec un peu de chance, la plupart des noms de ces paramètres doivent être assez explicites. Le paramètre Roughness contrôle l'aspect "rêche" de l'eau et en combinant ce paramètre avec le Wave Scale et le Smallest Scale, vous arriverez à créer toutes sortes de surfaces aquatiques. Le paramètre Wave Scale détermine la taille moyenne des vagues et le Smallest Scale contrôle la taille des plus petits détails : augmentez ce paramètre si la surface de l'eau vous semble un peu trop simpliste, mais réduisez-le si vous avez une vue éloignée de votre surface d'eau. Plus vous avez d'octaves dans votre fonction de bruit Water Shader, plus le temps de rendu sera long.

Le groupe de contrôles suivant devrait être familier aux utilisateurs de Terragen 0.9 : ce sont les paramètres Wind Patch. Dans la nature, il y a des variations dans la structure des vagues et sur la surface globale de l'eau dues à plusieurs facteurs comme le vent (Wind). Ces réglages vous permettent de simuler ces effets et apportent un nouveau niveau de réalisme, la variété et l'intérêt que nous recherchons pour de grandes étendues d'eau. Les réglages par défaut donnent une variation subtile de la surface de l'eau, modelant la dureté sur toute la surface grace à une fonction de bruit de grande échelle. Le paramètre Wind Patch Effect contrôle la force de cet effet, la quantité de variations entre les différentes zones. Wind Patch Size détermine la taille moyenne des zones de variations. Pour finir, Wind Patch Sharpness règle la précision de la ligne séparant les différentes zones de variations. En d'autres termes, ça permet de contrôler la douceur de la transition entre les zones de duretés différentes.

Rendons-nous maintenant à l'onglet Reflections. Master Reflectivity est assez explicite : il détermine le niveau global de réflection sur l'eau. Index of Refraction est un terme technique qui désigne la quantité de réfraction de la lumière causée par un matériau. La valeur standard de l'index de réfraction de l'eau est de 1.33. Une valeur supérieure donnera une réfraction plus diffuse. Horizon Shift est une fonction spéciale utilisée pour simuler le changement de réflection dû à l'effet d'une surface réfléchissante distante plus ou moins rêche. Cette fonction change principalement l'angle de réflection distante vers ou loin de l'horizon. Le moyen le plus de simple de comprendre le fonctionnement de ce paramètre est de jouer avec le curseur et de voir les résultats dans la fenêtre d'aperçu. Hightlight Intensity contrôle la force des reflets spéculaires des sources de lumière et Min[imum] Hightlight Spread vous permet de définir la diffusion des réflections : en d'autres termes, l'aspect des reflets spéculaires.

Notez que vous pouvez brancher un shader à l'entrée du Water Shader pour annuler ou modifier les fonctions disponibles. Par exemple, vous pouvez avoir plus de contrôle sur la forme des vagues en branchant un Power Fractal et en utilisant les paramètres de Displacement. Un Heightfield Shader ou une Image Map peuvent être utilisés de la même façon et sont très utiles pour ajuster la forme des vagues. Essayer de brancher un Defaut Shader sur l'entrée et réglez les couleurs : vous avez maintenant la possibilité de donner la couleur que vous voulez à votre surface d'eau. Ca donne aussi un tremplin à notre prochaine expérimentation : utiliser les masques pour contrôler la distribution de l'eau.