Modelling

From FreeSpace Wiki
Revision as of 03:25, 17 September 2011 by Droid803 (talk | contribs) (Modelling basics: rinku)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Modelling basics

The community currently uses a wide range of modelling programs, from Blender to Lightwave to 3D Studio Max and others. Converters to the .POF format, as used by Freespace 2 is available via a plug in for 3D Studio Max or via the Pof Construction Suite program for .cob and .dae (OpenCollada) files. Any models to be made need to be converted to one of these formats. It is recommended to use Collada, as the 3D Studio Max plugin is prone to creating POFs with lighting and collision errors, while COBs tend to lack proper smoothing data.

Limits and Guidelines for Model Making

SCP Team Recommendations

The new HT&L (Hardware Transform and Lighting) feature of FreeSpace 2 SCP has allowed a vast increase in the number of polygons that can be displayed at any one time, however, in order to keep gameplay smooth, the SCP team recommends the following rules when making models for use in FreeSpace 2.

Textures :

1) Use as few textures per model as is possible, optimization is the key, for fighters and bombers you should only need a single 512 x 512 map for the model. Capital ships can use more textures, but the less textures and the less memory they take up, the better.
2) Unless it is absolutely vital, use the .DDS format for storing your images. These format files are compressed and are automatically decompressed by your video hardware, so they take up far less memory, thus improving performance. FreeSpace 2 also supports .TGA format files, but these should only be used where .DDS files are causing noticeable compression errors on your texture (this can happen most noticeably with semi-transparent textures). Although if DXT compression is giving problems it would be technically better to use uncompressed DDS files (u888 or u8888) rather than targa files, mainly because uncompressed DDS files can store mipmaps while TGA files can't.
3) For highly detailed ships, it is better, from a memory point of view, to use one large texture than several smaller ones.
4) Always use texture sizes that are a power of 2, i.e. 256, 512, 1024 or, at most, 4096. However, remember that older ATI cards can only use 2048² maps, thus it is recommended to use this as maximum. You can have different ratios, such as 512x256, but always use these sizes.

Models :

Remember that any Level of Detail models are going to be stored in memory, so use them sensibly. Freespace SCP now uses Mipmap technology, so you no longer need to create LODs for the textures, an old requirement of FreeSpace 2 modding. Whilst polygon count does not have as dramatic effect on performance as texture size does, it is, as always, best to optimize where possible.

Polygon Counts

Whilst there is no fixed limit to the number of polygons you can use on a model, and opinions vary from person to person, the writer finds the following approximate Polygon counts a good guide to work by.

Fighters/Bombers - Less than 6000 Polygons
Cruisers/Freighters - 6000-12000 Polygons
Corvettes - 14000-18000 Polygons
Destroyers - 20000-24000 Polygons
Juggernauts - 24000 Polygons upwards

Though this list should not, by any means, be used as a rule, different modders work to different guidelines.

Note that Detail box models should not be counted directly to the overall number of polygons.

Sub-Objects

The first thing that needs to be understood about FreeSpace models is the hierarchy they need to be placed in to make sure that conversion is a success. Each FreeSpace model is made up of several submodels (which can also use more than one material each) or groups. How these groups are arranged will directly affect how the final model works in-game. Don't panic, it's not as scary as it sounds.

The most important parts of your ship you need to make sure are at least one individual sub-objects are :

Main Hull The main 'Body' of the ship, will only explode when the ship is destroyed.
Turrets Any static or rotating turrets, rotating turrets need 2 sub-models. Different sub-object for each turret, e.g. Turret01, Turret02 etc. In the case of rotating turrets, I use Turret01-base and Turret01-arm etc.
Subsystems Destroyable sub-objects or any other eye-candy. These have the widest range of uses and feature in more advanced features. Different sub-object for each sub-system e.g. Radar01, Reactor01 etc.
Debris The wreckage of the ship released after it is destroyed. Different sub-object for each item of Debris, e.g. Debris01, Debris02 etc.
LODS The Level Of Detail models for the main Hull and for so-desired Turrets and/or Subsystems.

Some sub-models can be further enhanced using the SCP ships.tbl expansions such as Animation Code. Always bear in mind what you want your ship to do whilst you are modelling it.


In addition the the LODs, it is possible to add further detail models to you ship using the Detail box feature.

Subobject and subsystem properties

Turret setup


Update ongoing by Flipside