Custom Scenery Creation: Software


Table of Contents

1. Bitmap Editors
1.1. The Gimp
2. 3D Modellers
2.1. Anim8or
2.2. Blender
2.3. SketchUp
2.4. MilkShape
3. Other software and links
4. License/Credits

Coypright (C) 2007 Belgabor (main document) & LuckyGirl (indicated paragraph), some rights reserved (see below).

1. Bitmap Editors

1.1. The Gimp

Multi-platform open source image editor. Windows Version

  • Preparing textures found on the net:


    When you use a texture from the net, chances are that the pic is not scaled correctly. Go to ImageScale Image. Then simply click on the chain next to the picture size, which will disconnect the chain. This needs to be done, so that the pic won't be in due proportion to the original picture. Now you can scale it 128x128 etc.

    Once it is scaled, click on ImageModeIndexed. Index the picture with 256 colors.

    Now you can save the picture as a BMP file. Should it ask you to export, just go for it. Do not RLE encode it though, as this will give you the 8bpp error in the importer.



    Starting with version 1.2 of my modifications to jonwil's importer, it is no longer necessary to convert the image to indexed colors.

  • Recolorable Textures: A The Gimp version of the Photoshop palette file is available in this thread.

2. 3D Modellers

2.1. Anim8or

Free Windows 3D modeller. Available here. Tutorial. Similar to MilkShape (Section 2.4, “MilkShape).

2.2. Blender

Open source multi-platform 3D modeller. Available here. Beginner Tutorial, Lots of other more or less specialized tutorials.

Special custom scenery tutorial for Blender by yesmydear and the corresponding discussion thread.

Experimental builds can be found at Blender Builds.

  • Textures: Blender doesn't like the 8bpp bmp textures you need to use for the importer. It just doesn't load them without showing an error. I use a 24bpp png version for uv-mapping.


    Starting with version 1.2 of my modifications to jonwil's importer, you can directly use 24bpp PNG textures in the importer.

  • Exporting: I first used Wavefront OBJ as intermediate format as in my first experiments 3DS ate the normals. Don't forget to activate Normals export in the Wavefront export options. I also activate High Quality Normals, but I don't know if this has any effect for RCT3 import.

    Now I recommend using the ASE export plugin, which allows you to write the ASE format directly. (Note: v3 updated to have sensible default options for export for RCT3).

  • Automatic unwelding: Blenders latest 2.43 release candidates include the EdgeSplit modifier. This unwelds edges above a certain angle and therefore implements my recommendation automatically =)

    In the newest experimental builds you can fine-tune the result by marking edges as sharp (In Edit Mode select the edges, press Ctrl-E and select Mark Sharp). You will usually have to select multiple connected edges and mark them to get good results. These marked edges will always be unwelded.

    Make sure you either apply the modifier before export or activate the Apply modifiers export option in the ASE export filter.

  • Retopo: This is also a feature of the newest release candidates. I haven't tested this yet in detail, but I believe it may come handy in creating lower levels of detail. For more info read here and here.

2.3. SketchUp

Free/Commercial 3D modeller. Site. SketchUp comes in two versions, freeware (Google SketchUp, since version 6 free for any use) and pro (commercial with 8h demo available).


I recommend you to learn modelling on one of the other modellers to grasp the basics and get a feeling for the building blocks of 3D models for games. Once you can understand what you are creating on the basal level, SketchUp makes a wonderful fast&easy tool for CS creation.

Still keep the following potential fallacies in mind:

  • Before you start modelling in SketchUp, keep face count in mind. By default SketchUp uses (for most cases) too many faces for rounded surfaces. This can be easily adjusted using the VCB right after creating a circle or arc, but cannot be changed easily later!

  • Depending on how you create your model, SketchUp occasionally creates faces inside your model. Make sure you check the model for those and remove them before export. X-Ray display mode and Section Planes are good tools for this job.

  • Do not rely on the face count in the Model Statistics window! SketchUp uses faces with more than three vertices that will be converted to triangular faces on export. Depending on your model the relevant number of (triangular) faces will likely be double or even more than triple the number you see in the statistics! Starting with version 0.3 of my export script, the number of triangular faces for each ASE mesh will be shown on export.

For guidelines refer to the “Keep number of faces as low as possible” point of section 1.2 of the beginner's guide.

For information on how to modify the number of sides (circles or polygons) or segments (arcs) using the VCB refer to the respective tool description in the SketchUp 5 online help. The SketchUp 6 online help is available from SketchUp's Help menu.

I did a short test and I was really impressed by the ease of working with this, at least for architectural type scenery. Like I said, it was just a short test, but I suspect you won't get happy creating organic shapes (at least it seems to be not easier than in other apps).

I found a library full of Ruby scripts for SketchUp. Unfortunately most links of the metric page are broken due to an error in the URL (“\” instead of “/”). To download them anyways, open them in a new window and replace “%5C” in the URL with a forward slash “/”.

You can also find interesting scripts in the SketchUp Ruby forum.

As I'm a freeware fan (who isn't?) I'll describe how to use Google SketchUp (GS) for custom scenery. People (including myself) have said that this is impossible, but that is only partly true. It is impossible to import from GS with all the textures and colors, but you can use the 3D model in other modellers. Here's how:

2.3.1. Using Blender

  • Get Blender (Section 2.2, “Blender)

  • Get the KMZ import plugin and install it (see Blender docs). It seems to be still in active development (being improved as it already works =) ), so it might be worthwhile to check the corresponding thread on now and then.

  • Have fun creating your object in SketchUp.


    The scale for the Blender import plugin differs from what I said on the facts & figures page. You have to use 1 m (meter) for one unit!

  • Export.


    Export as simple KMZ, NOT as Google Earth 4 KMZ!

  • Import into Blender.

  • It might be necessary to fix the normals. (Edit Mode, MeshNormalsRecalculate Outside or press Ctrl-N)

  • Either continue editing (last touches & uv-mapping) in Blender or export to your format of choice.

2.3.2. Direct ASE export

I've now written a Ruby script that allows you to export ASE files from SketchUp. I've only tested it with Google SketchUp, so I don't know if it works with Pro. Installation

Download the SketchUp ASE export script (v0.4) and extract the ZIP to <SketchUp install folder>/Plugins. You need to restart SketchUp if you have it running. Usage
  • You need to set SketchUp to use meters. 1 m = 1 u.

  • Use groups or component instances for “meshes” in the RCT3 Importer. All ungrouped objects are put into one mesh called “Ungrouped”. Only top level groups or component instances are used, contianed groups go into the same mesh.

    Things with the same name will be put into the same mesh.

  • Component instances have two names, the component name and the instance name. The latter is used.

    When you create a component, you set the component name, so you'll have to set the instance name in the Entity Info window.

  • You need to map a bitmap texture to get a working uv-mapping, basic colours will NOT work. To make sure, select and right-click a textured face. If there is a menu item called Texture in the context menu, it should be a bitmap texture.

    I recommend not to use the bitmap textures SketchUp comes with. For once I have no idea what kind of copyright comes with them (so at least don't use them for your model). On the other hand several of them are not square and I'm pretty sure many of you will get unexpected results if you map those. Gist: just use your own textures =)

  • Construction points can be used as single vertex meshes for effect points.

  • Text can be used for single vertex meshes. New in v0.4, only works in SketchUp 6.

  • Use SketchUp's smoothing function to weld/unweld edges.

  • Use PluginsASE ExporterExport to export to ASE. Important release notes
  • v0.4: Texture coordinates were exported wrong in previous versions (textures appeared upside-down). This is fixed in this release. Current shortcomings
  • If you import the model in an other application it will turn up completely unwelded (It will be correctly welded/unwelded if used directly in the RCT3 Importer).

  • The UV-mapping is often outside normal texture space. This works, but is inconvenient to work with in other modellers. Supplementary script for RCT3

I've created a supplementary script for the creation of custom scenery called rct3.rb (v0.2). To work it needs at least version 0.2 of the export script and the parametric script from the official SketchUp page (Downloads->Ruby Scripts).


  • Add construction lines for the different RCT3 placement options. Diagonal lines indicate in which direction your object should point or on which side a wall should be put.

  • Parametric objects for (so far) walls and corners. These are groups with special properties, ie you can change the size values in the context menu as long as you don't explode them.


    If you change these values in the context menu, the object will be recreated. All changes that you did inside the group (most likely fine tuning of the texture mapping) will be lost!

    I recommend you explode and regroup when you're satisfied with the size.

  • You can name construction points in the context menu. This will transfer to the name of the one-vertex mesh in the Importer.

  • You can edit and move the target of SketchUp Texts (does not seem to be possible with SketchUp's internal tools). New in v0.2, only works in SketchUp 6. Only makes sense with export script v0.4 or later. Reporting bugs


I will only answer to useful bug reports. “It doesn't work!” without detail information is not a useful bug report.

  • Report bugs here.

  • The script pops up a success message when it finishes. If this doesn't happen, something went wrong.

  • To find out what went wrong, open the Ruby console (WindowRuby Console) and export again. Post the error message in the bug report.

  • Always say which version of the script you used (PluginsASE ExporterAbout SU2ASE).

2.3.3. Other useful stuff

  • Spheres. Blender's icospheres for SketchUp. The ZIP includes three models of 1 to 3 iteration icospheres (20, 80 and 320 faces). They have less faces than a comparably round spere created in SketchUp. The models are both in SKP (1m diameter) and 3DS (2u diameter) format.

2.4. MilkShape

Shareware Windows 3D modeller. Download & Tutorial. Link to lots of tutorials posted by Vodhin.

3. Other software and links

  • Custom Scenery Importer - If you don't know what that is, you're wrong here :P

  • Biturn - 3D model converter. Necessary if your modeller can't export ASE files.

  • Elefont - Create 3D text from true type fonts.

  • Spiralizer - Create seashell-like 3D spirals.

  • Spiral Graphics - Texture software. Their main product (Genetica) costs some money, but their freebies (Wood Workshop and the Genetica Viewer) are pretty useful. They offer free texture packs (two last time I looked) for use with the Genetica Viewer.

  • More links to tutorials in rctmaniacs post.

4. License/Credits