Boutique
Reading time
18 min

Auteur:AXYZ DESIGN
Date:2017-10-27

ANIMA 2 | TIMERIDE COLOGNE, UNE EXPÉRIENCE VR UNIQUE

image2

L'expérience

par Michael Plängsken | Ground-studios.de GROUND STUDIOS présente un aperçu de sa production de TimeRide VR en images de synthèse, où ANIMA était fortement utilisé pour l'animation de foule.

TimeRide VR, son site nouvellement ouvert à Cologne, présente un nouvel attrait pour les touristes et les citoyens de Cologne, notamment une expérience de réalité virtuelle unique multi-utilisateurs unique.
Pendant le séjour d'environ 45 minutes, le visiteur est amené à travers l'histoire de Cologne. Le point culminant de l'exposition actuelle est un trajet en tram de 15 minutes à travers la vieille ville de Cologne, comme au début du 20e siècle - avant les deux guerres mondiales.


Le visiteur est assis virtuellement et physiquement dans une réplique de l'un de ces tramways inaugurés à Cologne en 1901. Sentant une brise légère et des vibrations fluides du tramway, le visiteur plonge dans la scène historique avec tous les sens et peut admirer non seulement l'architecture étonnante, mais devient témoin d'une période avec tout son talent.


L'idée de produit, le concept de magasin et les activités quotidiennes sont développés et conduits par la société TimeRide GmbH.

Concept technique (approche hybride)

Pour construire et optimiser une si grande partie d'une ville pour un moteur de jeu, il faut beaucoup de travail, comme la création d'un niveau de détail pour tous les actifs, et une disposition appropriée des rayons UV pour une cuisson légère. Nous avons dû éviter ce travail supplémentaire en utilisant une solution hybride. La réponse la plus efficace a été d’afficher un film pré-rendu sur une monosphère autour d’un tramway Ingame, le tout assemblé dans Unity. De cette façon, nous avons la parallaxe pour tout ce qui se trouve dans la plage de gros plan et en même temps, l’environnement est une vidéo monoscopique pré-rendue à 360 ° avec une résolution de 4096x2048 pixels.

Mais pourquoi pas une vidéo stéréoscopique? Une raison évidente est le double effort de rendu. Mais le principal problème est qu’incliner la tête dans une vidéo stéréoscopique est vraiment désagréable et fait souvent que les gens se sentent malades immédiatement. Le codage et la lecture de vidéo stéréoscopique dans une résolution acceptable constituent également un problème. Nous avons donc décidé d'utiliser la solution monoscopique sans aucun effet secondaire.

image28image13

Planification

Le plus gros défi, le fait que nous n’ayons eu qu’une seule prise de vue, aucune coupure, une vision à 360 degrés, pour près de 20 000 vues, nous a imposé certaines contraintes. Les modifications apportées à la configuration de l'environnement devaient être minimisées au maximum - ce qui faisait de la planification et de la mise au point dès le départ une priorité absolue.

Aujourd'hui, la plupart des bâtiments et même certaines rues ont disparu depuis longtemps. Certaines parties ont été reconstruites, mais la plupart ont été sacrifiées au moment de la reconstruction d'après-guerre.

Heureusement, Cologne est une ville très bien documentée, avec de nombreuses photos historiques, des peintures, des livres et des cartes postales ainsi que de très vieilles cartes de rues et de cadastres. Cependant, faute d'informations fiables sur l'année exacte à laquelle ces documents ont été créés, un temps considérable a été consacré à la recherche et au travail de casse-tête. Au cours de la phase de planification, nous avons eu beaucoup de mésappariements qui ont dû être rigoureusement vérifiés et éliminés.

image12

La plupart des dimensions des bâtiments sur les photos ont été estimées par rapport à la taille des piétons et alignées sur les informations que nous avons pu extraire des cartes.

Toutes ces données ont abouti à un modèle approximatif 1: 1 avec la mise en page finale de l'environnement et des cadres de sélection pour tous les bâtiments requis. C’était la base essentielle pour la planification future, la planification de la modélisation de la maison, l’ombrage, la création d’actifs, ainsi que pour des animations et des événements spéciaux.

Développement d'outils

Face aux défis de la création et de la gestion de milliers d'actifs et de bâtiments, nous avons souhaité automatiser le plus possible le processus. Dans le même temps, nous avons dû éviter les pièges typiques que les techniques procédurales peuvent créer, tels que les schémas répétitifs et l’installation évidente de bâtiments ou de biens. Assurer une apparence cohérente et la qualité de nos actifs étant essentiel, nous avons donc développé une série d’outils permettant à chacun d’entre eux de faire une chose exceptionnellement bien.

En ce qui concerne la modélisation de la maison, nous avons construit manuellement les formes individuelles de base et avons ajouté beaucoup de détails à l'aide de ces outils internes. Par exemple, les fenêtres et les rideaux ont été ajoutés simplement en sélectionnant des polygones sur le bâtiment et en choisissant un des préréglages préparés avec précision. Ce générateur de fenêtre s’est avéré un outil précieux et nous a fait gagner un temps considérable à long terme. Poser des dizaines de fenêtres et de rideaux à la main pour des centaines de bâtiments n’est pas seulement une tâche ardue, mais aussi une source d’erreurs et de perte de temps - en particulier dans les bâtiments de style ancien où les tailles et les ratios respectent rarement les règles et les normes.

image36

Les largeurs de bordure sont absolues et les emplacements de sous-divisions sont relatifs à la sélection des visages et sont donc uniques pour chaque fenêtre - difficile pour l'homme mais simple pour un script. Bien sûr, vous pouvez également expérimenter, modifier les paramètres et essayer chaque préréglage en quelques secondes, ce qui serait difficile à effectuer manuellement. Le désemballage était complètement automatisé et des décalques de lettrage ou des affiches sur les bâtiments étaient ajoutés en faisant simplement glisser une sélection sur une image bitmap et en cliquant dans la scène 3D pour les placer.

Idéalement, tout ce qui ne nécessite pas de décision artistique devrait être automatisé - libérant du temps et évitant des tâches répétitives ennuyeuses.

La modélisation

Après avoir inspecté toutes les photos et cartes historiques, nous avons commencé à planifier la modélisation de plus de 150 bâtiments très détaillés dans notre environnement.

image17

La difficulté de modélisation de ces bâtiments dépendait fortement de la qualité et de la quantité des photos disponibles. Dans certains cas, seule la quantité impressionnante de photos basse résolution ou floues permettait d’identifier des détails architecturaux ou de déchiffrer des lettres.
Après avoir terminé tous les bâtiments importants, nous avons complété le reste de l’environnement architectural, ce qui a permis de créer plus de 600 bâtiments modélisés avec précision.


Des détails tels que des lanternes, des auvents, des lettres et des affiches ont été ajoutés. Railclone s'est révélé d'une grande aide, notamment pour les auvents.



Nous avons créé un système de store avec différents styles et configurations intégrés. La longueur et l'angle d'inclinaison ont été contrôlés via des ID de matériau sur la spline elle-même. Un pour la longueur et des dizaines pour l'angle. De cette façon, il était très facile de placer et de randomiser des centaines de personnes dans un temps très court, sans être obligé de toucher aux paramètres de Railclone.


Texturing / Shading (système d'ombrage)

Généralement, chaque objet différent du suivant reçoit son propre matériau / shader. Le flux de travail typique consiste à copier un shader du bâtiment A au bâtiment B et à modifier certains paramètres pour le rendre différent.


Malheureusement, cela signifie que vous avez un nouveau matériau totalement indépendant. En fonction de la complexité, vous avez besoin de suffisamment de temps pour creuser dans l’arbre de shaders, trouver la roulette que vous souhaitez modifier et répétez-la encore et encore pour chaque copie.

image14

Notre système d'ombrage est basé sur des shaders principaux, dans lesquels les valeurs devant être ajustables sont stockées dans des propriétés d'objet personnalisé au lieu du matériau lui-même. Vous pouvez accéder à ces valeurs à l'aide de types de mappage de texture spéciaux. De cette manière, nous avons construit une série de shaders maîtres dans lesquels chaque paramètre qu'un utilisateur peut vouloir modifier est configuré en tant que carte VrayUserColor ou VrayUserScalar.


image14

De plus, nous avons fait un usage intensif de la peinture Vertex pour mélanger la brique et le plâtre ou la saleté automatique et dirigée. Cela signifie que vous pouvez affecter ces nuanceurs à un nombre quelconque d'objets et modifier les couleurs ou d'autres propriétés de vos matériaux en modifiant simplement un ensemble de paramètres sur votre objet lui-même. Ainsi, si vous souhaitez modifier la couleur ou la quantité de saleté d'une maison, il vous suffit de modifier une propriété sur cet objet spécifique - vous ne modifiez pas le shader lui-même. Les avantages sont énormes. Par exemple, vous pouvez facilement créer des centaines de variations d'un même shader sans qu'il soit nécessaire de le dupliquer à chaque modification. Un énorme avantage en termes de flexibilité et de rapidité d’ombrage. De plus, la cohérence recherchée en ce qui concerne l'apparence et l'aspect des actifs était assurée.

image14

Nous avons construit de petits outils en maxscript pour nous aider à gérer nos shaders principaux et faciliter la tâche des artistes pour les attribuer et modifier les propriétés de l'utilisateur. En utilisant cette approche, nous avons réussi à texturer et à ombrager nos bâtiments en quelques minutes chacun, tout en conservant beaucoup de variations et de contrôle.

image14

Un autre défi typique de la création de grands espaces extérieurs concerne les textures de sol non répétitives. Parfois, vous pouvez vous en sortir avec un placement astucieux de caméras ou d'actifs et parfois, vous pouvez simplement utiliser plusieurs plug-ins ou plusieurs plug-ins pour randomiser les textures de mosaïque sur de grands espaces. Cependant, dans notre cas, nous avions besoin d’un tapis de sol convaincant et intéressant lorsque vous conduisez à basse vitesse sur plus d’un kilomètre. Étant donné que la moitié du trajet se déroule tout droit, vous remarquerez immédiatement que les répétitions sont un motif. Tout d'abord, nous avons créé nos textures en pavés de manière procédurale dans le concepteur de substances, en exportant des canaux diffus, normaux, rugueux et de hauteur, puis avons construit nos shaders de base en max.

image14

Pour éviter les répétitions de motifs mentionnées précédemment, nous avons utilisé un plugin appelé "Warp Texture" qui peut être trouvé sur www.maxplugins.de.

image14

Combiné avec un bruit d'espace-monde, vous pouvez légèrement déformer les textures de base et éliminer en grande partie les répétitions. Ajoutons à cela que nous avons mélangé plusieurs filtres de saleté, de sable et d’eau. Chacun utilise des bruits d'espace-monde différents et, plus important encore, prend en compte la carte de hauteur du pavé.

image14

De cette façon, vous pouvez créer des flaques d'aspect naturel et des dépôts de saleté en cours de route. Malheureusement, la texture de la chaîne n'est pas stable lorsque vous utilisez le déplacement et a tendance à bloquer 3ds max. Nous avons donc dû nous fier uniquement aux cartes normales.

image14

Rendu / éclairage

Le rendu de près de 20 000 images en résolution 4k nécessite un peu de planification et une analyse minutieuse des optimisations. Outre les coûts financiers élevés, nous utilisions également des versions de plug-in personnalisées et des scripts rendant impossible l'utilisation d'une ferme de rendu commercial. Le rendu en nuage, comme la création de notre propre ferme de rendu en nuage Amazon ou Google, a été envisagé, mais il s’est avéré inefficace en raison du volume élevé de données que nous devions télécharger et mettre à jour chaque fois que nous devions restituer quelques images de test. Nous avons donc décidé de mettre à niveau notre ferme de rendu interne et de tout rendre localement.

image24

Nous avons fait plusieurs choses pour réduire les temps de rendu autant que possible. Tout d’abord, optimiser la résolution des textures est toujours une bonne idée. Cela peut aider à réduire les temps de démarrage du rendu et nous a permis de dépenser une fraction plus importante de notre RAM disponible pour les personnes de la foule et d'autres objets animés. Comme mentionné précédemment, nous avons utilisé un système de shader personnalisé utilisant des matériaux maîtres. Ces matériaux ont été construits en tenant compte du temps de rendu et de la texture. La mémoire de tous les bâtiments était donc très réduite en raison de sa nature plus procédurale. Nous avons également évité d'utiliser des cartes complexes telles que la correction composite ou la correction des couleurs, qui peuvent affecter négativement les temps de rendu. Beaucoup peut être fait avec les cartes Mix, VrayCompTex et Output, qui sont toutes très rapides à traiter et n'affectent en principe pas les temps de rendu.

image24

Le prochain gros goulot d'étranglement est évidemment l'éclairage et l'échantillonnage, en particulier Global Illumination. Nous avons commencé par une approche Brute Force et Lightcache GI qui aurait généralement bien fonctionné, mais il nous fallait des temps de rendu encore plus courts. Nous avons décidé de ne pas utiliser GI du tout et de le simuler avec un VrayAmbientLight en utilisant une texture VrayDirt en tant que carte Light. Étonnamment, la différence visuelle était négligeable, même dans les rues avec des immeubles de grande hauteur de chaque côté. La clé d'un résultat plus agréable et plus réaliste avec cette technique réside dans un rayon élevé et une chute plus douce dans la zone d'occupation. En dehors de cela, Lighting ne comprenait qu'un VraySun, un HDRI à l'arrière-plan et l'effet atmosphérique VrayAerialPerspective pour l'apparence brumeuse du matin.

image24
image7

Après une longue recherche et une sélection de centaines de photos historiques, une liste de vêtements importants a été établie. Loués à un poste de télévision allemand, tous ces costumes ont été capturés par photogrammétrie et optimisés pour une utilisation semi-low et low-poly. Dans l'image suivante, vous pouvez voir quelques exemples.

image7

Les animations ont été séparées en trois parties:

  • 1. animation de la foule, qui devait être automatisée
  • 2. animation de personnages spéciaux, dérivés d'un scénario dirigé
  • 3. animation ingame en temps réel pour le conducteur du tram
Pour l'animation de la foule, nous avons choisi Anima, de AXYZ Design. Il était très important de pouvoir implémenter nos propres personnages tout en tirant parti de la grande bibliothèque d'animations existante. L'un des défis était le fait que la simulation de la toile ou des os supplémentaires ne pouvaient pas être implémentés dans Anima. Donc, animer des jupes conduirait généralement à un «look de pantalon bouffant», quand vous épilez simplement une longue jupe aux jambes. Notre solution consistait en une solution de contournement: nous avons dupliqué la jupe et en avons écorché une avec plus de poids pour la jambe gauche et une avec plus vers la droite, afin que les deux parties du tissu se croisent en mouvement. De loin, cela donnait une belle silhouette. Un autre défi était la gestion de la scène. Dans Anima, vous pouvez diviser un projet en plusieurs scènes. Avec un trajet continu de onze minutes, nous avons divisé l’ensemble en 9 zones différentes afin de rendre les simulations aussi légères que possible.

 

image7

Cependant, avec la version 2.6.0, il n'y avait aucun moyen de décaler les animations pour ces sections séparément. Pour obtenir une foule animée à la dernière minute de la course, une simulation complète de la première à la dernière image devait être effectuée, que la foule soit visible ou cachée derrière des murs. Cela a conduit à une énorme quantité de données de cache inutiles et à des temps de simulation extrêmement longs.

Le support AXYZ Design a toujours été d’une grande aide. Nous avons expliqué la situation et obtenu un retour rapide: les gars nous ont invités à un appel skype (mieux que ça, Autodesk!).
Nous savions exactement ce dont nous avions besoin pour que Anima fonctionne dans notre fichier de scène. L'équipe d'Anima a donc ajouté une fonction au plugin max. Nous avons maintenant pu décaler l’heure de début de la simulation pour chaque section indépendamment. Dans Anima, vous tracez des lignes qui deviennent des passerelles pour les acteurs. Après avoir rempli tous les chemins, vous cliquez sur le bouton de lecture et laissez l’animation de la foule se simuler. Lors de la lecture, le logiciel veille à ce que les acteurs s’évitent les uns les autres, «socialisent», ralentissent si quelqu'un gêne, voire s’effacent, lorsque les collisions ne peuvent pas être évitées.

 

image7

Dans les plans extrêmement longs, les acteurs ont tendance à se regrouper, car les plus petits, comme les enfants, sont plus lents que les plus grands. Il se termine principalement en groupes, marchant en file indienne avec un enfant ou une femme en tête. C'était drôle mais pas réaliste. La solution proposée par l’équipe AXYZ a permis de réduire le temps de simulation à environ 6 000 images par section et de faire d’une pierre deux coups: réduire l’agglutination et réduire la taille des caches. Impressionnant! Nous ne pouvons pas remercier assez Diego Gadler et son équipe!

image7

Nous avons ensuite importé le projet Anima dans max et avons exécuté un petit script qui vérifiait les intersections avec nos véhicules et des animations spéciales. Anima elle-même ne sait pas encore gérer les obstacles en mouvement, mais nous avons dû éviter que les acteurs passent dans les voitures ou le tram. Ces acteurs ont ensuite été supprimés par le script.

image7
image7

Animations spéciales / Capture de mouvements / Animations en jeu

Pour donner encore plus de vie à la scène, nous avons ajouté des animations spéciales. Qui ont été capturés dans notre studio de capture de mouvement interne.
Pour obtenir la meilleure immersion possible avec un effet stéréo et de parallaxe correct, le tram, les passagers et son conducteur ont été réalisés dans le moteur. Mais c'est un sujet plus important pour une autre fois. Nous laissons cela avec un petit clip:

Post / Compositing / Encodage

La composition était assez simple. Nous rendons généralement tout en 16 bits float exrs et ajoutons quelques éléments de rendu pour de petits ajustements dans post. Cependant, 20 000 images en résolution 4k occupent assez rapidement l’espace disque. Nous avons donc décidé de ne rendre que les éléments dont nous avions absolument besoin. Dans notre cas, le pass beauté, une version débruitée et quelques masques. Nous avons également rendu un laissez-passer supplémentaire pour tous les éléments de fumée et les avons ajoutés au-dessus.

Un aspect plus intéressant de la composition peut être notre approche consistant à convertir d'abord les données linéaires en log, puis à créer notre propre courbe de conversion pour ramener les valeurs dans une plage visuellement agréable. De cette façon, nous avons un contrôle complet et nous évitons les problèmes de mappage de tons typiques consistant à réduire les points forts, mais à gommer le reste de l'image.

image18

Qui nous sommes

GROUND STUDIOS est un studio de production 3D polyvalent qui crée des effets visuels pour la télévision et le cinéma, des visualisations pour l’industrie et l’architecture, ainsi que des animations pour des publicités et des jeux vidéo. Nous travaillons avec 3ds max comme principale application 3D, complétée par V-Ray, Substance, Anima, Forest Pack et Railclone. Pour la post-production, nous utilisons Fusion et After Effects.

Nous travaillons en étroite collaboration avec nos sociétés partenaires «Humanoid» pour la capture de mouvement et la production vidéo en 360 °, «AS-Music» pour la musique et les effets sonores, ainsi que «Agence pour la réalité virtuelle» (A4VR) pour la conception conceptuelle et réelle. temps de mise en œuvre. Cette coopération nous rend extrêmement efficaces et compétitifs au sein du nombre croissant de sociétés de production de réalité virtuelle.

Pour plus d'informations, allez à:

http://www.ground-studios.com/

https://www.timeride.de

0

5% de réduction en dépensant € 299+

Votre panier est vide.