Skyraider3D
05-22-2006, 7:43 PM
Advanced 3D Aircraft Texture Mapping
- in 3D Studio MAX -
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap1.jpg
You might have read my Basic 3D Aircraft Texture Mapping tutorial already, but there are better ways of texture mapping aircraft models. Lets explore a couple of techniques.
1 - The Easy Way: planar mapping & mixing UV channels
This technique uses mainly planar mapping for the entire object. One set of mapping coordinates (UV channel 1) from the side, and one set from the top (UV2). These two textures are then merged with the used of a greyscale mask.
In MAX a typical material setup for an aircraft could be a Top/Bottom material using Local Coordinates (in case your plane attempts a looping you don't want the textures to flip! ). Each sub material uses a Mix Map for diffuse/specular/bump/etc mapping. The first map in a Mix Map is the sideview (UV Channel 1). The second map is the top or bottom view (UV Channel 2). The third map is the mask, whereby areas that should receive the sideview texture is painted white and other areas black (unused areas can be painted grey for clarity).
The sideview of course has a left and right side. This can be achieved by making it a Composite Map in MAX. If you've mapped the side from the left, your first map should be the right side texture (set to tile and "Show Map on Back" turned on = default). Then the second map (which will be composited on top of the first) is the left side texture and it should have tiling disabled and "Show Map on Back" turned off too.
Below are the (diffuse) textures used on the aircraft shown in the title image.
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap2.jpg
UV Channel 1 textures
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap3.jpg
UV Channel 2 textures
2 - The Hard Way: proper unwrapping
The second technique is pretty much the same way as it is done for low-poly models as used in computer games. The model is broken up in small parts which can be mapped seperately and arranged in a square. It helps if you already plan ahead your low-poly mesh before adding Meshsmooth (= MAX subdivision) and give each seperate part a different material ID. This saves time breaking up the model for unwrapping, as you can simply select by ID rather than hand-select hundreds of polygons.
A way to speed up unwrapping is a technique whereby the mesh broken up in small bits, then animated into a flat square which can be mapped planarly. To do this, go into polygon subobject mode and you detach (to element) your mesh into small parts, which can be mapped planarly. Then turn on the animate button, move the slider to 100 and move and rotate all bits to fit in a square area. When all parts are arranged, add a UV Map modifier and make sure to set both width and height to the same value (the biggest one of the default setting - so the model will be mapped with a 1:1 aspect ratio). When this is done, add a Unwrap UVW modifier. Next cut this modifier (right-click, Cut), then delete the UV Map modifier, set the animation slider back to 0 and paste the Unwrap UV modifier on op of your Editable Poly object in the modifier stack. Collapse the stack back to Editable Poly or Mesh. Now your UVs should be fixed in place. You can check this by adding an Unwrap UV modifier again and opening the Edit window. If you've done it right, your UV layout should be the same as the animated mesh layout you made earlier. Don't forget to weld all broken vertices again to restore all seams you introduced when detaching the model into small parts.
This technique was used on my Junkers Ju 88 model. I didn't want to have a texture size bigger than 2048x2048 (as this eventually grinds Photoshop to a halt on a low-spec computer) and because of the complexity of the model I needed to map the nose seperately (1024x1024) to have enough texture resolution in the cockpit area, in case I needed to add a squadron badge and such. The nose area then received its own material ID in a multi-subobject material so it could have the second texture map.
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap4.jpg
Material ID 1 texture
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap5.jpg
Material ID 2 texture
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap6.jpg
The completed model with textures applied
- in 3D Studio MAX -
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap1.jpg
You might have read my Basic 3D Aircraft Texture Mapping tutorial already, but there are better ways of texture mapping aircraft models. Lets explore a couple of techniques.
1 - The Easy Way: planar mapping & mixing UV channels
This technique uses mainly planar mapping for the entire object. One set of mapping coordinates (UV channel 1) from the side, and one set from the top (UV2). These two textures are then merged with the used of a greyscale mask.
In MAX a typical material setup for an aircraft could be a Top/Bottom material using Local Coordinates (in case your plane attempts a looping you don't want the textures to flip! ). Each sub material uses a Mix Map for diffuse/specular/bump/etc mapping. The first map in a Mix Map is the sideview (UV Channel 1). The second map is the top or bottom view (UV Channel 2). The third map is the mask, whereby areas that should receive the sideview texture is painted white and other areas black (unused areas can be painted grey for clarity).
The sideview of course has a left and right side. This can be achieved by making it a Composite Map in MAX. If you've mapped the side from the left, your first map should be the right side texture (set to tile and "Show Map on Back" turned on = default). Then the second map (which will be composited on top of the first) is the left side texture and it should have tiling disabled and "Show Map on Back" turned off too.
Below are the (diffuse) textures used on the aircraft shown in the title image.
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap2.jpg
UV Channel 1 textures
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap3.jpg
UV Channel 2 textures
2 - The Hard Way: proper unwrapping
The second technique is pretty much the same way as it is done for low-poly models as used in computer games. The model is broken up in small parts which can be mapped seperately and arranged in a square. It helps if you already plan ahead your low-poly mesh before adding Meshsmooth (= MAX subdivision) and give each seperate part a different material ID. This saves time breaking up the model for unwrapping, as you can simply select by ID rather than hand-select hundreds of polygons.
A way to speed up unwrapping is a technique whereby the mesh broken up in small bits, then animated into a flat square which can be mapped planarly. To do this, go into polygon subobject mode and you detach (to element) your mesh into small parts, which can be mapped planarly. Then turn on the animate button, move the slider to 100 and move and rotate all bits to fit in a square area. When all parts are arranged, add a UV Map modifier and make sure to set both width and height to the same value (the biggest one of the default setting - so the model will be mapped with a 1:1 aspect ratio). When this is done, add a Unwrap UVW modifier. Next cut this modifier (right-click, Cut), then delete the UV Map modifier, set the animation slider back to 0 and paste the Unwrap UV modifier on op of your Editable Poly object in the modifier stack. Collapse the stack back to Editable Poly or Mesh. Now your UVs should be fixed in place. You can check this by adding an Unwrap UV modifier again and opening the Edit window. If you've done it right, your UV layout should be the same as the animated mesh layout you made earlier. Don't forget to weld all broken vertices again to restore all seams you introduced when detaching the model into small parts.
This technique was used on my Junkers Ju 88 model. I didn't want to have a texture size bigger than 2048x2048 (as this eventually grinds Photoshop to a halt on a low-spec computer) and because of the complexity of the model I needed to map the nose seperately (1024x1024) to have enough texture resolution in the cockpit area, in case I needed to add a squadron badge and such. The nose area then received its own material ID in a multi-subobject material so it could have the second texture map.
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap4.jpg
Material ID 1 texture
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap5.jpg
Material ID 2 texture
http://skyraider3d.military-meshes.com/skyraider/tutorials/tut_advtexmap6.jpg
The completed model with textures applied