To date Beacon Virtua has been built for 14 different target platforms: Desktop Windows and Mac, WebGL/Web Browser, multiple Head Mounted Displays (Google VR Cardboard iPhone and Android, HTC Vive, Oculus Rift, Gear VR), four types of large-scale immersive displays such as those in the HIVE (high resolution tiled, Cylinder, Dome, and Wedge/CAVE), a touch-screen exhibition version, and videos (regular widescreen, and 360° 3D) for uploading to YouTube or other streaming service. The flexibility of Unity to export the same project to multiple platforms saves a considerable amount of development time and maximizes the potential target audience. Different platforms have different capabilities and different interaction modalities which will be discussed specifically in the following sections.
The original or development version of Beacon Virtua is targeted at desktop or laptop computers running the Windows or Mac operating systems. This version has all of the high-level features and content available. This version is deployed as a downloadable application about 1 GB in size. The only sacrifice in quality for the PC version is that the panoramic bubbles are 4K resolution rather than 8K, since the use of 8K textures triples the application file size to 3 GB.
The most accessible version of Beacon Virtua uses Unity’s WebGL player that allows the simulation to run within a desktop web browser—Firefox, Chrome, Internet Explorer and Edge were all tested. This version is built into a webpage, which is hosted normally as part of a website. When the user navigates to the web page, their browser begins running Beacon Virtua in a similar way to view any web based content. This system requires the entire application to be downloaded into the web browser when the user navigates to the page. As such, the total size of the application is limited by the amount of time the user will wait for it to download, and how much memory their browser can allocate to run it. In our testing we found that the application needed to be kept within around 25 MB in size.
Unity heavily compresses the assets when it makes the WebGL build of the application, but to meet this much smaller build size some assets either had to be removed entirely or use lower quality copies. The 3D models captured using P3DR contributed significantly to the file size and hence the 3D models of graves and cairns were removed and replaced with flat images. Additionally, textures were downsized, and all but a small sample of the panoramic photo bubbles were removed.
The massive drop in application size from 1 GB to around 20 MB is possible because the majority of the original application’s size is due to the texture resolution. Removing bubbles and downsizing other textures is relatively easy, though there is a noticeable decrease in the visual quality of the simulation.
Head Mounted Displays
Unity provides native support for several head mounted display VR systems. Unity can be configured to build applications that will run with minimal programming effort. However, the design of the simulation needs to be adjusted to account for the differences in user experience and supported user input devices on the various HMD platforms. The high-end HMD version is built off the PC version and employs an Xbox controller that operates relative to where the user is looking. This version has not been publicly released at this stage.
Google Cardboard is an entry level head mounted display which uses a smartphone to display stereoscopic content. The phone is mounted in a low-cost holder—often made from cardboard, hence the name—which when worn, uses lens to show each of the viewer’s eyes only half the screen. An image for the left eye is rendered on one half of the smartphone screen and an image for the right eye is rendered on the other half, allowing the user to see stereoscopic 3D depth.
Unity can build for Cardboard with a plugin provided by Google. The Cardboard version of Beacon Virtua is also constrained by its file size. Users must download it, and their phone must be able to fit the application in memory. The project team targeted less than 100 MB for the Cardboard version. To reach this size limit the textures were downsized and bubbles were reduced as was done with the WebGL version. Cardboard applications can be built for iPhone and Android phones. Separate builds must be made for iOS and Android, and there are different stores and approval processes for distributing the application to end users.
The Samsung Gear VR is another system for turning an Android smartphone into a head mounted display. Like the Oculus Rift, the Gear VR is directly supported by Unity and needs no plugins. As the Gear VR is quite similar to the Google Cardboard it could use effectively the same version of Beacon Virtua; however, the Gear VR version can assume a higher level of computer performance and hence can offer a higher graphics performance level than the Google Cardboard version.
Large-Scale Immersive Displays
The Curtin HIVE visualization facility at Curtin University features four immersive large-screen displays in one facility (Woods 2016b). Each of the displays has unique capabilities. The Tiled display is a 24 mega pixel media wall made up of 12 full-HD 55″ LCD panels. The Cylinder display is a 3 m high 180° wide screen with an 8 m diameter which can operated in stereoscopic 3D. The Wedge display has two rear-projected flat screens mounted at 90°, each with a 3.7 m diagonal which can also operate in stereoscopic 3D—similar to two panels of a CAVE display. The Dome display is a 4-m diameter half-dome oriented vertically which fills the user’s full primary and peripheral field of view. These displays are typical of the types of large-scale immersive displays available in visualization facilities around the world. Beacon Virtua has been customized to run on all four of the large screens in the HIVE.
The principal HIVE version of Beacon Virtua is for the HIVE Cylinder display. MiddleVR is used to run Unity applications in stereoscopic 3D on the Cylinder. To account for the curved surface of the Cylinder, MiddleVR is configured to use 12 stereoscopic cameras around the cylinder to render the environment, each one drawing to a small vertical strip section of the screen. When the application is run in stereoscopic 3D each camera needs to be duplicated so that there is one camera for each eye for a total of 24 cameras.
The Dome version of Beacon Virtua uses a special camera model that pre-distorts the fisheye image to account for the optical properties of the display. The pre-distortion ensures that the final image on the curved dome surface appears correct to the viewer. The HIVE systems can optionally use the SpaceMouse six degrees of freedom controller from 3Dconnexion for user navigation input. All HIVE display versions have unique executables but run the same content as the PC version of Beacon Virtua, except with 8K bubbles and adjusted information text to explain the different controls.
Towards the completion of this edition of Beacon Virtua there was an opportunity to showcase the simulation in a major exhibition; however, it was thought necessary to implement a special exhibition version. Although Beacon Virtua works well with a head mounted display, this configuration would require a full-time attendant which was not possible to resource for an exhibition which would run for almost 6 months—hence, it was decided to use a flat-screen display to present the simulation in this instance.
Some extra thought had to go into how the exhibition version would ideally operate – particularly the input method. There was concern that physical controllers such as a keyboard and mouse, a joystick, a SpaceMouse, or a gaming controller would be too confusing for a general audience across a wide range of ages. Touch-screen devices are very common these days so it was decided to adapt the simulation to run with a touch-screen interface. In the exhibition, Beacon Virtua was run on a gaming laptop and presented on a 55″ LCD touch screen mounted on a wall. Controls were adapted to work with the touch screen, so that look direction could be changed by swiping the screen and the player could move to a new location by tapping the screen in the direction in which they wish to move.
A number of additional features were added to this version to make it more suitable for the exhibition environment. Firstly it was important that the screen did not remain static between users, perhaps stuck looking at a blank wall, hence an automatic path follow mode was added which would commence after a predetermined period of no user input. Once the timeout is reached, the simulation navigates to the closest point on the guided pathway, and then proceeds along the pathway whilst pausing at all of the information panels and items of interest. When a new user approaches the display, they would see an interesting and enticing simulation. Users could just continue to watch the simulation as it auto-navigates around the island or touch the screen and take control. In order to encourage users to take control, a photo-realistic hand is animated to rise from the bottom of the screen and make a touch action at regular intervals. Once taking control, the user can choose to continue from their current location or start at the beginning. As this version did not need to be downloaded, the 8K bubble textures were used.
Two special plug-ins were used to export video sequences of the user auto-navigating through the entire Beacon Virtua experience—one in standard widescreen aspect in 4 resolution, and another in 360° stereoscopic 3D producing an over-under equirectangular video file. Both of these video sequences have been uploaded to YouTube to provide potential users with a quick way to preview the content of Beacon Virtua.