La mer de nuages ​​qui recouvre le monde de « Xenoblade Chronicles 2 » a été créée par « ray marching » [CEDEC 2018]

Pour créer une mer de nuages ​​translucide et moelleuse

CEDEC2018, l'une des plus grandes conférences japonaises destinées aux développeurs de jeux, se tiendra au Pacifico Yokohama pendant trois jours, du 22 au 24 août 2018. Le 22, premier jour, "xénolame 2Une session pour les ingénieurs intitulée « Expression cloud utilisant le ray marching » a eu lieu et M. Michihiko Inaba du département de développement logiciel de Monolith a présenté une méthode d'expression graphique spéciale.

M. Michihiko Inaba (Monolith Soft)

Le RPG Nintendo Switch "Xenoblade Chronicles 2", développé par Monolith Soft et publié par Nintendo, se déroule dans le monde "Alst" recouvert d'une mer de nuages. Lors du dessin d'Alst, l'équipe de développement avait pour objectif de créer une mer de nuages ​​ayant une forme d'onde pelucheuse, changeant de forme en temps réel comme la mer et étant translucide.

Au début, il pensait que comme il est souvent utilisé pour exprimer des surfaces d'eau, cela irait bien avec une mer de nuages, il a donc essayé de dessiner des polygones basés sur une grille. Cependant, il s'est avéré que les polygones semi-transparents qui se chevauchaient ne pouvaient pas être affichés correctement et que la résolution du problème nécessitait une charge élevée sur le CPU et le GPU. Les particules utilisées pour exprimer la fumée et autres ont également été prises en compte, mais il a été déterminé que cela ne serait pas pratique car cela nécessiterait l'affichage d'un grand nombre de particules, ce qui augmenterait la charge.

En y réfléchissant, Inaba et ses collègues ont eu l'idée d'une solution utilisant le ray marching, qui devenait populaire à l'époque.

Modéliser une mer de nuages ​​grâce au « ray marching »

La marche des rayons est « En gros, c'est une méthode pour contrôler la lumière, ou les rayons, en les faisant marcher », a déclaré Inaba. Il s'agit d'un type de technologie de rendu qui génère des images grâce à des calculs. La modélisation est effectuée en émettant des rayons depuis la caméra et en acquérant des informations sur les objets avec lesquels les rayons entrent en contact. M. Inaba a donné une explication détaillée sur la modélisation du ballon.

On pensait que la forme pelucheuse d'une mer de nuages ​​pouvait être exprimée en disposant un grand nombre de ces sphères, mais cela nécessiterait une grande quantité de jugement de collision, ce qui augmenterait la charge. Par conséquent, j'ai décidé d'utiliser le bruit Perlin-Wally comme pseudo-sphère. Le bruit est une technique utilisée principalement pour rendre les objets naturels plus réalistes. L'objectif était de créer un aspect plus naturel en combinant Wally Noise, souvent utilisé pour exprimer les nuages ​​et l'eau, avec Perlin Noise, souvent utilisé pour exprimer les flammes et la fumée.

Ils ont ensuite calculé la densité de la mer de nuages ​​pour qu'elle soit plus fine dans les couches supérieures et plus sombre dans les couches inférieures, et ont également calculé la transparence de la mer de nuages ​​en multipliant la densité de la mer de nuages. nuages ​​par le bruit. En conséquence, nous avons réussi à exprimer une mer de nuages ​​translucide et duveteuse.

Il existe différentes manières de lui donner un aspect plus naturel.

Cependant, si vous le laissez tel quel, vous n'obtiendrez pas d'effet tridimensionnel, un éclairage sera donc nécessaire. M. Inaba a partagé des informations techniques sur la façon dont il a allumé le modèle de la mer de nuages, qui n'a pas de normales.

De plus, comme les nuages ​​​​avaient l'air durs après l'éclairage, j'ai ajouté du bruit Perlin pour lui donner une sensation de fumée, et pour résoudre le problème où la mer de nuages ​​​​avait l'air de boucler, j'ai utilisé une valeur de bruit et j'ai modifié la distance en fonction sur la distance. Explique comment y faire face en modifiant la valeur d'échantillonnage. Des formules de calcul réelles ont également été présentées aux ingénieurs présents.

De plus, un certain nombre de techniques réellement utilisées dans « Xenoblade Chronicles 2 » ont été introduites, comme créer un trou dans une mer de nuages ​​et disposer une mer de nuages ​​verticalement comme un mur.

La marche aux rayons était également utilisée pour les nuages ​​​​flottant dans le ciel et la mer de nuages.

En plus de la mer de nuages ​​dans Xenoblade Chronicles 2, il y a des nuages ​​​​flottant dans le ciel et des nuages ​​flottant au-dessus de la mer de nuages. Il a été expliqué que la marche aux rayons était également utilisée dans chacun de ces cas.

Enfin, concernant l'expression des nuages ​​à l'aide du ray marching, M. Inaba a déclaré : « La partie la plus difficile a été de l'optimiser. Il est assez facile de lui donner une belle apparence, et une fois que vous avez choisi une certaine méthode, vous pouvez effectuer une vérification des rayons. où les rayons ont marché). Si vous augmentez le nombre de coordonnées (pour vérifier s'il y a quelque chose), cela sera beaucoup plus joli. Cependant, la charge augmentera en conséquence, il faudra donc beaucoup de temps pour comprendre comment faire. des compromis et comment accélérer le processus "Cela a pris du temps", se souvient-il. Cette session a donné un aperçu de la création du monde fantastique de "Xenoblade Chronicles 2".