In July, we wrote an article about using 360-degree video in immersive and interactive environments. Today, we’ll do a deeper dive and show you how to actually do it. The full process is too long to explain in an article, so we made an explainer video in which we explore the first step to developing interactive capabilities using the Unity game engine: creating your virtual reality (VR) Skybox Panoramic scene.
The short version is that you’ll use the Unity game engine to create the backdrop for your interactive experience. You’ll add your 360-degree video file as an asset, and then set it as your Skybox within your interactive experience. The 360-degree video will then essentially serve as the surrounding background or “sky” for your experience. Without any other graphics, animations, or text in the foreground, the only thing a visitor will see is the 360-degree video playing all around them. Once you’ve completed this step, you can add any other interactive features to your experience that you choose. You can add buttons to play and pause the experience, a video timeline slider, text, graphics, animations, interactive choices, menus, and more, just like you would with any other immersive VR project in Unity.
We don’t have the space here or in a single video to teach you how to create every possible interactive feature of Unity. However, in the video below we walk you through how to get your 360-degree video set up as the background using the Unity Skybox Panoramic Shader feature. From there, you’re only limited by your imagination and your Unity development skills.
A few important notes before getting started
While Unity is a powerful tool for creating interactive immersive experiences, it requires code development skills and familiarity with the interface. Be prepared to make plenty of mistakes as you sleuth around for tips on your path to building interactivity into your immersive experiences.
For the example project in the explainer video below, we used a short 360-degree video clip that we filmed using the Vuze VR camera. Prior to uploading the 360-degree video in Unity, we rendered the 360-degree video using the Vuze VR Studio software. Rendering means that the Vuze software stitched the footage from the Vuze’s eight cameras together into one 360-degree video. Also, the rendered 360-degree video we used was equirectangular. This is important to note as you will need to input whether your video is cubemap or equirectangular into Unity. We go into this in more detail in the video.
Also, you’ll need a gaming computer with the correct specifications to run a game engine software program like Unity. That is, your computer must meet minimum requirements for GPU, processor, RAM, hard drive, etc. We used Unity version 2019.2.6f1 for this project and the corresponding Unity Manual Version 2019.2, which explains how to add Panoramic video to a scene in Unity.
Note that Unity now requires you to also download the Unity Hub. This is similar to the Epic Games Launcher for Unreal Engine. The Unity Hub allows you to view projects you’ve created in Unity, download the latest version of Unity, and launch different tutorials. Unity also gives you the option to reference a URL for your 360-degree video instead of importing it directly to your project. This is important when using large 360-degree video files, as you may not have the hard drive space for really large Unity project files. For our example project, the 360-degree video was relatively small so we imported it directly into Unity and stored it on our own hard drive.
Resources for building your project
If you want to learn how to build any kind of interactivity into your Unity experiences—be they 360-degree videos, immersive VR games, 3D games, or even simple 2D games—then the Unity Tutorials library is a fantastic resource. If you’re looking to dive into the code and create unique interactive 360-degree video experiences, you can watch some of the 360-degree video tutorials created by the Unity team. Unfortunately, many of the videos are from 2018 so some of the terminology or functionality may be slightly different, especially if you have installed a more recent version of Unity. You’ll need to put on your sleuthing hat to solve any problems that may arise. For example, we discovered that we needed to update the driver for our graphics card (i.e., GPU) before we could render our 360-degree video (i.e., stitch it into a format that Unity can see).
If you’re not already familiar with the basics of Unity, don’t be overwhelmed. Just start simple. Learn one new Unity skill at a time and start incorporating it into your immersive training experiences. For example, after reading this article and watching the video above, you now know how to add a 360-degree video as an immersive Skybox background in Unity, which is the most important step for making interactive 360-degree videos. In the meanwhile, we’d love to know how you are using interactive 360-degree videos for your training experiences. What kind of interactive functionality are you including in your 360-degree videos? Please let us know in the comments below.