Let me fill you in on something I've been cooking up for a little while now. This is a toolset that has been in my head now for a while that is designed to make the life of any arma modeler that uses 3dsmax easier. It is by no means complete but I can tell you already happy with the results that i am getting. The reason why I am posting about it is because I know that there a bunch of ppl here that do use 3dsmax and I would like anyone willing to contribute ideas on this toolset, e.g. features, techniques and whatever.
Outline
The toolset consists of a great deal of interconnected scripts to help do the majority of the modding work in 3dsmax and not O2, like basic selection naming, model.cfg generation, rvmat file generation for supershaders and glass, preview in the 3dsmax viewport, setting up bone hierarchy, managing LODs and exporting all this madness into a fully functioning p3d file.
This is the main interface of the toolset.:
FEATURES
1. PROJECT SETUP
This module allows you to prep everything before you start. Generate some project folders. Create an accurate blueprint crossection. Set up a 3 light system for better preview with materials in the viewport and finally to quickly make sure that the scene you are working in is indeed set into metric system for 1:1 export to O2.
2. TEXTURING
In here you can quickly and easily bake Ambient Occlusion (and also a special variation of them for Super Shaders called _AS maps) as well as diffuse color maps. With a few clicks tweak the size and quality and automatically preview the results straight away in the viewport.
3. NAMED SELECTIONS
This module allows you to quickly name your model parts. The whole system works on reuse of what I called Selection Name Sets (SNS). These are special files (more on these later) which contain a list of selection names (e.g. otochlaven) and their normal descriptions (i.e. Gun). Of course with ArmA the use of standardized Czech names is not required anymore so the SNS can contain any desired names and meanings.
The interface on initialization checks the special folder for these sets and loads them in. This way I can have separate sets for e.g. Fixed wing aircraft, Tanks, Cars all saved separately and accessible at all times. I pick the required set for the particular model, chose the part name, if required add prefix or postfix characters, preview the name and if satisfied apply it to the selected objects. Of course the part name can also be custom text entirely, and not from the name set.
There is also an option of sequenced naming. For example I choose prefix l_, part name "wheel" and check off "Sequence". Then select the wheels on the left side of the vehicle in the order of the sequence. Hit apply and the wheels are properly named l_wheel01, l_wheel02 etc.
When you import the model into O2 the selection names will be carried through.
The selection name sets are generated through an interface built into the toolbox:
here you can load/save sets, edit them by adding/removing or editing entries.
The only one limitation of 3dsmax is that the names only apply to whole object (or max nodes) and not verticies like in O2. Thus this does not provide a total solution.
3. LODS
A system allowing you to manage the LODs of the model. Linked to the layering system of max. Create new LODs with ArmA2 preset names, edit them, duplicate them and isolate lods by double-clicking on their names.
4. MEMORY LOD
In here you can set up the backbone of the animations. Create points, manage them and use them to create axis for the animated parts. This will allow you to preview rotations in the viewport. Points are automatically placed into a Memory LOD.
4. HIERARCHY AND ANIMATIONS
This is the beginning of the model.cfg module which will allow to rig and check the model in 3dsmax. By applying the parent-child linking directly in the viewport you can setup the hierarchy and preliminary test out the animations on the model. Later this hierarchy will be used to generate the cfgSkeletons part of model.cfg.
It also allows for quick overview of the model part and double-clicking names selects them in the viewport.
4.1 MODEL.CFG EXPORTER
This little handy interface lets you quickly generate model.cfg files by incorporating the hierarchy and memory point lists. Complete with Inheritance. Also the ability to open previously generated files and add to them.
5. EXPORTING
Here you have two options: export some selected geometry as a 3ds file or go for the grand slam and use the FIRST EVER PUBLIC EXPORTER OF P3D FILES FROM MAX . It takes into account: the lod system, selection names, smoothing groups ( no SG applied = sharp edges, any SG applied = smooth edges ), vertex normals, material and texture assignments, UV maps. All in all a fully functional p3d. So upon first opening O2 you will have: assigned textures and materials, working animations, correct LODs etc etc.
6. RVMAT GENERATOR
In the toolbox you will find 3 specially designed directx HLSL shaders (super shader, glass, stencil). They have a dual purpose: to allow a simple preview of materials in the viewport of max (with normal, spec and ambient maps) and they also generate rvmat files with proper texture assignments upon p3d export.
TODO: RTM MODULE
For easy creation and export of soldier animations.
Thats about it for now. Feel free to comment on the content as described above but what I am really looking for is a brainstorm session of what else could be included
FAQ
1. When I run the script I instantly get an error message about a button.
The toolbox only work with 3dsmax versions 9 or higher. No support for earlier versions. Do not ask if a downgraded version is being developed. It's not because of the sheer amount of stuff that would need to be taken out, it wouldn't be a toolbox anymore.
2. When I export to p3d the models in O2 are not the right size
Work in meters, with the right dimensions.
3. When I export to p3d I get an error: Mesh operation on a Non-mesh object: Blabla"
Make sure that all geometry that you want to export in converted to Editable Poly. Also make sure that there is no non-geometry objects (cameras, lights etc.) in the LODs that you want to export.
Restart the toolbox after fixing. Next version will include a warning.
4. It exports fine but when I try to load it in O2 it says Unable to load file.
Make sure that your geometry is consistent of only triangles and quads. N-sided polygons are not supported by O2. Check things like cylinder tops etc. Better warning will be built in in next version.
5. When I check off Save Materials or Save Texture and export I get an error in max and the export is aborted.
When you use this option make sure that ALL geometry that you are trying to export has at least one of the shaders applied as stated in the video. Silly bug, will be fixed. Meanwhile if you need to export untextured stuff just dont check off the boxes.
Any new suggestions are welcome!
Last edited by Soul_Assassin; Oct 24 2009 at 21:59.
i was planning to work on it abit this coming week and include some more thingies. Hopefully by then I can include some more content and have the first public test.