Difference between revisions of "Modelling"

From FreeSpace Wiki
Jump to: navigation, search
m (Modelling basics: rinku)
 
(44 intermediate revisions by 8 users not shown)
Line 1: Line 1:
=Modelling basics=
+
==Modelling basics==
<i>What modelling program(s) do the community use? </i>
+
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.
See [[#Programs]].
 
  
<i>Which one do you recommend?</i>
+
==Limits and Guidelines for Model Making==
It depends on which program do you get used to the best. You may try as many as you can, so you could see which one better fits your preferences. Some say [[TrueSpace]] is simple but sometimes annoying. What is sure you will need it to set the hierarchy using this program.
+
===SCP Team Recommendations===
+
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.
<i>What does a FreeSpace model consist of? </i> <br>
 
Your FreeSpace model must have one main body, which is basically the ship itself, other subobjects must be turrets or radar dishes. Your model must consist of at least two subobjects, which must be grouped together. If your model consists of only one subobject, you can add a local light and group the two. <br>
 
A turret and a radar dish has to grouped together, too. See [[#Default Hierarchy]].
 
  
==Default Hierarchy==
+
'''Textures :'''
===One-part turret===
 
A one-part turret is basically only one subobject, with a local light grouped to the turret mesh. The local light is the point where the weapon projectile will appear when the turret fires, so set it to an ideal place. <br>
 
http://freespaceserver.cjb.net/topace/wiki/turrethrc.jpg
 
===Multi-part turret===
 
Multi-part turrets are hard to do for the first sight, but in realty, you won't find it difficult if you follow each step exactly and precisely.
 
First, draw the turret, with the barrels. Set everything into its prefered condition, then set the angle of the turret base, then move it to the bottom of the turret base. Then do the same with all the barrels(set the axes' position to the bottom of each barrel). Only after you have set all the axes to the appropriate position, you can glue the parts, accordingly to the image. <br>
 
http://freespaceserver.cjb.net/topace/wiki/mparthrc.jpg
 
===Radar dish===
 
Radar Dishes are rotating sub-models on large capital ships which will permanently rotate unless the subsystem is destroyed. They are one of Freespace's many eye-candy features.
 
===Level of Distance (LOD)===
 
Level of Distance (or Detail) models are progressively lower polygon versions of the same model which are used at increasing distances. This mean that when a model is only a tiny 'dot' in the background, the game engine is only rendering a few polygons for it instead of trying to compute values for the highest-detail model every frame. LOD levels are created during the modelling stage alongside the main model and converted into the Freespace 2 .POF format files by programs such as Pof Construction Suite. A Ship does not have to have LODS, however, not having them can cause a performance hit. especially for larger ships. It is sometimes useful just to work with getting the main model working in game before adding these.
 
http://freespaceserver.cjb.net/topace/wiki/lodhrc.jpg
 
===Debris===
 
Debris are part of the .pof file and are created along with the main model. They consist, as the name suggests, of the remains of the ship which will fly out from the explosion when that ship is destroyed. Debris, like LODS, are not essential to making the ship perform correctly in game, but are an effective form of eye-candy.
 
=Typical mistakes=
 
  
=Programs=
+
: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.
[[Caligari TrueSpace]] <br>
 
[[3D Studio Max]] <br>
 
[[GMax]] <br>
 
[[Rhino 3D]] <br>
 
[[Blender]] <br>
 
  
=Tutorials=
+
: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]]===
  
 
[[Category:Modding]]
 
[[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