Difference between revisions of "Modelling"

From FreeSpace Wiki
Jump to: navigation, search
(Polygon Counts)
m (Modelling basics: rinku)
 
(27 intermediate revisions by 8 users not shown)
Line 1: Line 1:
=Modelling basics=
+
==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 (Truespace) files. Any models to be made need to be converted to one of these two formats.
+
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 ([[Collada_Importer|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==
 
==Limits and Guidelines for Model Making==
 
===SCP Team Recommendations===
 
===SCP Team Recommendations===
The new HT&L 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.
+
The new HT&L ('''H'''ardware '''T'''ransform and '''L'''ighting) 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 :-'''
+
'''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.
+
: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.
+
: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.
+
: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, 2048. You can have different ratios, such as 512x256, but always use these sizes.
+
: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 :-'''
+
'''Models :'''
  
Remember that any Level of Detail models are going to be stored in memory, so use them sensibly. With the new HT&L optimizations, I tend to use 3 main levels of detail on my ships, full detail, medium detail and low-detail. Remember that Freespace SCP now uses Mipmap technology, so you no longer need to create LOD’s 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.
+
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.
 
 
===Texture naming conventions===
 
Whilst the textures on your models can be called anything, there are certain naming conventions in creating effects textures such as glow-maps or specularity, basically the naming convention works as follows.
 
 
 
TextureName.xxx – This is the colour map for the material. It should be mapped out to the models UV Map. This can use an alpha map for transparency.
 
 
 
TextureName''-glow''.xxx – This is the glow map for the model. It simulates the effect of ‘portholes’ or other glowing part of the ship. Using the same UV Map, and a black background, make any flat lighting effects you want on the ship on this texture. These are different from Glow-points, which are points on the model and are covered later.
 
 
 
TextureName''-shine''.xxx – This is the Specular map of the model, once again using the UV’s for the model, colour in all the parts of the surface which are metallic, using whatever colour you want the shininess to be. The brighter the colour, the shinier it will be.
 
'''NOTE:''' Shine maps can also have an alpha map. This alpha map is used to define the level of ‘reflection’ when environment mapping is operating.
 
  
 
===Polygon Counts===
 
===Polygon Counts===
Line 34: Line 24:
 
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.
 
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 -      800-1200 Polygons  
+
:'''Fighters/Bombers''' -      Less than 6000 Polygons  
  
Cruisers/Freighters -  3000-6000 Polygons
+
:'''Cruisers/Freighters''' 6000-12000 Polygons
  
Corvettes -            7000-9000 Polygons
+
:'''Corvettes''' -            14000-18000 Polygons
  
Destroyers -            10000-12000 Polygons
+
:'''Destroyers''' -            20000-24000 Polygons
  
Juggernauts -          12000 Polygons upwards
+
:'''Juggernauts''' -          24000 Polygons upwards
  
 
Though this list should not, by any means, be used as a rule, different modders work to different guidelines.
 
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==
 
==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 sub models (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 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-onjects are :-
+
The most important parts of your ship you need to make sure are at least one individual sub-objects are :
  
 
{|
 
{|
Line 62: Line 54:
 
| '''LODS''' || The Level Of Detail models for the main Hull and for so-desired Turrets and/or Subsystems.
 
| '''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]]===
 +
 +
[[Category:Modding]]
 +
 +
 +
''Update ongoing by Flipside''

Latest revision as of 03:25, 17 September 2011

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