Caméra dôme

Cette fonction permet aux artistes de visualiser les projets interactifs à l’intérieur d’un environnement immersif de dôme. Pour en faire un outil extensible, nous prenons en charge le Fulldome, les Truncated domes (front et rear), les Planétariums et les dômes avec des miroirs sphériques.

Astuce

The Dome camera uses a multi-pass texture algorithm as developed by Paul Bourke and was implemented by Dalai Felinto with sponsorship from SAT – Society for Arts and Technology within the SAT Metalab immersion research program, that involves rendering the scene four times and placing the subsequent images onto a mesh designed especially such that the result, when viewed with an orthographic camera, is a fisheye projection.

Note

Rappelez-vous d’utiliser Blender en « mode plein écran » pour obtenir le maximum de votre projecteur.

To accomplish that launch Blender with the command-line argument -W. Also to get away of the top menu on Blender try to join all areas (buttons, 3D View, text, etc.) in a single one. Otherwise if you only maximize it (Ctrl-Up) you cannot get the whole screen free to run your game (the top menu bar takes about 20 pixels).

Réglages de Dome Camera

../../_images/game-engine_camera_dome_dome.png
Dome Type
Ce menu vous permet de sélectionner le type de Dome Camera à utiliser. Elles sont surlignées en bas, le long de leur réglages respectifs.

Les réglages de caméra disponibles changent selon le type de dôme sélectionné :

Resolution
Fixe la résolution du Tampon. La diminution de cette valeur augmente la vitesse, mais diminue la qualité.
Tessellation
C’est le niveau de tessellation du maillage (non disponible dans le Mode Cube Map).
Angle
Fixe le champ de vue du dôme en degrés, de 90 à 250. (disponible en modes Fisheye et Truncated).
Tilt
Fixe la rotation de la caméra dans l’axe horizontal (disponible en modes Fisheye et Truncated).
Warp Data Mesh
Utiliser un fichier de données de maillage warp personnalisé.

Mode Fisheye

Une vue Fisheye orthogonale de 90º à 250º degrés.

  • De 90º à 180º nous utilisons quatre rendus.
  • De 181º à 250º nous utilisons cinq rendus.
../../_images/game-engine_camera_dome_fisheye.jpg

Mode Fisheye.

Mode Front-Truncated Dome

Conçu pour des dômes tronqués, ce mode aligne l’image fisheye avec le haut de la fenêtre, tout en touchant les côtés.

  • Le Champ de vue va de 90º à 250º degrés.
  • De 90º à 180º nous utilisons quatre rendus.
  • De 181º à 250º nous utilisons cinq rendus.
../../_images/game-engine_camera_dome_front-truncated.jpg

Mode Front-Truncated Dome.

Mode Rear-Truncated Dome

Conçu pour des dômes tronqués, ce mode aligne l’image fisheye avec le bas de la fenêtre, tout en touchant les côtés.

  • Le Champ de vue va de 90º à 250º degrés.
  • De 90º à 180º nous utilisons quatre rendus.
  • De 181º à 250º nous utilisons cinq rendus.
../../_images/game-engine_camera_dome_rear-truncated.jpg

Mode Rear-Truncated Dome.

Mode Cube Map

Le mode Cube Map peut être utilisé pour des images animées pré-générées pour CubeMaps.

Nous utilisons six rendus pour cela. L’ordre des images suit le format interne de fichier EnvMap de Blender - Première ligne : right, back, left. - Seconde ligne : bottom, top, front.

../../_images/game-engine_camera_dome_envmap.jpg

Mode Environment Map.

Mode Spherical Panoramic

Un mode Spherical Panoramic.

  • Nous utilisons ici six caméras.
  • The bottom and top start to get precision with Definition set to 5 or more.
../../_images/game-engine_camera_dome_panoramic.jpg

Mode Full Spherical Panoramic.

Warp Data Mesh

Beaucoup d’environnements de projection requièrent des images qui ne sont pas de simples projections en perspective qui sont la norme pour l’affichage sur écran plat. Les exemples comprennent une correction de géométrie pour les affichages cylindriques et certaines nouvelles méthodes de projection sur des coupoles de planétarium ou des coupoles verticales conçues pour la VR.

Pour plus d’informations sur le format de maillage, voir Paul Bourke’s article.

../../_images/game-engine_camera_dome_warped.jpg

Pour produire ces images, nous utilisons un format de fichier spécifique.

Modèle de fichier :

mode
width height
n0_x n0_y n0_u n0_v n0_i
n1_x n1_y n1_u n1_v n1_i
n2_x n1_y n2_u n2_v n2_i
n3_x n3_y n3_u n3_v n3_i
(...)

La première ligne est le type d’image qui est appliquée sur le maillage : 2 = rectangular, 1 = radial. La ligne suivante décrit les dimensions du maillage en pixels. Les lignes suivantes sont les nodes du maillage.

Each line is compound of x, y, u, v, i. (x, y) are the normalized screen coordinates, (u, v) texture coordinates, i a multiplicative intensity factor.

x varies from negative screen aspect to positive screen aspect. y varies from -1 to 1. u and v vary from 0 to 1. i ranges from 0 to 1, if negative do not draw that mesh node.

  1. Vous devez le fichier et l’ajouter à l”Éditeur de texte pour le sélectionner comme votre fichier de données maillage déformé.
  2. Ouvrir l”Éditeur de texte Editor Types ‣ Text Editor.
  3. Ouvrez votre fichier de données de maillage (ex. myDome.data) dans l”Éditeur de texte (Text ‣ Open ou Alt-O).
  4. Allez aux réglages Game Framing Editor Types ‣ Properties editor ‣ Scene.
  5. Mode Enable Dome.
  6. Entrez le nom de fichier dans le champ Warp Data (ex. myDome.data).

Pour créer vos propres maillages Warp, un outil interactif appelé meshmapper est disponible dans le cadre du paquet logiciel Warpplayer de Paul Bourke (requiert une version complète).

Exemples

Important

The viewport is calculated using the ratio of canvas width by canvas height. Therefore different screen sizes will require different warp mesh files. Also in order to get the correct ratio of your projector you need to use Blender in Fullscreen mode.