Here is the Milkshape 3D Mad3d Export Plugin V0.85b, an updated version of the export plugin for Milkshape 3D. An great tool that will greatly help out the community mod the game further.
************************************************ Milkshape 3d Mad3d export plugin v 0.85b by Justin Cornell aka Moonraker Feb 12, 2007 ************************************************ --Use and installation: Install to your milkshape directory. To export a model, select export->Legacy M3d. --Notes: -Hardpoints/Nodes: It is important to make sure that your model is equipped with correct hardpoints/nodes. If you are familiar with modelling for games such as Armada you will notice that this is very similar. Each ship needs to have a hardpoint/node hierarchy set up as follows: scene root | '- root | --geometry | | | '-lod0 | | | '-hull0 | | | '-[mesh nodes] | | | |-orientation (?) i think this is obsolete | '-[breaknodes] (optional, used when this part breaks off) | | | '-[nodes that need to break with this node] | --damage | | | |-borg | |-shield | |-sensors | |-target | |-engines | '-crew | --hardpoints | | | '-[weapons hardpoints] | '-lights | '-[light nodes] In addition, for quick importing, the exporter will attempt to create a basic hardpoint or node structure if your scene contains NO hardpoint joints. If your scene does contain hp joints, it will attempt to interpret them. The setup has been purposely formatted to be similar to the .sod exporters for milkshape, so it should be easy for someone who already knows how to make proper sod files, or for importing hardpoints or sod models. The hardpoints have a few types, so there is a naming convention used here: Node names with a preceding 's_' are sprite nodes, commonly the blinker lights on the models. For example 's_whitestrobe'. Node names with a preceding 'e_' are emitter nodes, these are for particle fountains. For example 'e_steamsml'. Not sure if these are actually used by Legacy; not fully tested. Node names with a preceding 'm_' are mesh nodes, you will need ones of these for each group in your scene, it must match the group name. For example 'm_saucer' goes with group 'saucer'. Node names with a preceding 'h_' are hardpoint nodes, but you don't really need the 'h_'. Any node with no prefix is interpreted as this node type. This type is used for weapons and systems points. Sprite nodes may be manipulated with extended data to control color and blink rate for certain lights. To do this, enter the values in the comments area for the joint. For example 'lcolor_148_54_46;' or 'lpattern_.1_.5_2_5_2_5;' or even both like 'lcolor_148_54_46;lpattern_.1_.5_2_5_2_5;'. In order to preserve hardpoint firing direction in milkshape, you must select the joint, and create a child joint that will be moved in the direction you wish this hardpoint to fire. By default Milkshape will name the joint 'jointxx'. You do not need to rename this, anything named 'joint' will be ignored by the m3d exporter. -Materials Materials will be defined by certain naming conventions within Ms3d. The materials will be set up like any Ms material, and read into the export by certain key names. Key Prefixes: !phong_ = enables phong shading. ex. '!phong_top' !constant_ = enables constant shading. ex. '!constant_side' !lambert_ = enables lambert shading. ex. '!lambert_bottom' If no key prefixes are found, the exporter defaults to phong shading. Key names: These can exist anywhere in the material name !alpha = makes this an alpha transparent material, as opposed to using the alpha for illumination. ex. '!phong_material_!alpha' or '!alpha_material' in addition any name with 'logo' will be considered an alpha material for logo files. !anim = uses animated textures. ex. '!anim_housing' in_= this will be set up as a damage material. ex. 'in_damage' default = also interpreted as a damage material Texture identifiers: These will cause the model to try and load other texture effects. To do this, it looks for maps matching the diffuse map with the appropriate ending, i.e. 'yourmap_spec', 'yourmap_bump', 'yourmap_glow'. !s = enables specular texture. ex '!phong_hull_!s' !b = enables bump texture. !g = enables glow texture. (may not be needed, but in there for safety) !n = disables reading the alpha channel at all. useful for areas where no illuminated parts are. -Mesh Names Special consideration must be given to meshes that must be shown behind other meshes in the game. IN_meshname = The exporter will consider this to be a damage mesh and it will be placed at the top of the file so that it renders behind all other meshes. any name with 'logo' = will be considered a logo mesh and is placed at the bottom of the file to be rendered last and therefore on top of all other meshes. _sort = this is for special use, it will cause the mesh(es) that use this tag to be sorted to the end of the file, but not after the logo mesh. -Known Issues: There are some bugs. First of all i don't know everything about this format structure, I've been pretty much making educated guesses as to what the game engine wants to see in the files. The specular lighting is not completed, you can use it, but it tends to disable or move shadows from the ship (I was told this was common to Legacy already). The sprites may show through the hull at times, I would guess this has to do with BSP generation and that isn't done yet, but its alot better than previous versions. -Advantages There may be many of you who don't see the point in this exporter, since the game engine can differentiate Armada sod files, however the sod files are very limited and do not allow a lot of the things I've mentioned and implemented here. Glows from other objects and ships wont show through the m3d models, and overall performance may increase from using them. Once the few small bugs I have get worked out, we can add full-featured models. I've included a sample set of hardpoints in ms3d ascii format, import those to see the general setup. Have fun! You can re-distribute this file if you want. All rights reserved of course.
There are no comments yet. Be the first!