Skybox (2D) with Terragen

From Valve Developer Community
Jump to: navigation, search
English (en)Français (fr)
Edit

Terragen is a freeware scenery generator which can be used to create 2D skyboxes. The freeware version has a limitation that effectively limits the texture dimensions of the skybox to 960, so it can only really be used for skies at 512x512. If Terragen is registered for $99 (US), the size limitation is removed, so skies at 1024x1024 could potentially be rendered.

This tutorial will explain how to use a scene in Terragen to create a 2D skybox that can be used in Hammer.

Creating the Scene

Terragen can be downloaded here.

Terragen takes a little bit of practice to get the hang of. There are many websites that can teach you the basics. Here are some good ones:

Create your scene and save it. The camera position doesn't matter for now. Terragen can render realistic land if you're very skilled. In source engine games making terrain is not recommended for a 2D skybox, since Source has 3D skyboxes; however, it can often be a good idea to use the tool to create a downwards facing texture to use on a displacement map in your skybox, like de_inferno in CSS. Removing FOV distortion can be a pain, but its not entirely necessary.

Set up the Script

The skybox requires six images to be rendered. This script will automate the creation of all six so you do not have to repeatedly come back to your computer and readjust the camera after each render.

Use Notepad to save the following script as skyboxscript.tgs. It can be saved anywhere.

initanim "C:\output\sky_testft", 1

;_ft
Zoom 1.0
CamH 0
CamP 0
CamB 0
frend

initanim "C:\output\sky_testlf", 1

;_lf
Zoom 1.0
CamH 90
CamP 0
CamB 0
frend

initanim "C:\output\sky_testup", 1

;_up
Zoom 1.0
CamH 270
CamP 90
CamB 0
frend

initanim "C:\output\sky_testbk", 1

;_bk
Zoom 1.0
CamH 180
CamP 0
CamB 0
frend

initanim "C:\output\sky_testrt", 1

;_rt
Zoom 1.0
CamH 270
CamP 0
CamB 0
frend

initanim "C:\output\sky_testdn", 1

;_dn
Zoom 1.0
CamH 270
CamP -90
CamB 0
frend
Note.pngNote:You actually have to make sure that the script is saved using DOS line endings (ANSI encoding) or else Terragen will not process it and immediately tell you End of script without any action. You can make sure this is done by changing UTF-8 to ANSI in Notepad's Save As dialog.

Render the Skybox

1. Now, in Terragen, uncheck both of the Fixed Height Above Surface boxes in the Rendering Control window. Place your Terragen camera where you want the viewpoint of the skybox to be. What's important here is the Camera Position. The Camera Orientation doesn't matter. Note that changing the height can affect the appearance of the clouds even though the horizon is always in the same location.

Terrastep1.jpg

2. Set the detail all the way up in the Rendering Control window. Set the width and height both to 512. This is the best you can do with the freeware version. If you have registered Terragen, set them both to 1024.

Tip.pngTip:For a softer image and better antialiasing, set both dimensions to 960, then downscale the results to 512 in a image editor.
Terrastep2.jpg

3. You should double check that you did the first two steps right so you don't waste a lot of time. Now, choose Execute Script... from the Terragen menu, and choose the file skyboxscript.tgs that you created earlier. Now the rendering will commence. It may take a couple of hours or more. Call someone you love.

4. When the rendering is complete, a dialog will pop up saying the script is complete. Quit Terragen.

Get the Textures Ready

Now, if you open up the C: drive, you'll see six new BMP files. Rename them as follows, where xxxx is whatever you want to name your sky:

Original filename Change to
skyrender0001.bmp xxxxft.bmp
skyrender0002.bmp xxxxlf.bmp
skyrender0003.bmp xxxxup.bmp
skyrender0004.bmp xxxxbk.bmp
skyrender0005.bmp xxxxrt.bmp
skyrender0006.bmp xxxxdn.bmp

Use Photoshop or PaintShopPro to save them as TGA files into ...sourcesdk_content/materialsrc/skybox. Create the folder if you have to. Then drag the six TGAs onto Vtex to create your VTFs.

Create the VMTs

Head over to your new VTFs. They'll be in ...materials/skybox for whichever game you're editing. Now create six VMTs with the same names as the VTFs using this format:

"UnlitGeneric"
{
    "$basetexture" "skybox/xxxxbk"
    "$nofog" 1
    "$ignorez" 1
}

Where xxxx represents the name of your sky. For each of the six VMTs, change that bk to the appropriate suffix to match its filename.

Completion

The skybox is complete. To use it in Hammer, go to Map properties... in the Map menu and change the skybox entry to xxxx, where xxxx represents the name you chose for your sky.

Environment articles:
Skies and environment maps Skybox (2D)Skybox (3D)HDR SkiesSkybox with TerragenSkybox with Terragen - AdvancedList of skies
Terrain and displacement mapping DisplacementsCreating Holes in DisplacementsDigital Elevation ModelsCreating custom terrain with Worldmachine
ViewDiscussEdit templatePurge Source Third Party Source SDK tools
Mod tools DuctTape • VIDE VIDEXBLAH's Modding Tool XBLAH's Modding Tool
Map editors Hammer++ Hammer++
Map compilers Batch Compile Tool Batch Compile Tool • Batch Compiler Batch Compiler • Compile Pal Compile Pal • CSTBSP • CSTRAD • CSTVIS • Hazard Team Compile Tool Hazard Team Compile Tool • VBSP_h4xed
Map converters BSPSource BSPSource • 005 Decompiler 005 DecompilerMapFool • VMEX
Map tools AutoBSPpackingTool • BSP Viewer → Crafty • EntEd • Entspy • JERC • Map Analyst • Material Enumerator • Map Obfuscator • Pakrat • Source Compile Analyzer • TAR • TeamSpen's Hammer Addons TeamSpen's Hammer Addons • Vgroup • WinBSPZip
Model compilers GUIStudioMDL • Source Model Compiler
Model converters Crowbar Crowbar • FireSoft Half-Life MDL Converter • FireSoft MS3D to SMD converter • MDLDecompiler • Propper • Studiocompiler • VMF to SMD
Model tools 3Dcoat • 3DS Max • Blender Blender • Cinema 4D • fragMOTION • GMax • HLMV++ HLMV++ • kHED • Lightwave • Maya • MilkShape 3D • Modo • SourceOps • VSIF2VCD • Wings3D • XSI Mod Tool • Zbrush
Displacement tools DispGen • Twister • Worldmachine
Particle converters Sparc
Texture converters 360g • FixVTF • no_vtf • TGAtoDUDV • VTF Creator • VTFVer
Texture tools Adobe Photoshop Adobe PhotoshopGIMP GIMP • HL2Tex • Sign Maker • Sky Writer • Source model skin editor • Terragen • VMT Editor • VTF Explorer • VTF Shell Extensions • VTFCmd • VTFEdit VTFEditVTFEdit Reloaded VTFEdit Reloaded • VTFTool
Sound tools L4D2 Sound Mod Creator
VPK tools GCFScape GCFScape • Gibbed’s VPK Extractor • Source 2 Viewer Source 2 Viewer • VPKEdit VPKEdit
Libraries AVIKit • HLLib • VectorLib • VTFLib • VPKEdit VPKEdit
Plugins 3DSMax tools • 3DSMax VTF • Blender Source Tools Blender Source Tools • Blender VertexLitGeneric • MESA • Notepad++ VDF languages • Photoshop VTF • SourceIO • SourceMod • Wall Worm Model Tools
Other BEE2 • CtxConverter • Custom Compiler GUI • sis_ico.png Source Icon Set • Source SDK Windows Gadget • SteamCMDui • VGUI Localization Tool • VirtualDub