Getting Started with your Sky
When designing a level with Wall Worm, it is important to realize that you can start the 2d/3d sky process from the very beginning. You can (and maybe should) think of your 3D Sky from the very moment you start setting down your actual level layout. In fact, with Wall Worm, you design your 3D Skybox at scale as part of your level as if it were simply part of the playable level. It will remain at scale as a normal aspect of your level (that players can't get to).
This concept is very important, and goes against the traditional way of building 3D Skyboxes in Source inside Hammer. But it is vital to understand this approach.
To make the process most efficient, you may want to follow these tips.
- Make three layers in Max: Layout, 3D Sky and Sky Writer.
- Design the playable area inside the Layout layer.
- Design the 3D Skybox layout in the 3D Sky layer.
- Design your renderable sky objects in the Sky Writer layer.
These layers and conventions are not required for making your skies. But they are helpful in organizing your scene and understanding how the system works. If you keep this convention, then you can hide the 3D Sky objects conveniently by hiding that single layer, for example. (You may choose to use even more layers in your scene but it is probably best to at least use one layer for the 3D Sky and one for Sky Writer.)
It is important to note that the objects in the Sky Writer layer are never going to be exported in the game (or shouldn't be, at least), as the purpose of that layer is to simply build terrain, oceans, skies, etc that are even beyond the 3D Skybox. The objects in the Sky Writer layer do not have restrictions on texture sizes, poly count, etc as the net result is that the objects in that layer are going to be rendered as a sky texture.
Hopefully you are starting to get a feeling for how convenient this setup is for you. It is very easy to build a cohesive environment in this fashion because the playable area, 3D skybox and rendered sky are all designed in place, right along each other.
As soon as you want to start thinking about lighting your sky, you can add one of the following types of lights to your scene:
- mr Sun
- Daylight System
- Sunlight System
- Free Direct
- Target Direct
- Dreamscape Sun
Any one of these lights will export as a light_environment entity driven by the parameters in the light object. This light should be added to the Layout layer (or other layer for entities, etc), and the earlier you add it to the scene the earlier you can get a sense of the scene lighting/shadows in the Max viewport and the sooner you can render out your sky.
Because your primary light source (Sun, etc) is being used for both the level lighting and the sky writer render, your sky and lighting will always make sense. In other words, you won't have to worry about aligning the angle of your sun to the predefined angle that you generally get when using stock skies or making the sky the old fashioned way.
- If working with a team, you may actually have all the Sky Writer level in a separate Max file where the main level and Sky Writer files are interlinked as XRef Scenes. This allows the landscape artist to design potentially expansive extended environments that do not necessarily baloon the level's file size and can be worked on independently and in tandem.
The same principles of sealing your scene (and 3D Skybox) with brush geometry applies to Wall Worm as it does in Hammer. You may want to seal your playable area first. Then freeze your Layout layer (via the freeze button in the layer manager) to make it obvious what objects are playable and what are in the 3D skybox. Finally, switch the active layer to the 3D Skybox layer and design your layout.
When making your layout, remember to turn on Grid Snapping in Max. You may want to consider purchasing the CorVex plugin developed by Wall Worm as it makes the blocking and layout stage quicker. The boundary of your 3D Skybox should be composed of brush geometry that has a material named "tools/toolsskybox". Simply making a blue Standard material and naming it this will be good enough. Use this same material on brush geometry in the Layout layer that should see any of the 3D Sky or the Sky Writer layer.
- Remember, again, that the level cannot have a leak in the Layout layer or the 3D Skybox layer. Depending on the version of Source and various compile parameters, trying to export and compile a level with a leak will either create bad lighting, bad sky effects and/or compile failure. If you do not fully understand this principle, you should learn about leaks here. https://developer.valvesoftware.com/wiki/Leak Being meticulous with the layout will help you avoid leaks, but if you do create one, you can load the leak file in Max under Wall Worm > Wall Worm Level Design > Wall Worm Map Compile Tools > Load Leak File.