Difference between revisions of "MOD:WCU:Design and Standardization"
(→How to: Models) |
(Added lots of guidelines for texturing in the new engine) |
||
(4 intermediate revisions by one other user not shown) | |||
Line 18: | Line 18: | ||
This is all subjective, but usually you want to use as only as many polygons as absolutely needed, best guestimate would be around 3000-5000 polygons for the typical fighter model. Capital ships are made from multiple models each with the 3000-5000 polygons recommended limit. | This is all subjective, but usually you want to use as only as many polygons as absolutely needed, best guestimate would be around 3000-5000 polygons for the typical fighter model. Capital ships are made from multiple models each with the 3000-5000 polygons recommended limit. | ||
− | ''UV-unwrapping a model:'' | + | '''LODs''': They are less detailed versions of your models. Whenever you have models approaching the maximum recommended size, it is wise to keep a less detailed version around, fully unwrapped and textured (may share the big model's textures or not), to be used when the object is drawn at a distance such that the full detail on it isn't required. A general rule of thumb is to divide the number of polygons by 3 for each successive simplification, with a lower limit of 500 polygons (simpler models simply won't actually provide any speedup, except in certain very specific cases where special techniques might be applied - like asteroid/debris fields). |
+ | |||
+ | |||
+ | '''UV-unwrapping a model:''' | ||
Goals: Efficient use of texture space. Texturing job -friendliness. Mipmpapping-friendliness. | Goals: Efficient use of texture space. Texturing job -friendliness. Mipmpapping-friendliness. | ||
Line 30: | Line 33: | ||
Textures are the most important aspect of a model. Without a decent texture even some of the best models will look like crap. With WCU we are imposing a style limit on all ship, the style limit is there because we want all the ships to look like there is some logical design lineage, NO cartoonish ships, NO overly detailed ships. Below is an example of how the where the ships came from and what they should look like for WCU. | Textures are the most important aspect of a model. Without a decent texture even some of the best models will look like crap. With WCU we are imposing a style limit on all ship, the style limit is there because we want all the ships to look like there is some logical design lineage, NO cartoonish ships, NO overly detailed ships. Below is an example of how the where the ships came from and what they should look like for WCU. | ||
− | All ships should have a SINLGE texture for all aspects of the ship. | + | All ships should have a SINLGE texture for all aspects of the ship, except its cockpit view, which should use its own, separate texture (the cockpit viewed ingame, not the cockpit one might see from outside). |
− | Recommend | + | Recommend specifications for original texture files: |
+ | |||
+ | '''Resolution and pixel format''' | ||
+ | |||
*1024x1024 for smaller craft | *1024x1024 for smaller craft | ||
*2048x2048 for larger capital ships | *2048x2048 for larger capital ships | ||
− | *All textures sould be 24bit or 32bit color and | + | *4096x4096 for special capital ships or stations (huge, or very important or often seen at close range) |
+ | *All textures sould be 24bit or 32bit color. | ||
+ | |||
+ | ''Note: The above sizes are minimum values for submitted originals. Higher resolutions are allowed (and encouraged, up to a point), as long as they still look good downsampled up to half the specified resolutions.'' | ||
+ | |||
''Note: Currently ATI video cards have a 2K (2048x2048) textures limit for all single textures, NVIDIA has a 4K (4096x4096) limit on single textures; do not let this limit you there are many things on the programing end that can alleviate the program, or you can just wait for the next gen cards.'' | ''Note: Currently ATI video cards have a 2K (2048x2048) textures limit for all single textures, NVIDIA has a 4K (4096x4096) limit on single textures; do not let this limit you there are many things on the programing end that can alleviate the program, or you can just wait for the next gen cards.'' | ||
+ | |||
+ | '''Textures in a "package"''' | ||
+ | |||
+ | Textures for a ship are submitted in "packages", which contain all the textures required for a ship. The following is a list of all the textures a ship ''might'' require ''(textures marked as "low-res" have ad-hoc, relaxed specs for resolution and pixel format)'': | ||
+ | |||
+ | '''Warning''': Though they seem a lot and intimidating, only a few are actually required (and even less are available to the current engine - most are planned for the Ogre port). The "mandatory" ones are diffuse map, glowmap if required, specmap and normalmap if required (it almost always is). However, specifying the other ones is always welcome, if they are of use to the ship being textured. | ||
+ | |||
+ | *'''Diffuse map''': standard color texture | ||
+ | *'''Diffuse HDR map''': ''(highly optional)'' Radiance-encoded version of the diffuse map | ||
+ | *'''Specular map''': ''glossiness'' of the material, in a per-pixel form. Optionally, it can include in the alpha channel the ''roughness'' of the material (opaque alpha - white - means glasslike characteristics, while transparent alpha - black - signifies a rough surface) | ||
+ | *'''Ambient occlusion''': ''(low res)'' there are two formats - plain ambient occlusion map, a grayscale map that specifies how much ambient light reaches a specific place, and per-pixel directional ambient occlusion (specs for this are still a WIP) | ||
+ | *'''Glowmap''': ''(may/should use its own uv unwrapping, hence possibly low-res)'' there are two formats - simple glow map, a texture which will be applied over the model without lighting (useful for simulating self-illumination), or radiance HDR glowmaps (the same, but encoded in radiance RGBE format, which allows much greater dynamic range). | ||
+ | *'''Normalmap''': there are many formats, it is part of a technique to enhance the apparent geometric complexity of models without actually using geometry. | ||
+ | *'''Damage map''': (and its HDR conterpart) - it's the version of the diffuse map to use for damaged models (will fade in with damage) | ||
+ | *'''Damage specmap''': same as damage map, but replacing the specular map. | ||
+ | *'''Damage normalmap''': same as damage map, but replacing the normalmap. | ||
+ | *'''Detail diffuse/spec/normalmap''': ''(low res - tiling)'' provide fine detail, for closeup shots - there will be a bunch of prefabbed detail maps that will be usable for many ships, so it will hardly be necessary to supply one (but choosing one from the supplied list would be cool). | ||
+ | |||
+ | '''Submission''' | ||
+ | |||
+ | The preferred submitted "package" for texture files would contain a precompressed DDS version of each texture [http://developer.nvidia.com/object/dds_utilities.html Try this link for tools to create them], in either DXT format (for use ingame - it is the texture artist's responsability to choose the most adequate format among the three), an optional .png/.tga/.tif version of each texture (.jpg also acceptable but discouraged), and a mandatory "source" version of each texture. A source version is the file the artist works with, with every layer still in separate form (for example, .xcf for ''The Gimp'', .psd for ''Adobe Photoshop'', and .cpt for ''Corel Photo-Paint''). | ||
+ | |||
+ | '''Additional concerns''' | ||
+ | |||
+ | '' '''For developers''' - this is only a guideline for developers, artists should forget about the following remarks, and create good textures. Developers will then manipulate textures to make them fit within the hardware.'' | ||
+ | |||
+ | One thing to keep in mind, is that, while geometry processing keeps going up by leaps and bounds, texture processing in the videocard is limited by memory bandwidth, which is a HARD problem --i.e.: won't be solved any time soon. The days of "keep poly count low; do everything you can with the texture" are already gone and going away faster. With my videocard (NVidia 6600GT-based) I have no slowdown whatsoever looking at this model I made for my own mod, that is well over 100,000 tris, untextured. But looking at a 3000 tri model of the Demon *with* 1024 by 1024 textures already slows down the refresh a bit, and using 2k by 2k textures, refresh rate drops painfully. | ||
+ | |||
+ | The following doesn't affect the guideline above, as a submission guideline. I'd even suggest higher rez originals. | ||
+ | |||
+ | In terms of textures shipping with the game, though, first of all, we should never use .png. Always jpg, at 85% quality. The differences are *impossible* to see by naked eye, and the compression difference is like 5 or 10 to 1. | ||
+ | |||
+ | As for textures in game-shipping form, we'll have to experiment with the following, but we'll likely find an optimal compromise between texture processing burden and quality along the lines of: | ||
+ | |||
+ | # Using full rez (e.g.: 1k by 1k) but low color depth (16-bit) for the diffuse texture | ||
+ | # Using full color depth (24-bit) but half the rez (512 by 512) for the glow-map. | ||
+ | # using full rez but grayscale (single channel, 8-bits) for the specular map | ||
+ | # Possibly some low bit depth format for normal map, or 16-bit dU/dV map instead. | ||
+ | |||
==How to: Color Themes== | ==How to: Color Themes== |
Latest revision as of 04:49, 3 May 2006
The purpose of this page is to define a standardize look and feel for all Wing Commander Ships. As many of you know when Wing Commander was first released it used 2D pre-generated bitmaps to display the ships. These 2D images were made from much higher quality 3D models long sense lost by Origin. One of the goals for WCU is to recreate the lost models, and enhance existing models.
How to: Models
When Creating a NEW 3D model from the original WC, WC2, Priv; You should uses either the detailed blueprints that came with the game (Wing Commander 1 had blueprints for the Hornet, Rapier, Scimitar, Raptor) or if a blueprints are not available use the 2D bitmaps that were in the game. To do this, use the extracted bitmaps (TBA).
I personally find the best way to recreate a model of the old WC1, WC2 ships is by taking the original bitmap, scaling it up as large as I can, print it out (hardcopy) and then tracing the outlines on a piece of graph paper. You should have the six basic views, Top, Bottom, Left Side, Right Side, Top and Bottom. All the other views are used as a reference for determining how the 6 plans views fit together.
Note on the original models. Because the original 2D images were so pixilated many find it difficult to interpret some of the models and simply extrapolate by making up stuff to get to work. There is no faster way of getting a model rejected by WCU then by adding stuff that was never there. Most of the time this ends up causing additional headaches down the line, and the new model will always have the appearance that something is wrong with it. As a possible yet controversial solution to this problem is to use models that already exist. If a model for a ship that you are working on has already has been created, but has been rejected or is incorrect for some reason, this does not mean that that model is worthless. There are usually some elements of the model that are fine, and can be used to assist you in creating your new model.
If you are recreating an existing 3D from the, WC3, WC4, WCA, WCP, original game use that model and it textures to create a higher quality model. If done correctly, you new model should occupy the same model space as original, but where before the texture was used to define additional detail, the model itself will have the additional detail.
How detailed should you make a model? This is all subjective, but usually you want to use as only as many polygons as absolutely needed, best guestimate would be around 3000-5000 polygons for the typical fighter model. Capital ships are made from multiple models each with the 3000-5000 polygons recommended limit.
LODs: They are less detailed versions of your models. Whenever you have models approaching the maximum recommended size, it is wise to keep a less detailed version around, fully unwrapped and textured (may share the big model's textures or not), to be used when the object is drawn at a distance such that the full detail on it isn't required. A general rule of thumb is to divide the number of polygons by 3 for each successive simplification, with a lower limit of 500 polygons (simpler models simply won't actually provide any speedup, except in certain very specific cases where special techniques might be applied - like asteroid/debris fields).
UV-unwrapping a model:
Goals: Efficient use of texture space. Texturing job -friendliness. Mipmpapping-friendliness.
Just follow these guidelines in the VS wiki (they come from us, WCU, actually):
[guidelines for UV unwrapping]
How to: Textures & Style
Textures are the most important aspect of a model. Without a decent texture even some of the best models will look like crap. With WCU we are imposing a style limit on all ship, the style limit is there because we want all the ships to look like there is some logical design lineage, NO cartoonish ships, NO overly detailed ships. Below is an example of how the where the ships came from and what they should look like for WCU.
All ships should have a SINLGE texture for all aspects of the ship, except its cockpit view, which should use its own, separate texture (the cockpit viewed ingame, not the cockpit one might see from outside). Recommend specifications for original texture files:
Resolution and pixel format
- 1024x1024 for smaller craft
- 2048x2048 for larger capital ships
- 4096x4096 for special capital ships or stations (huge, or very important or often seen at close range)
- All textures sould be 24bit or 32bit color.
Note: The above sizes are minimum values for submitted originals. Higher resolutions are allowed (and encouraged, up to a point), as long as they still look good downsampled up to half the specified resolutions.
Note: Currently ATI video cards have a 2K (2048x2048) textures limit for all single textures, NVIDIA has a 4K (4096x4096) limit on single textures; do not let this limit you there are many things on the programing end that can alleviate the program, or you can just wait for the next gen cards.
Textures in a "package"
Textures for a ship are submitted in "packages", which contain all the textures required for a ship. The following is a list of all the textures a ship might require (textures marked as "low-res" have ad-hoc, relaxed specs for resolution and pixel format):
Warning: Though they seem a lot and intimidating, only a few are actually required (and even less are available to the current engine - most are planned for the Ogre port). The "mandatory" ones are diffuse map, glowmap if required, specmap and normalmap if required (it almost always is). However, specifying the other ones is always welcome, if they are of use to the ship being textured.
- Diffuse map: standard color texture
- Diffuse HDR map: (highly optional) Radiance-encoded version of the diffuse map
- Specular map: glossiness of the material, in a per-pixel form. Optionally, it can include in the alpha channel the roughness of the material (opaque alpha - white - means glasslike characteristics, while transparent alpha - black - signifies a rough surface)
- Ambient occlusion: (low res) there are two formats - plain ambient occlusion map, a grayscale map that specifies how much ambient light reaches a specific place, and per-pixel directional ambient occlusion (specs for this are still a WIP)
- Glowmap: (may/should use its own uv unwrapping, hence possibly low-res) there are two formats - simple glow map, a texture which will be applied over the model without lighting (useful for simulating self-illumination), or radiance HDR glowmaps (the same, but encoded in radiance RGBE format, which allows much greater dynamic range).
- Normalmap: there are many formats, it is part of a technique to enhance the apparent geometric complexity of models without actually using geometry.
- Damage map: (and its HDR conterpart) - it's the version of the diffuse map to use for damaged models (will fade in with damage)
- Damage specmap: same as damage map, but replacing the specular map.
- Damage normalmap: same as damage map, but replacing the normalmap.
- Detail diffuse/spec/normalmap: (low res - tiling) provide fine detail, for closeup shots - there will be a bunch of prefabbed detail maps that will be usable for many ships, so it will hardly be necessary to supply one (but choosing one from the supplied list would be cool).
Submission
The preferred submitted "package" for texture files would contain a precompressed DDS version of each texture Try this link for tools to create them, in either DXT format (for use ingame - it is the texture artist's responsability to choose the most adequate format among the three), an optional .png/.tga/.tif version of each texture (.jpg also acceptable but discouraged), and a mandatory "source" version of each texture. A source version is the file the artist works with, with every layer still in separate form (for example, .xcf for The Gimp, .psd for Adobe Photoshop, and .cpt for Corel Photo-Paint).
Additional concerns
For developers - this is only a guideline for developers, artists should forget about the following remarks, and create good textures. Developers will then manipulate textures to make them fit within the hardware.
One thing to keep in mind, is that, while geometry processing keeps going up by leaps and bounds, texture processing in the videocard is limited by memory bandwidth, which is a HARD problem --i.e.: won't be solved any time soon. The days of "keep poly count low; do everything you can with the texture" are already gone and going away faster. With my videocard (NVidia 6600GT-based) I have no slowdown whatsoever looking at this model I made for my own mod, that is well over 100,000 tris, untextured. But looking at a 3000 tri model of the Demon *with* 1024 by 1024 textures already slows down the refresh a bit, and using 2k by 2k textures, refresh rate drops painfully.
The following doesn't affect the guideline above, as a submission guideline. I'd even suggest higher rez originals.
In terms of textures shipping with the game, though, first of all, we should never use .png. Always jpg, at 85% quality. The differences are *impossible* to see by naked eye, and the compression difference is like 5 or 10 to 1.
As for textures in game-shipping form, we'll have to experiment with the following, but we'll likely find an optimal compromise between texture processing burden and quality along the lines of:
- Using full rez (e.g.: 1k by 1k) but low color depth (16-bit) for the diffuse texture
- Using full color depth (24-bit) but half the rez (512 by 512) for the glow-map.
- using full rez but grayscale (single channel, 8-bits) for the specular map
- Possibly some low bit depth format for normal map, or 16-bit dU/dV map instead.
How to: Color Themes
The Primary purpose of Themes is to have a standardize colors for all ships and not the wide variety that out there now.
Confed Primary Color Themes (Examples Only)
Kilrathi Primary Color Themes (Examples Only)
Other Colors (Examples Only)
PS. Make your own Textures.
Reference Material
The following is not to advocate any projects, just the level of quality we are looking for in both ship design and textures Image: image: image: image: image: Remember what you build today by the time it makes it into the final project might be obsolete, so design with the future in mind.