Panorama mode

Gaia Sky includes a panorama mode where the scene is rendered in all directions (+X, -X, +Y, -Y, +Z, -Z) to a cube map.

Hint

To activate the panorama mode, click on the cubemap-icon icon in the camera section of the control panel. Exit by clicking cubemap-icon again. You can also use ctrl + k.

This cube map is then projected onto a flat image. The projections available are:

Hint

ctrl + shift + k – Cycle between the different projections.

The final image can be used to create 360 panorama videos with head tracking (see here).

Configuration

Please, see the panorama mode configuration section.

Hint

Please use ‘Triangles’ as the point cloud style to avoid the presence of seams. Using the legacy GL_POINTS mode will result in visible seams.

Creating panorama images

In order to create panorama images that can be viewed with a VR device or simply a 360 viewer, we need to take into consideration a few points.

  • You should probably use the equirectangular (spherical) projection, as it is the simplest and the one most programs use.

  • Panoramas work best if their aspect ratio is 2:1, so a resolution of 5300x2650 or similar should work. (Refer to the Screenshots section to learn how to take screenshots with an arbitrary resolution).

  • Some services (like Google) have strong constraints on image properties. For instance, they must be at least 14 megapixels and in jpeg format. Learn more here.

  • Some metadata needs to be injected into the image file.

Injecting panorama metadata to 360 images

The program ExifTool can be used to inject the 360 metadata into the images. For example, with a panorama 4K image (3840x2160) we need to run the following command:

$  exiftool -UsePanoramaViewer=True -ProjectionType=equirectangular -PoseHeadingDegrees=360.0 -CroppedAreaLeftPixels=0 -FullPanoWidthPixels=3840 -CroppedAreaImageHeightPixels=2160 -FullPanoHeightPixels=2160 -CroppedAreaImageWidthPixels=3840 -CroppedAreaTopPixels=0 -LargestValidInteriorRectLeft=0 -LargestValidInteriorRectTop=0 -LargestValidInteriorRectWidth=3840 -LargestValidInteriorRectHeight=2160 image_name.jpg
_images/20221018_screenshot_00000.jpg

Panorama image captured with Gaia Sky, using the orthographic projection.

Creating spherical (360) videos

First, you need to capture the 360 video. To do so, capture the images and use ffmpeg to encode them or capture the video directly using a screen recorder. See the Capturing videos section for more information. Once you have the .mp4 video file, you must use the spatial media project to inject the spherical metadata so that video players that support it can play it correctly.

First, clone the project.

$  git clone https://github.com/google/spatial-media.git
$  cd spatial-media/

Then, inject the spherical metadata with the following command. Python 2.7 must be used to run the tool, so make sure to use that version.

$  python spatialmedia -i <inupt_file> <output_file>

You are done, your video can now be viewed using any 360 video player.

To check whether the metadata has been injected correctly, just do:

$  python spatialmedia <file>