Terrains

This article by Graham Mills_2 was originally published in SOTK Newsletter 28th March 2016


Graham decided to learn a little more about OpenSim terrain by compiling this article from existing sources (gratefully acknowledged). It is not a comprehensive guide, more an overview. You are advised to backup any existing terrain before experimenting. Please share any tips or corrections on the Kitely forum or SOTK website.

Creative use of terrain allows you to introduce features such as beaches, rivers and mountains all the while subtly guiding the movement of visitors and progressively revealing viewpoints, caves, waterfalls and plantings. A suitably rendered landscape can form the basis for a storybuild which develops as the avatar explores or alternatively divide a world into themed areas for particular activities. Of course, it is usually desirable to restrict the ability to terraform and this option is on the World>Region details>Region tab in Firestorm.

OpenSim terrains can be sourced from Kitely Market or the web (SL terrains work as well), either as RAW textures or as part of OAR files. The former are uploaded via the World>Region details>Terrain dialog in Firestorm and complementary textures (e.g. sand, grass, rock, snow) are automagically mixed in according to height. For those with the necessary skill and patience inworld editing can be used to model the terrain (the range of brushes is extensible when working with Sim-on-a-Stick as described below). However, features with overhangs such as caves cannot be modelled this way (the underying heightmap can only accommodate one elevation value per metre) and are best implemented by importing suitable mesh, e.g. from Kitely Market or Outworldz.com.

  • Linda Kellie terrains: http://zadaroo.com/?page_id=1592
  • Minethere's terrains: http://minethere.blogspot.co.uk/2014/02/free-opensim-terrains.html
  • User Fritgern and others: http://opensimulator.org/wiki/User:Fritigern/SandBox
  • (Seanchai Mall will have links inworld to terrain files; Seanchai Library group membership normally required)

Another approach to creating terrains is to use an editor to create the RAW file which is a 13 channel texture in which the first three channels (values 0-255) are used to store height (red channel), a multiplier (blue) and the sea level (green; normally 20 m in Kitely and set in the client). The multiplier is applied as channel 1 * multiplier / 128 so the maximum height is 256 m. Note that very high mountains and steep slopes tend to look sub-optimal and imported mesh may be a better option. Again, Kitely Market has suitable products for cliffs and world surrounds.

While you can create, view and edit RAW files in various image editors (including plugins for The Gimp and Blender), the less artistically inclined can use a program such as L3DT or Terragen to generate semi-random terrain for subsequent modification.

  • L3DT standard: http://www.bundysoft.com/L3DT/downloads/standard.php
  • L3DT tutorial: http://opensimulator.org/wiki/Using_L3DT
  • Terragen 3: http://planetside.co.uk/products/download-terragen-3
  • Vanish's tutorial on using an earlier version of Terragen: https://web.archive.org/web/20130403031215/http://opensim-creations.com/2010/06/05/howto-create-megaregion-terrain-raw-files-for-second-life-and-opensim
  • Bailiwick (for editing channels): http://www.spinmass.com/Software/BailiwickInstruct.aspx
  • Tips: http://opensimulator.org/wiki/Tips#Terrain_Tidbits
  • More tips: http://wiki.secondlife.com/wiki/Tips_for_Creating_Heightfields_and_Details_on_Terrain_R AW_Files
  • Megaregion terrains: http://www.hypergridbusiness.com/2012/09/how-to-make-megaregionterrains/
  • Plugin for The Gimp: http://dominodesigns.info/project/gimpterrain
  • Blender (see also SL Primstar-2): http://blog.nalates.net/2011/10/09/opensim-terrain-tutorialvia-blender-part-1/
  • http://wiki.secondlife.com/wiki/Tips_for_Creating_Heightfields_and_Details_on_Terrain_R AW_Files

Note that some of these tutorials are old and software versions may have changed such that the instructions no longer apply. Moreover, many tools do not support varregions which in Kitely can extend the basic 256x256 m world to 512x512, 768x768 or even 1024x1024, i.e. a 4x4 varregion.

Kitely residents can use Kitely resizer to expand terrain to cover larger worlds https://www.kitely.com/virtual-world-news/2015/05/02/resize-kitely-worlds-using-agraphical-tool/

L3DT is relatively straightforward to use. A basic terrain can be created using either the designable map option or a Perlin noise algorithm. This can be edited in a 3D view and exported as a mesh, terragen, png or RAW file although the latter is not in a format suitable for uploading. Historically Bailiwick has been used in Windows to add the missing channel data OpenSim expects of a RAW file but the program is no longer maintained and is constrained to 256x256 m regions. The server-based Sim-on-a-Stick accepts png files but also defaults to a single region unless updated (see below). It will, however, load terragen format files.

2017-03-18_20-45-06.png
L3DT designable map imported into SoaS via console as terragen file

Terrain.Party If you want a real world terrain (albeit of limited resolution) then you can use the website terrain.party. This allows you to select a region on a world map; zoom in until the inner grid represents an 8 km square as shown by the label on the right. Then click the cloud icon to save, unzip the resulting file and use the MERGED png file in the next step. North-West Wales (Snowdonia and environs) is a useful source of mountainous terrain.

Open the file in the editor at pixlr.com. The 8 km region is represented by the 1081x1081 file so you require a 36 pixel square region for 1:1 correspondence with a single 256 m region. Select the crop tool (default), set Constraint to Aspect ratio and drag to select a 36 pixel square (width and height are shown in the Navigator). The selected area can then be dragged to encompass the appropriate area before the the cropped region is defined by clicking on the image. This can then be resized to a 256x256 using Image>Image size before saving in png format for uploading in Sim-on-a-Stick (see below).

More dramatic effects can often be obtained by using larger areas, indeed the entire 1081 square, compressing this down to a 256. Overly jagged peaks can be smoothed by applying a Gaussian blur value (under Filter; try 20-35). Adjustment>Levels can be used to modify the input and output range of heights.

  • http://terrain.party
  • https://pixlr.com/editor/

Sculpt previews If you want a sculpt-based preview of your world you can use Cool VL to make and texture terrain sculpts. http://sldev.free.fr/TerrainSculptor/index.html

Terraforming in Sim-on-a-Stick Sim-on-a-Stick (also known as SoaS) is a somewhat venerable version of OpenSim (8.0 postfixes). Once installed it is run offline (indeed, even from a USB stick) and can be a good choice for schools not wishing to use public grids. It can also be upgraded by following the instructions on the website and this will currently be required for full varregion support. To expand the default 256x256 m region, edit RegionConfig.ini in the bin/Regions folder by adding SizeX = 512 SizeY = 512 to the end of the first region definition (whose lines are not preceded by a semi-colon).

When the update has finished, first run MOWSE in the SoaS root folder and then opensim.exe from the diva-r25084/bin folder. There is a notecard explaining avatar login. Wait for the text-based console to load. Help is available by typing help all or, for our purposes, help terrain. Useful commands include:

  • terrain fill 21 (levels terrain at 1 m above default sea level)
  • terrain load fname (where fname is the name of a RAW, png, terragen or other format file in the bin folder; avoid spaces in fname or enclose in double quotes)
  • terrain save fname (save in RAW format for subsequent import into Kitely via the client; alternatively import as OAR)
  • terrain elevate 1.0 (raise terrain by 1 m)
  • terrain multiply 1.5 (multiply all height values by 1.5)
  • terrain effect ChannelDigger (creates 8x8 grid)
  • terrain newbrushes true (modifies final three brushes on inworld dialog to support erosion; useful for smoothing jagged contours; set to false to revert)

Note that SoaS also has commands to rotate, scale and translate all the objects in a sim (the scene). See help Objects.

  • http://simonastick.com/
  • Use in primary schools: https://sites.google.com/site/virtualworldsprimary/simonastick
  • Running SoaS on a Mac (by Dot): https://www.kitely.com/forums/viewtopic.php?f=10&t=2997&p=17749

Maperitive To make a low resolution mesh terrain of a real location together with an associated map texture:

  1. download and install Maperitive (PC only) from http://maperitive.net/
  2. locate the place you want to map (make it region-size or thereabouts, i.e. not countryregion or country size)
  3. choose Tools>Export To 3D and save the COLLADA/dae file
  4. import to Sketchup (formerly Google, now Trimble -- I used v8; you will get errors - just ignore them) and export in the same format
  5. upload the file to OpenSim. The mesh should appear in your inventory when upload is complete; you just need to rez it. The mesh will be large by default and most likely requires some expertise in order to cam and move it into position. The low-res textures are cc-by-sa OpenStreetMap Project.

Flattener This is one example of a scripted tool for inworld terraforming. It's especially useful when you want to flatten a small area at a specific height. https://www.kitely.com/market/product/3835590/Land-Flatterner