Rampage's Post Modding Guide
In order to master Post MOD MODding, you must first know the interface of trueSpace, how to model in general in the program that you like the most (E.G. Blender, 3DS MAX, Rhino 3D, etc.). Second, you must know basic mathematics, which includes interval notation (commonly used in this manual), some algebra, and most important, basic, 3D geometry to make a decent model.
In order to MOD well for FreeSpace 2 and its community, you must have certain modeling tools. These tools are as follows:
- trueSpace [1.0, latest version] (Recommended for Practically Everything in Regards to Modeling. Preferred version: 4.0 and Above)
- trueSpace 2.0 <<Download>>
- Adobe Photoshop [5.0, latest version] or Paint Shop Pro [5.0, version]U[version, latest version] (Recommended for Texture Bitmap Processing)
- Lithunwrap (Recommended for Model Texturing)
- Lithunwrap <<Download>>
- 3D Exploration (Recommended for Model Conversion from Other Model Forms. I think it was replaced by a stronger, better program.)
- 3D Exploration Trial Version <<Download>>
- POF Construction Suite (Recommended for POF Editing)
- DMTOOLS ModelView32 (Recommended for POF Viewing and some Editing)
- COB2FS2 (Recommended for Germane POF Conversion from COB file when POF Construction Suite Can't Process the COB File. Don't you have strong animosity that "stack overrun protection" thing in POF-Con?)
- And Other Tools, Whenever They May Apply
These Tool(s) are not recommended by us:
- Segeltuch (If You Want to Make Shields, Learn How to Model! No offense)
Making LODs (Levels of Detail)
The LOD is the representation of a model in a mode of detail. In FreeSpace 2, the first LOD (or LOD 0) is displayed on some models when the player ship (in interval notation) is (0, 500) meters or closer to the model it represents. The second LOD is displayed when the player ship is (500, 750) meters from the model it represents and so on and so forth. The first level of detail is comprised of every piece of geometry without a local light separating it from the main group. The first LOD or LOD 0 is the main group. First level sub-objects of the model belong to LOD 0. To make other LODs, you must have a geometry model or several geometry models grouped and everything else pertaining to that LOD, such as thruster and turret sub-models, set to go into a sub-object named "detailx", where x is the LOD number. This number must be (in interval notation) [1,4]. Also make sure that you glue a light to each and every LOD. (It doesn't matter if you have 1 sub-model (not sub-groups, E.G. LOD1 thruster model is a separate group with its own light.) or 20 sub-models in your LOD, it's just ONE light named "detailx-light".) (So detail1 would represent LOD 1 and detail 2 would represent LOD 2, and so forth.) Glue the sub-object "detailx" as sibling to the LOD 0 chunk. (This means that "detailx" is a sub-object on the first hierarchy level of the model.) When everything is done, make sure that you glue the LOD subgroups to the main model group in ascending order (detail1, detail2, detail3, etc. Thanks to StratComm!)
Debris subobjects are geometry chunks shown by FreeSpace 2 when the ship is destroyed. We suspect that you know how to make debris pieces geometrically by separating several highlighted faces from the main object. After you obtain your debris geometry models, glue each geometry model to a local light as sibling so you obtain a subobject group with exactly one model chunk with its corresponding light. Name this group "debrisy", where y starts with one and end with the number of independent debris chunks you want in your model. For example, name the first sub-model chunk "debris1" and the second "debris2" and so on and so forth. Debris groups should not have subgroups, but CAN have submodels. (You can have as many models you want to represent a single piece of debris.) Glue every one of these debris sub-models as sibling to LOD 0, which means that debris subobjects are on the first hierarchy level of your model.
Thruster models are what FreeSpace 2 show when a ship (probably a fighter or a bomber) moves from one place to another. We suppose that you already have a geometry model or models ready and positioned somewhere in your model when we begin the process of making thruster sub-models. When you are ready to begin, select all of the independent geometry models pertaining to the thruster or thrusters you want to make. Glue all the thrusters' geometry models to one local light as sibling and name it "thruster01". You only can have one thruster sub-model per LOD, for all thrusters you may have in different places on the model in the given LOD.
Shields protect a ship in FreeSpace 2 from being destroyed quickly. We suppose that you already have a geometry model or models ready and positioned somewhere in your model when we begin the process of making shield sub-models. One important thing is that all shield geometry models must be triangulated and also must have a monotone color as its texture. When you are ready to begin, select all of the independent geometry models pertaining to the shield of your model. Glue all the shield's geometry models to one local light as sibling and name it "shield". You only can have one shield submodel, for all independent shields you may have in your model.
Making Single (Octagonal) Turrets
This process is a little bit more complex than the other processes mentioned above, but it's not difficult compared to making Multi-part Turrets. You should have made and positioned your turret models before you begin the process described below. It's important that you do the turret process in the order given below. First, relinquish control of all turret geometry models within a hierarchy and unglue them or move them (through TrueView) out of your model and into the entire scene. This is critical for the next step. Second, you must set an axis for every turret geometry model you plan to use in your model. To do this, you must find the "Centralize Axis" button. It is found in the sub-menu in trueSpace's "Normalize Scale". It looks like a x-y-z axis next to an orange wireframe cube. Before you click on it, you must have the geometry model that you want the axis to apply selected. Then after you have it selected, click on the "Centralize Axis" button. Your turret geometry model should become highlighted orange and a small (or big) axis should appear. After the axis becomes highlighted, find the "Normalize Rotation" button and hit it once. After doing so, you're done with this part. You may choose to delete the axis, but it is suggested that you leave the axis where it is. To exit out of axis-editing mode, just click on another object. Now go back to the geometry model and make a "Local Light". Move the light to the center of the turret model that you had the axis applied to and glue it to the light as sibling. Name this new sub-model selection "turretz" where "z" is the number from "01" to the number of your last octagonal turret (turret01, turret02, turret03, turret04 for every octagonal turret you want in your model.). It is important to make the number a two-digit number. Repeat the process for every octagonal turret you want in your model. When you are done with the sub-models for all the simple turrets, glue them one by one to your main model sub-object or detail sub-object as child or just move them to their corresponding location in your model hierarchy via TrueView.
Making Multi-part Turrets
This is probably the most difficult part in after-mod MODding. We still expect that you have positioned your multi-part turrets in their appropriate places before you begin the process described below. You'll need one turret base geometry model and at least one turret barrel geometry model per turret. When you have the models set in the position that you want them to be at, start applying axis to the turret base. The axis should be centralized by using the "Centralize Axis" button in trueSpace and afterwards moved to the very bottom of the turret base, for it to rotate correctly in FreeSpace 2. Also note that the turret base must be independent from EVERYTHING or it will not rotate correctly in FreeSpace 2. (In simple words: "Make sure that the turret geometry model is independent of EVERYTHING when applying the axis to the turret base model.") This also applies to the turret barrel, which is covered in the next step. Next, select the turret barrel and click on the "Centralize Axis" button. Move the axis to the bottom of the barrel (If you do this correctly, the turret barrel shouldn't float in mid-space when rotating in FreeSpace 2.). Repeat this step for every multi-part turret in the model. (See StratComm's alternative below.) When you are done, glue each turret barrel to a local light and name the group "turretz-arm", where "z" is the turret number. (Turret15-arm, Turret16-arm, etc.) After you have the turret barrel geometry models glued to its corresponding local light, use the same process to glue the turret base geometry models together with its corresponding local light. Name the turret base group "turretz", where "z" is the turret number (turret15, turret16, turret17, etc.). The next step is very important. You must glue the turret barrel sub-object to the turret base sub-object as child. Or you can just drag and drop the turret barrel sub-object into the turret base sub-object via TrueView. Finally, glue the turret base as child to the main model sub-object or detail sub-object.
Make multi-part turrets in a separate scene, do the axis part, arrange the groups, save it as a COB file, and import it into your model afterwards. After importing the turret into the main model, then rename it according to the sequence in the model.
Making Subsystem Models
This practically uses the same process for making octagonal turrets. Before we begin, position the subsystem geometry models in the respectable places. Now relinquish control of every subsystem geometry model from the main model and its corresponding light and unglue both out of the model. Now use the "Centralize Axis" button to apply an axis to a selected subsystem geometry model. Repeat the process for any other subsystem geometry models you might have for this model. After you applied the axis to every one of the subsystem geometry models, glue each geometry model to a local light as sibling. Name the sub-model "[subsystem-name]x", where "[subsystem-name]" is the name of the subsystem and x is the number of the subsystem, if "[subsystem-name]" is the same (I.E.: reactor01, reactor02, reactor03, etc.). Repeat the process for any other subsystem geometry models. Finally, glue the subsystem sub-objects to the main model or detail sub-object as child or drag and drop the subsystem sub-object into the main model sub-object or detail sub-object via TrueView.
Making Subsystem and Turret Debris
This process is similar to that of making thrusters and shields. Have the debris chunks ready and positioned in their respectable spots so we can begin. First, glue the debris geometry model to its corresponding light and name it "[subsystem/turret-name]y-destroyed", where "subsystem/turret-name" is the name of the subsystem or turret and "y" is the subsystem/turret number. Repeat for any other subsystem/turret debris you want for your model. After finishing off the debris sub-models, glue them as child to the main model sub-object or detail sub-object or drag and drop them to their corresponding location via TrueView. Important: DO NOT glue the subsystem/turret debris sub-objects to their corresponding subsystem or turret!
MODding is an art, a work of beauty. 3D designers are the core of this-art. Without them, Freespace 2 would be just three dislocated CDs sitting in our closets collecting dust particles. With our faithful 3D designers, Freespace 2 has surpassed every other game in its genre, even the old Descent series. The community continues to grow and "newbies" continues to flood in. In order to improve our community, we must teach these novices the art of 3D modeling.