Art et science : lancer de rayons pour le projet Hyperlight

De Ensiwiki
Aller à : navigation, rechercher

Cadre du projet

  • Encadrant : Pascal Guehl
  • Nombre d'étudiants : 6
  • Prérequis : graphique 3D, synthèse d'images
  • Outils : le développement se fera sous le moteur Unity3D [1] (si vous avez joué avec Blender, Maya ou 3DS Max c'est plus simple. Sinon il faudra juste s'approprier cet outil de plus en plus utilisé dans les jeux vidéos)

Contexte

L'artiste Thomas Pachoud (Multimedia engineering and visual artist for live performance and interactivity) [2], ingénieur formé à l'IMAC, est programmeur et régisseur vidéo de plusieurs compagnies de théâtre et de danse (Cie Blanca Li, Cie Mabel Octobre, Australian Dance Theater). Au sein de la compagnie Organic Orchestra [3], il est le directeur technique et développe aussi les applications de vidéo, de captation gestuelle et le contrôle de la lumière des spectacles.

Depuis quelques années déjà, Thomas Pachoud explore les possibilités de l'écriture de la lumière comme outil scénographique ou comme matière. Il est en effet toujours étonnant de constater comment, dans un espace empli de fumée (ou de particule quelconque en suspension), la lumière peut s'utiliser comme matière qui semble créer des volumes physiques. En projetant des faisceaux lumineux dans un espace empli de fumée on peut alors architecturer, structurer et créer des volumes dans ces espaces.

Toutefois, il existe un grand nombre de contraintes et de limites dans ce genre de dispositif que Thomas Pachoud voudrait dépasser. Tout d'abord, l'emplacement de la source détermine la direction des faisceaux lumineux et, en conséquence, les perspectives architecturales. Par ailleurs, un spectateur se trouvant en face des faisceaux verra toujours la source et se trouvera toujours au sein d'un espace conique prenant pour origine la source lumineuse.

Objectifs

L'objectif global est de pouvoir travailler le faisceau de manière beaucoup plus libre (les paralléliser, les faire converger ou diverger plus qu'il ne devrait) et écrire la lumière sous forme d'architecture mouvante dans le temps. Plus particulièrement, sur ce projet, le travail sera axé sur un dispositif de modélisation et de simulation du rendu.

Il s'agira donc d'établir et d'implémenter les formules mathématiques de lancer de rayons lumineux dans un espace opacifié et leur rendu en 3D (si possible temps-réel) ainsi que les formules de modification de ces rayons par des optiques que l'on pourrait placer dans l'espace et manipuler. Si possible et afin de rendre le travail au plus exploitable et que le developpement puisse être ré-exploité et continué, le travail sera effectué sous Unity3D [3], moteur 3D temps réel très flexible et offrant un grand nombre d'outil pour manipuler les objets dans l'espace. Cela permettra de se focaliser sur le rendu et sur l'implémentation des fonctions essentiels sans avoir à redévelopper la roue.

Travail Demandé

Il s'agit d'établir sous le moteur Unity 3D [1] une simulation du dispositif :

  • création d'une ou plusieurs source(s) type laser pouvant envoyer des faisceaux lumineux (point ou ligne, qui formeraient donc des lignes ou plans dans l'espace) ;
  • création de différents types d'optique pouvant être placés et orientés dans la scène, avec la possibilité de changer les paramètres intrinsèques de l'optique ;
  • simulation du rendu.
Spe2014 Unity interface.png
Spe2014 Unity editor.png
L'interface de Unity : modèles 3D, lumières, matériaux/textures/shaders, animation, collisions...
Ajouter/modifier des comportements via des scripts C# ou JavaScript

Bibliographie

Les fichiers PDF des livres suivants seront disponibles pour les étudiants :

  • Unity 4.x Game Development by Example - Beginner's Guide
  • Unity 4.x Cookbook
  • Unity Shaders and Effects Cookbook

Informations sur Thomas Pachoud :

Détails techniques

Le prototype de modélisation et de simulation de rendu du dispositif sera fait sous le logiciel Unity 3D. Multi-plateforme (windows, Mac, Minux, Mobile, etc...), il est téléchargeable à l'adresse suivante : https://unity3d.com/unity