Skybox (sky box) textures for ROOMS 3d desktops


1 - Introduction
2 - References
3 - Overview
4 - How to create the textures
5 - Loading the skybox into your world

1 - Introduction

Skyboxes are easily created for ROOMS using Bryce 3D/4.0 or similar package, and we publish ready-made skyboxes from this Web site as CoolWare.

This page tells you how to create a skybox which ROOMS can use. NB You can only change sky if you have a ROOMS Creator license.

TIP: Click on the print-vu button (top right) to display this page with dark text on a light background for easy printing.

2 - References

Useful instructions for creating skyboxes can be found at Gamasutra (search for "skybox" on their site). More information about Bryce 3D and Bryce 4.0 can be found at Corel. Skyboxes are also described in ROOMS F1 Help.

3 - Overview

Skyboxes (aka sky boxes) are an easy and convenient way of creating a sky background for a 3d/virtual reality scene. They are not limited to just the sky either - any part of your scene which is unreachable by the user, and does not need to be subject to the distortions of perspective (like a distant mountain, or a ceiling if you are in "Land of the Giants"), can be incorporated into a skybox.

A skybox consists of six images presented on the inside of a cube, and between them, they portray a full sky (and ground or sea or space panorama).

The cube moves with the user, but does not rotate with the user. So the images displayed on the inside of the box do not change as the user moves, and so appear to be at infinity. If the images on the box are designed (or generated) to present the user with a view of the sky (as it would be projected onto the inside of a cube), this is what the user will always see and will perceive as stationary when other things in the virtual world are subject to the normal distortions of perspective.

Skyboxes may be stored as a single image (which a program unpacks) or as six individual images, which are given specific names to indicate which face of the skybox each belongs to.

ROOMS uses six separate images. Each must be a Windows bitmap file, and should depict portions of the sky. The last three characters of the filename (excluding the .bmp ending, but including an underscore character) indicate which face of the box the image belongs to. The rest of the filename - its stem if you like - MUST be the same for all the files in a particular skybox set.

The stem in this example is "sunset":

file name view displayed
sunset_fw.bmp box face ahead of the user
sunset_bk.bmp box face behind the user
sunset_rh.bmp box face to the users right
sunset_lf.bmp box face to the users left
sunset_up.bmp box face above user
sunset_dn.bmp box face below user

4 - How to create the textures

We use Bryce 4.0 as our example.

Create a new Bryce document, giving it a Document Resolution of 512 x 512.

A new and empty scene is created. In our copy of Bryce this scene already has a default sky, which is visible in the thumbnail preview. So let us create our skybox from this.

When creating our scene in Bryce make sure it is not linked to the sun. In Bryce, click on Sky&Fog to get the sky and fog menu. Right click on the small triangle in the right hand corner of the sky and fog menu, and make sure that "Link Sun to View" is not checked.

You need to render six views of the sky to disk. You specify the view by entering Position, Rotation and FOV values in the Bryce camera dialog.

Double click on the camera trackball control to get this dialog.

In the dialog, FOV for each view is 112.5 degrees (The article in Gamasutra explains why).

Also, in the dialog the Position is the same for each of the views for this skybox set. A good position to start with is X=0, Y=1, Z=0.

The Rotate fields are different for each view. Use the Rotation values in the table below to create your bitmap files.

For each row in the table, first set the camera rotation via the camera dialog. Then, from the main menu bar, under the "File" option, choose "Render to disk...".

Accept the "Render to disk..." dialog which confirms output size as 512x512. Then, in the standard Windows dialog, enter the name of the bitmap file to create. The filename consists of a common "stem" for this sky plus an ending which indicates which face each bitmap texture belongs to.

All the bitmaps for a particular skybox must be created in the same folder.

Repeat this exercise for each of the six sky faces. Beware that rendering each face may take some time (so we should have put some advertising between the rows of the table!)

file name Rotation view displayed
sunset_fw.bmp X=0, Y=180, Z=0 box face ahead of the user
sunset_bk.bmp X=0, Y=0, Z=0 box face behind the user
sunset_rh.bmp X=0, Y=90, Z=0 box face to the user right
sunset_lf.bmp X=0, Y=-90, Z=0 box face to the user left
sunset_up.bmp X=-90, Y=90, Z=0 box face above user
sunset_dn.bmp X=90, Y=90, Z=0 box face below user

Once you have created these files, you need to perform some manual conversions on them.

Each of the ahead, behind, right and left images needs to be flipped horizontally for ROOMS. You can do this using the Windows Paint bitmap editor. Load each of the _fw.bmp _bk.bmp _rh.bmp and _lf.bmp images in turn into paint and select the Image->Flip/Rotate.. dialog. And click OK with flip horizontal checked and save the flipped image back to file.

For the up image, in the _up.bmp file, you need to first flip horizontal and second rotate by angle 270 degrees.

There are probably loads of other ways of doing this, but this recipe works.

If you are going to distribute your skybox, you may want to reduce the space taken up by the bitmap files. One way of doing this is to reduce each bitmap from 24 bit color to 8 bit color. This is likely to reduce image quality, but you may decide it is an acceptible loss. TIP: Use a "proper" graphics package to reduce image color depth. Do *not* use the Windows Paint program because it does a lousy job of it. Irfanview is good at this reduction.

5 - Loading the skybox into your world

There are two ways of incorporating the sky you have just created into a ROOMS world. You can use the property wizard or the room wizard. In each case you adjust the texture for the ceiling.

To use the property wizard you must be in a room with a ceiling. Right click anywhere and choose the design menu. Then right click on the ceiling and select the Property wizard. Go to the texture page and browse for the sky texture files you have just created. Click on any one of them. The preview thumbnail will load the sky and rotate it for you to see all the way round (note that the down view is omitted, but the file must be present).

Select the sky (click Open) and then click on the Advanced button. Click on "Convert to sky?". Click OK and complete the wizard session. The sky will be adopted.

Note that you cannot select the sky directly. To remove the sky, and revert to ceiling you need to use the room wizard.

To use the room wizard to create the sky, right click anywhere and select the Design Menu option. Then right click anywhere and select the "Current room..." option from the Design Menu.

The room wizard is launched. Proceed to page 4 of the room wizard and browse for the sky textures you just created. Select any one of the textures. The preview thumbnail will load the sky and rotate it for you to see all the way round (note that the down view is omitted, but the file must be present).

Select the sky (click Open) and then click on the Advanced button. Click on "Convert to sky?". Click OK and complete the wizard session. The sky will be adopted.

To remove the sky and revert to ceiling, or to change the sky, use the room wizard again and change your selection and make sure the "Convert to sky" advanced option is correct for your needs.

If you need any more information, please contact us.



ROOMS 3D Desktop sitemap
Jack Calverley: science fiction, crime, and mystery stories