# Trainz/Software Used for Content Creation

In Trainz, content creation refers to the creation of content, or assets, that can be used in-game. Assets may be 3D objects such as buildings, trees, tracks or rolling stock; they may be driver sessions, rules or scenarios; or they may be routes that may incorporate many different model or non-model assets. This article is concerned with the creation of 3D objects since the creation of other assets is discussed elsewhere in this wikibook.
* The distinction between 'content' and 'assets' is contextual and indistinct in discussion or prose usages.
* Technically, oontent is an asset in a container which contain parts or elements—data definitions of a proscribed sub-data type) defining something important (attributes), but in Trainz, the highest level container is one's own Trainz data base managed by the software suite.
* The biggest container in Trainz is the Download Station the next your Content Manager managed database, the Virtual model railroad world building and manager Trainz Surveyor GUI which defines the content in routes (or layouts) and Sessions (or the older, rarer Trainz Scenarios).
* Hence one speaks of downloading or upgrading or modifying or fixing (possibly new or old or imported or exported) 'assets' or 'content pretty much interchangeably.
* Routes (Virtual model railroading and layouts (The historical name used in Physical Model Railroading parlance) is an example of another pair of terms used interchangeably in Trainz forums (There are several such formed by sub-groups of the world-wide Trainz communities).

## 3D Models in Trainz

3D objects are sometimes called 3D models. Generally they consist of two main components:
* The Polygon mesh (or just mesh), which is a 3D wire_frame model of the surfact or visible parts of the modeled object. The mesh is usually comprised of many faces, or polygons, the most common being of triangles, for any larger polygon can be mathematically broken into triangles.
* Textures, which are 2D images applied to the faces of the mesh. By changing a texture file an object's mesh remains the same but its appearance can change drastically.
The mesh gives an object its shape whereas the textures define its appearance.
This thread has many useful tutorials listed.
http://forums.auran.com/trainz/showthread.php?t=3345&highlight=tutorials

## Software for Trainz mesh creation

Generally complicated 3D modeling software application with an exporting ability compatible with Trainz is required in order to create 3D objects for Trainz. Currently, a number of different software packages are available:
* 3D Canvas (commercial software). The Pro version is required for the Trainz exporter. The exporter supports one of two more functions than the official gmax exporter. Not officially supported by Auran.
* Autodesk 3ds Max (commercial software). It is expensive and sophisticated but there is a new beta exporter for version 9 currently being developed. Already available is an exporter available for versions 4 to 6.
* Blender (open-source freeware). It is very sophisticated and offers more capabilities than gmax (for example, the ability to do texture baking and ambient occlusion). Blender has a very large and varied user base, and there are many tutorials online. One of the better online communities is BlenderArtists.org. Recently, an open-source Trainz exporter has been developed for Blender (currently Windows only). Blender is not officially supported by Auran.
* gmax (freeware). gmax is essentially the freeware, "lite" version of 3ds Max, and as such many advanced features are removed. It is still available to download from Turbosquid but further development of the software is discontinuied. Auran used to maintain the Trainz Content Creation Pack plugin for gmax, which enables export of gmax models for Trainz. Paul Hobbs discusses configuring gmax for Trainz here. Turbosquid maintain a gmax support forum here. There are many gmax modelling tutorials online.
* Google SketchUp (freeware; SketchUp Pro is payware). An unofficial Trainz exporter is in development.

## Reskinning

Reskinning is the act of applying a different texture to the mesh of an existing 3D model. The simplest method is to reskin another content creator's mesh but you will need permission from the original creator to publish the reskinned model.

### Obsolete software

* Trainz PaintShed (obsolete). Auran used to bundle the PaintShed software with versions of Trainz up to TRS2006. PaintShed was an early attempt to help people create content without having to purchase additional software, but is now obsolete. PaintShed allowed a limited number of reskinning options to be applied to some of the built-in rolling stock meshes. It was an excellent introduction to reskinning for anyone unfamiliar with the process. No permission was required to reskin models in PaintShed provided the reskinned models were for your own use.

### Conventional graphics software

For more conventional reskinning, you need to be able to edit a 3D object's texture files. These are normally .tga files but they can be .bmp or .tif files. .jpg files should never be used. Note to edit a .texture file you need TGAtool2 to extract the textures or see page 193 of the Trainz Classics Content Creation Guide for an explanation of how to edit these files.
A number of software packages are available:
* Adobe Photoshop (commercial).
* Corel PaintShop Pro (commercial).
* GIMP (open-source freeware). GIMP has about the best lettering capabilities of any graphics program. You can use the eye dropper to select the letterings colour then change the font size and the text changes it's size on the image, use M for move to move the lettering but select move the active layer so it just moves the lettering. When you save the .tga with GIMP make sure you save it without RLE compression and alpha channel. Gimp adds alpha channel when you add a second layer. To remove it, layer, transparency, remove alpha channel.
* Irfanview (highly rated, widely used freeware) primarily designed for graphics artist tasks, Irfanview contains a powerful thumbs viewer in the basic download (great for selecting assets from an asset library of screeenshots) and handles just about every graphics file and video type known in computing. With a powerful suite of plugins, the popular package also will handle audio files and has paint capabilities.
   * A must have for resizing, cropping and enhancing image quality, or to translate one image type to another with selectable degrees of compression standards. In Trainz where the preferred images are the true color video industry 'Truevision TGA type formatted files, by far the best manager and tool for manipulating Texture files in the TGA file formats.
   * Correct or auto-correct photo imagery by adjusting gamma, color balance, contrast, sharpness and other such factors. Turn dark views into useable images, etc. Crop, resize and best of all, move and or rename with hotkeys. A five start image manager and photo processing application. The author makes his living in the graphics business and it shows.
* Microsoft Paint (included with the Windows operating system). Microsoft Paint can be used to edit *.bmp, *.jpg, *.png files but not .tga files directly. Use together with Irfanview which also makes a great thumbs display or image browsing and processing pair.
* Paint.NET (freeware). A recent but powerful relcase that is another modern day open source collaboration like notepad++, GIMP, and open office. The second generation of this powerful package reached beta testing in 2013 and the reviews have been great.
Many content creators prefer to use commercial products such as PaintShop Pro or Photoshop for additional functionality and ease of use. PaintShop Pro being less expensive has a larger following in the forums. The PaintShop PhotoPro XI version or later has useful tools for colour changing which makes using black and white photos as coloured textures much easier and can be found on eBay for a reasonable price.

## Resources

It is possible to convert Gmax meshes to other software. http://panda3d.org/wiki/index.php/Converting_from_GMax http://www.katsbits.com/htm/tutorials/gmax_exporting-models-obj.htm
A very useful set of links to tutorials on Gmax and other aspects of content creation can be found on Auran's web site at http://www.auran.com/TRS2004/learning_f.php
The Auran XML importer, needed for Blender etc. http://online.ts2009.com/mediaWiki/index.php5/Downloads then download Trainzimporter.rar