Skybox Tutorial

From BiaSDK
Jump to: navigation, search

Instead of systems like 3ds max and other 3d software, the biaed starts from the principle that the whole space is solid. The idea is to make a hole in that space, in which you can build your level. That's called extracting a room. There's enough tutorials around telling you how you can do that :)

Normally I start off by extracting my room and work on basic layout stuff etc.

88 1.jpg

The pic above just shows an extracted room with the default texture in the sdk. You can determine the size of the room by right clicking on the green cube you see at the top left of the picture. After setting the size (which is shown by red lines)

Once I'm satisfied with that I start thinking of the skybox. For the sake of the tutorial i'll just skip the making of the level (loads and loads to be said about that too). The skybox is basically an entire new room, next to the one you made for the level. so go ahead and extract a new room, and make it as big as you think your environment will be. Yea that's right, you'll be putting the entire surrounding mesh into that room.

You can find some examples of the environments in the gbx static mesh files. If you browse through them, you can see that each level has it's own static mesh file, in which there's a huge static mesh with the surrounding land and trees etc, used in the skybox. Opening a default level will show that to you too. In this case, i used the s_map_d3_0900_buyingthefarm.usx file. Like you can see, the environment mesh is huge!

89 2.jpg

So you need a huge room to put that mesh in. I typically put the mesh in the editor and build a room around it that is large enough.

90 3.jpg

Above you see the top down view of the map in wireframe. you can see in green the surrounding mesh and in red line the room i extracted. just right at the bottom you see a small brown spot, which is the actual level i substracted.

The second step is to find the skydome object. It should be located in the static mesh file called "s_sky" . You will see two of them, you should take the one that looks like half a ball.

This object starts out very small, it's a dome shaped mesh that can be used in your skybox. Using object properties you can change the size of teh dome to fit your environment mesh. On the pic you can see i changed the Draw Scale 3 D to be 1250 times the original size. You can do this with every static mesh btw.

I changed every axis value this time (X, Y, Z) but you can use the option above that to change them equally with one value (instead of the XYZ values, just change Drawscale (red dot) to 1100 (like in my example) then.

other options that need to be changed in order for your skydome mesh to act like it should ingame:

bOpaqueForsituationalAwarenessview - True Special Sort - SS_Skydome (this is not shown on the screenshot, it's at the bottom of the list)

especially the last one is important, if you dont init this setting your skydome will act weird (show up in front of your outer area mesh instead of behind it)

91 4.jpg

Now go into the textures browser and look for a decent sky texture. You will see in the description that there are two sorts of sky textures. Be sure to use one that has "[1 Pass]" in it's name, and NOT "RGBA 8". If you use one that has RGBA 8 it will create a weird circle in the top of the skydome.

While you have one texture selected, go into the properties of the skydome again and use the texture on the skydome. To do this, find the option 'Skin' under the Display rollout and click "add", then a new line appears and you click "use" as in use the selected texture. You will see the name and path of the sky texture apear in the box after you clicked "use".

92 5.jpg

The next step is adding an actor. You can browse through the actors by clicking the little chesspawn button at the top of the screen. Look for the actor called Parallax Sky Zone Info and place it right where you imagine the center of your level will be in your environment mesh.

93 6.jpg

Your skybox is basically done. Now you need to finish it off by having the walls of the actual level show what the parallaxskyzoneinfo actor sees. You see, the info actor is a camera. It records and projects what it sees onto the walls of a room that have been set to show what the actor sees (quite complicated sentence). Select all the walls of the room you made for the actual level, and go to properties.

94 7.jpg

There you can select "backdrop" - do so.

95 8.jpg

The actor is sort of a camera, like said before. But, a camera can't see anything without a light. so go ahead and make a light in the skydome room. place it somewhere high and in the properties window you can click on "lightcolor". You can set the strength of the light there. Default is 64, i set it to 128 in my sample map.

Before proceeding, you need to build the lights. Click the lightbulb icon at the top of the screen.

Now the walls will reflect what the camera of the parallaxskyzoneinfo actor sees on the walls. To check if you did it right, click on the 'build all' icon (which looks like a light bulb with a cube next to it). Then, right click on the viewport options bar and select "show backdrop" (shortcut key = k)

96 9.jpg

If all went well, your room will disappear and the walls will show what the parallaxskyzoneinfo actor sees.

The skybox mesh doesn't reflect the light right away. There's another setting you need to change, and you'll have to do this often for static meshes or other stuff that appears black in the editor.

In the properties rollout, you can see "Ambient color". Click on the plus sign next to it. You can set the volume of light reflection of an object by draging the Ambient Brightness slider more to the right.

97 10.jpg

Happy mapping !

Back to Main Page