User Tools

Site Tools


arma:modeling:import_3ds

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
arma:modeling:import_3ds [2008-05-08 03:28]
snakeman added more import_3ds data.
arma:modeling:import_3ds [2017-10-06 17:25] (current)
snakeman http to https switch.
Line 5: Line 5:
 This is a step-by-step tutorial on how to import a 3ds model. It is intended for people who have no idea and weren'​t around in the OFP times, so that they can make their first addon (I suggest a rifle, and I supply an RVMAT I used for weapon). This is a step-by-step tutorial on how to import a 3ds model. It is intended for people who have no idea and weren'​t around in the OFP times, so that they can make their first addon (I suggest a rifle, and I supply an RVMAT I used for weapon).
  
-This is a TIP (Tutorial In Progress). I will add some pictures, example textures etc. in the future. I also encourage ​contribiutions.+This is a TIP (Tutorial In Progress). I will add some pictures, example textures etc. in the future. I also encourage ​contributions.
  
 NOTE this concerns my private view on the subject and how I do things my way. I do not claim I am perfect. NOTE this concerns my private view on the subject and how I do things my way. I do not claim I am perfect.
  
-I assume the reader has some basic knowledge on modelling ​and rendering, otherwise he has to get these elsewhere.+I assume the reader has some basic knowledge on modeling ​and rendering, otherwise he has to get these elsewhere.
  
-I intended it to be a simple "what do I push?" ​walktrough ​and I do not include detailed ​explenations ​of WHY I do things in such a way... You can find the informations ​on BIS Wiki etc. if you want to get more "​advanced"​. The information on how to use TV2 is supplied for BIS, information on how to use XNormal are on author'​s website etc - I do not repeat them.+I intended it to be a simple "what do I push?" ​walk trough ​and I do not include detailed ​explanations ​of WHY I do things in such a way... You can find the information ​on BIS Wiki etc. if you want to get more "​advanced"​. The information on how to use TV2 is supplied for BIS, information on how to use XNormal are on author'​s website etc - I do not repeat them.
  
-**Pointers for modelling:**\\+**Pointers for modeling:**\\
   * all your hard edges should form closed loops (otherwise they will simply be turned into smooth edges).\\   * all your hard edges should form closed loops (otherwise they will simply be turned into smooth edges).\\
   * when unwrapping try to avoid cutting along soft edges (will save you some fixing later, see below).\\   * when unwrapping try to avoid cutting along soft edges (will save you some fixing later, see below).\\
-  * model has to be tesslated ​into quads and tris (If you have multiple vertices along one straight edge do it manually - otherwise ​algorythm ​can create a zero-surface face out of these vertices positioned in line).+  * model has to be tessellated ​into quads and tris (If you have multiple vertices along one straight edge do it manually - otherwise ​algorithm ​can create a zero-surface face out of these vertices positioned in line).
  
-When impoting ​the model gest cut along hard edges and along the edges where texture mapping is not connecting (places that were cut when unwrapping). In other words you get [[http://tactical.nekromantix.com/images/wiki/​Import_3DS_edgesbl4.jpg|this]]. Note I was unwrapping outside of O2, this happened upon importing a mesh with UV coordinates and smoothness set in a correct way.+When importing ​the model gest cut along hard edges and along the edges where texture mapping is not connecting (places that were cut when unwrapping). In other words you get [[https://pmc.editing.wiki/​images/​Import_3DS_edgesbl4.jpg|this]]. Note I was unwrapping outside of O2, this happened upon importing a mesh with UV coordinates and smoothness set in a correct way.
  
 **Pointers for texturing:​**\\ **Pointers for texturing:​**\\
Line 28: Line 28:
 **Pointers for Import:**\\ **Pointers for Import:**\\
   * use 3ds format best\\   * use 3ds format best\\
-  * the alignment ​ingame ​is in most cases decided by alignment in O2. Open an BIS M16 sample model and just place the rifle where it is to have it appear in proper position in the game.\\+  * the alignment ​in-game ​is in most cases decided by alignment in O2. Open an BIS M16 sample model and just place the rifle where it is to have it appear in proper position in the game.\\
   * if error is reported the file has to have fake KFData section (whatever it is). Opening it and saving with Deep Exploration or using one of the following: Anim8tor, 3ds Max5 or Unwrap 3d will fix this by creating an empty KFData section.\\   * if error is reported the file has to have fake KFData section (whatever it is). Opening it and saving with Deep Exploration or using one of the following: Anim8tor, 3ds Max5 or Unwrap 3d will fix this by creating an empty KFData section.\\
 - use the following settings (picture): - use the following settings (picture):
  
-{{ http://tactical.nekromantix.com/images/wiki/​Import_3DS_importnx7.jpg }}+{{ https://pmc.editing.wiki/​images/​Import_3DS_importnx7.jpg }}
  
 Squarize means merging tris into quads, can screw up edge hardness. Merge merges back the edges divided upon importing, again an easy way to mess up edge hardness. Models do not get imported with textures anyway, you need to do that manually (see below).\\ Squarize means merging tris into quads, can screw up edge hardness. Merge merges back the edges divided upon importing, again an easy way to mess up edge hardness. Models do not get imported with textures anyway, you need to do that manually (see below).\\
-  * DO NOT bother to merge (or "​fix"​) model manually ​afterwards. The binarisation will cut it apart once more anyway, save your time. Just pay attention when selecting not to leave any floating geometry... floating.+  * DO NOT bother to merge (or "​fix"​) model manually ​afterward. The binarisation will cut it apart once more anyway, save your time. Just pay attention when selecting not to leave any floating geometry... floating.
  
 **Adding textures:​**\\ **Adding textures:​**\\
Line 44: Line 44:
  
 **Fixing edges that shouldn'​t be hard:**\\ **Fixing edges that shouldn'​t be hard:**\\
-  * Examine any smooth edges you have cut durring ​the unwrapping in 3D application - now they appear hard in viewer! Select with a box each verticle ​of each of these edges and use "​SHIFT+E"​ to view vertex properties. There are probably two verticles. Press Shift+D to merge them. After dooing ​the same for other vertices along the edge you can select them all (carefull ​not to select extra ones) and press I - to turn the edge they create into a soft one. You might have to select the model and hit F5 (recalculate normals) to see results.+  * Examine any smooth edges you have cut during ​the unwrapping in 3D application - now they appear hard in viewer! Select with a box each vertice ​of each of these edges and use "​SHIFT+E"​ to view vertex properties. There are probably two vertices. Press Shift+D to merge them. After doing the same for other vertices along the edge you can select them all (careful ​not to select extra ones) and press I - to turn the edge they create into a soft one. You might have to select the model and hit F5 (recalculate normals) to see results.
  
 **Adding selections, LODs etc:**\\ **Adding selections, LODs etc:**\\
Line 51: Line 51:
  
 **RVMAT file:** **RVMAT file:**
-<​code>​+<​code ​cpp>
 ambient[]={0.750000,​0.750000,​0.750000,​1.000000};​ ambient[]={0.750000,​0.750000,​0.750000,​1.000000};​
 diffuse[]={0.750000,​0.750000,​0.750000,​1.000000};​ diffuse[]={0.750000,​0.750000,​0.750000,​1.000000};​
Line 116: Line 116:
 This is example of file I use for my weapon. It uses specular, normal and AS maps to add more detail.\\ This is example of file I use for my weapon. It uses specular, normal and AS maps to add more detail.\\
   * you can edit it with material editor or just notepad.\\   * you can edit it with material editor or just notepad.\\
-  * _SMDI etc sufixes ​are telling the converter (TexView 2) how to process the file.+  * _SMDI etc suffixes ​are telling the converter (TexView 2) how to process the file.
  
 **How do I make Normal Map:**\\ **How do I make Normal Map:**\\
   * either with Heightmap -> normal map tool or from lowpoly and hipoly models. Try Xnormal for example.\\   * either with Heightmap -> normal map tool or from lowpoly and hipoly models. Try Xnormal for example.\\
-  * the Y axis (BLUE channel) is allways ​reversed! In XNormal switch it to Blue = -Y, in other programs tick propper ​"​reverse"​ window when asked.\\+  * the Y axis (BLUE channel) is always ​reversed! In XNormal switch it to Blue = -Y, in other programs tick proper ​"​reverse"​ window when asked.\\
 Here is how settings look in XNormal:\\ Here is how settings look in XNormal:\\
-{{ http://tactical.nekromantix.com/images/wiki/​Import_3DS_settingsjj1.jpg }}+{{ https://pmc.editing.wiki/​images/​Import_3DS_settingsjj1.jpg }}
   * it's a wide subject, there are 3D graphics forums for that...\\   * it's a wide subject, there are 3D graphics forums for that...\\
   * Save as *_NOHQ.paa   * Save as *_NOHQ.paa
Line 128: Line 128:
 Trick with normal map (if you get "​rainbow triangles"​):​\\ Trick with normal map (if you get "​rainbow triangles"​):​\\
   * when using the hi/low poly method you can get artifacts due to non matching normals of models, even if area should be flat. Just extract Height Map instead and use HM -> normal map tool.   * when using the hi/low poly method you can get artifacts due to non matching normals of models, even if area should be flat. Just extract Height Map instead and use HM -> normal map tool.
-[[http://tactical.nekromantix.com/images/wiki/​Import_3DS_nohqintv2ie8.jpg|see image]].+[[https://pmc.editing.wiki/​images/​Import_3DS_nohqintv2ie8.jpg|see image]].
  
 **How do i make specular map:**\\ **How do i make specular map:**\\
Line 134: Line 134:
   * Green channel is specular - IE the brightness of reflected light\\   * Green channel is specular - IE the brightness of reflected light\\
   * Blue channel is Specular Power - IE the multiplier of the base "​specular power" from RVMAT file (with value of 0-1, 0 being no blue, 1 being full blue).\\   * Blue channel is Specular Power - IE the multiplier of the base "​specular power" from RVMAT file (with value of 0-1, 0 being no blue, 1 being full blue).\\
-  * add scratches to green channel, add also some grase stains (we know how oiled steel looks like) - with much less agressive ​values of color.\\ +  * add scratches to green channel, add also some grease ​stains (we know how oiled steel looks like) - with much less aggressive ​values of color.\\ 
-  * Red and alpha will be erased upon conversion, they do nothing ​afaik.\\ +  * Red and alpha will be erased upon conversion, they do nothing ​AFAIK.\\ 
-  * it's best to copy over the values of Green into the Blue channel, but get rid of black (it will look like complete ​matt, like frost or snow). Adding 0.2 or 0.3 to values does the trick (Ie making the channel a bit brihter). This way the places that shine will also be less matt and more "​polished",​ which seems logical.\\ +  * it's best to copy over the values of Green into the Blue channel, but get rid of black (it will look like complete ​matte, like frost or snow). Adding 0.2 or 0.3 to values does the trick (Ie making the channel a bit brighter). This way the places that shine will also be less matte and more "​polished",​ which seems logical.\\ 
-Example of how my specular map looks like: [[http://tactical.nekromantix.com/images/wiki/​Import_3DS_smdiintv2sn6.jpg|here]].+Example of how my specular map looks like: [[https://pmc.editing.wiki/​images/​Import_3DS_smdiintv2sn6.jpg|here]].
  
 **How do I make _AS map?**\\ **How do I make _AS map?**\\
-  * render proper Ambient Occlusion map (once again, XNormal if you don't have any other program, but many other can do the same). You should have nice and smooth ​grayscale ​shades...\\+  * render proper Ambient Occlusion map (once again, XNormal if you don't have any other program, but many other can do the same). You should have nice and smooth ​gray scale shades...\\
   * save as _AS.paa\\   * save as _AS.paa\\
   * that's it! The channels will get cleared where needed.\\   * that's it! The channels will get cleared where needed.\\
-This is how an _AS.paa looks like: [[http://tactical.nekromantix.com/images/wiki/​Import_3DS_asintv2xk5.jpg|here]].+This is how an _AS.paa looks like: [[https://pmc.editing.wiki/​images/​Import_3DS_asintv2xk5.jpg|here]].
  
-**Effects of using AS map, normal map and Specular map**: [[http://tactical.nekromantix.com/images/wiki/​Import_3DS_compaino2wq8.jpg|image here]].\\ +**Effects of using AS map, normal map and Specular map**: [[https://pmc.editing.wiki/​images/​Import_3DS_compaino2wq8.jpg|image here]].\\ 
-Normal map is not used because settings are at very low. NOTICE however the fact that AS and SMDI are still used (in reduced resolution). They are less resource-consumming, this is why they are so usefull.+Normal map is not used because settings are at very low. NOTICE however the fact that AS and SMDI are still used (in reduced resolution). They are less resource-consuming, this is why they are so useful.
  
 **Avoiding performance problems**\\ **Avoiding performance problems**\\
 Number of [[section_fixing|sections]] (or draw calls?) is the most important factor. Each group of faces  using different material or texture file is an additional section. Use only one rvmat per model if you can. Use specular map to make different materials look different (plastic, steel, wood...). Number of [[section_fixing|sections]] (or draw calls?) is the most important factor. Each group of faces  using different material or texture file is an additional section. Use only one rvmat per model if you can. Use specular map to make different materials look different (plastic, steel, wood...).
- 
-====== Notes ====== 
- 
-This tutorial was posted with Panda[PL]'​s permission from [[http://​www.flashpoint1985.com/​cgi-bin/​ikonboard311/​ikonboard.cgi?;​act=ST;​f=76;​t=71603|this]] BIS topic. 
- 
arma/modeling/import_3ds.1210217339.txt.gz · Last modified: 2008-05-08 03:28 (external edit)