Hard Light Productions Forums
Modding, Mission Design, and Coding => The Modding Workshop => Modding Tutorials => Topic started by: Scooby_Doo on June 05, 2009, 07:35:14 pm
-
Warning massive thread below... About fours hours work so it may not always make sense LOL
Converting Max models into pof models and making modelling a bit faster by using templates.
In this tutorial we’re going to be converting a small capship into pcs2. The same methodology holds true for fighters and massive capital ships.
We’re going to be converting this model, but a lot of the instructions are for all future models too. I’m going to show you how to create “templates” which will help speed up modeling.
(http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam1.jpg)
- 1. Setting up Max preferences
- a. Since the Collada importer uses generic units, you’ll want to change Max to use generic units if you’ve set it to something else (otherwise you’ll end up with very huge models)
- b. Customize->Unit Setup->Generic Units Ok.
- 2. Create the Commonly used Textures (Only need to do this once ever)
- a. Since the hull has to be in one object rather than small pieces (unlike when converting through truespace), the best way is to start using multi/sub-object textures.
- b. Create a new empty project.
- c. Activate the material editor “m” key.
- d. Select an empty slot, and then click on the “Standard” button.
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam2.jpg)
- e. The “Material/Map Browser” window will appear, scroll down the list until you find “Multi/Sub-Object” and select it and ok the window. (Double click works too)
- f. You can discard the old material if it asks.
- g. You will now have the multimaterial now.
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam3.jpg)
- h. The number 10 indicates how many sub-textures there are, “Set Number” lets you directly entry the number of sub-textures, “Add” and “Delete” will add/delete the last subtexture on the list. “ID” is the ID for the texture (will explain latter). “Name” can be a name for additional identification purposes. “Sub-Material” is the actual texture. “On/Off” is just enabling/disabling the texure.
- i. To make this material usable on future models, we’re going to first add all the commonly used textures.
- j. Click on the first Material entry (In my case it’s Material #11 (Standard)”.
- k. You are now in the familiar standard textures. Rename the material name to something more useful.
- l. Load your diffuse texture as you would normally. Do not load the glow/shine/normal/height maps.
- m. Once you’ve loaded it, use the “Go to Parent”.
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam4.jpg)
- n. The master material will now look like this:
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam5.jpg)
- o. You will notice the material preview sphere will just have a small checkerboard with the texture. As you add textures this will slowly get filled up.
- p. Repeat the process until you’ve added all your commonly use textures.
- q. This is what my entry finally looked like:
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam6.jpg)
- r. If you need more textures spaces, click the “Add”, however I would recommend attempting to collapse a few into one. (The fewer materials the better)
- s. Next to clean up the material, delete (use “Delete”) the rest of the unused materials.
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam5a.jpg)
- t. Now create a simple box, it can be centered in the world if you wish. Give it a descriptive name, probably the same as the multimaterial name.
- u. Apply the material to that box, you’ll get something like this:
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam5b.jpg)
- v. Now save this model with a descriptive name in a folder that you store commonly used things in.
- 3. The main model
- a. Now load the main textures for the model.
- b. Using File->Merge… now merge that box texture with your model. If it asks about “Duplicate Material Name” just click “Auto-rename”. Also it if asks about the object’s name, just have it rename it. The box will appear in the scene (it might be in the middle of the model, so just move it out of the way).
- c. Open up the material dialog, choose an empty slot, use the “Pick Material from Object” eyedropper
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam7a.jpg)
- d. Use the eyedropper on the box. The multi-material you made earlier will now appear in the material list.
- e. Delete the box now; it is no longer of any use in the model.
- f. If your model doesn’t use some of those common textures, don’t delete them; rather go into the standard texture, like you did earlier to add textures, but instead of selecting “Bitmap”, select “NONE”. For my model neither #4 nor #5 was used so I blanked them. I do use these on other models, but not this one. Having empty spaces shouldn’t affect performance, as there’s nothing there and it’s never used.
- g. Now use the “Add” button to add additional submaterials and add all the main maps that this model uses (hull textures mostly). Obviously all the commonly used textures are already included.
- h. This is what it finally looks like:
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam7.jpg)
- i. Save your model in case you get too confused in the next section.
- 4. Applying textures
- a. Select your entire model.
- i. Optional but helpful: Turn the model into a group
- ii. Clone it and move it to the side (either rightclick->Clone or Shift-Move).
- iii. Finally ungroup the original model. This will give you a side by side view of what it originally looked like
- b. And now apply this new texture.
- c. Your more than likely going to get an ugly mess like this:
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam8.jpg)
- d. Now comes the difficult process. Renumbering the poly’s materials. There’s two ways of doing this and you can mix and match as needed.
- i. Modifiers:
- 1. Apply the mesh/poly select modifier to the model and find all the polygons that belonged to what is now your second sub-material (The first should be already done for you)
- 2. Once done, add a “Material” modifier and change the value from 1 to 2.
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam9.jpg)
- 3. You will notice that the selected areas will now have the correct textures.
- 4. Repeat the process until everything’s modified. Use material number Whatever that matches your material ID. In my case the third one, "Debris" is #3...
- ii. Mesh/Poly Edit:
- 1. Apply the mesh edit or Poly Edit to the object (Unless it’s already the top most one).
- 2. Do the same as in i.1 above, but instead of apply modifiers go down to Polygon Properties, change “Material:” “Set ID” to 2
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam9a.jpg)
- 3. You will notice that the selected areas will now have the correct textures.
- 4. Repeat the process until everything’s modified.
- e. If you’ve made a clone copy you can delete it now.
- f. Resave your model (preferably use max’s built-in number system).
- g. If you’ve found you’ve either forgotten a piece or got the number wrong, then simply poly-/mesh-select those and apply the material modifier on it.
- 5. Unifying the model
- a. Now we need to collapse the model into one object.
- b. Hide all turrets, turret arms, modeled subsystems, and other lods.
- c. Collapse one piece of the model into an editable poly/mesh. Use the”Attach” to attach all the pieces together (if you use edit poly, you can use attach list to make it faster). Do not attach turrets and other subobjects that you want as subsystems!
- d. If you get this message:
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam10.jpg)
- e. Cancel it, whatever object(s) you selected did not have the multimaterial texture applied to it. Apply the texture to the missed object and retry. Do not hit ok otherwise it may mess up the numbering.
- f. Once done, rename it to detail0 for lod 0, detail1 for lod 1….
- g. Save the model NOW.
- h. Make sure it’s stack is collapsed, then go into Utilities (the hammer), then select “Reset XForm” (you may need to click the “More…” button or reconfigure the buttons to include it).
- i. Hit “Reset selected”. If it looks like nothing happened, that’s good. If the model when supersized or super-small or totally messed up, reload it, collapse it and try again.
- j. The object’s modifier stack should look like this:
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam11.jpg)
- k. Collapse it again to lock the xform in place.
- l. Note: whenever you deal with Reset-XForm, it’s highly recommended you save first, as you cannot undo it, even if it when bonkers. Also do not have any subobjects linked with the object being reset, otherwise they’ll can get messed up. Also if you do not collapse the object first, Reset can also get messed up and basically destroy the object Also once you’ve reset it, you cannot move, scale, rotate the main model, nor adjust the pivot point, unless you do another reset, otherwise PCS2 will complain.
- n. Unhide everything.
- o. If you have additional lods repeat this process.
- p. Make sure the model (detail0) is centered at (0,0,0), move and reset xform if necessary.
- q. Save the model.
- 6. Turrets (Do once per turret type)
- a. I first create a “template” turret (in this case, laser turret)
- b. Create a new scene.
- c. Create the mesh model of it. I recommend making it at the center (0,0,0). (Base, arms(optional), and destroyed (optional)). Note: arms are actually one object.
- d. Like before with the main model, merge that commonly used texture box into the turret, grab the boxes texture and use that for the turret (It should contain only the commonly used textures and not any specific to only one ship)
- f. Next we need to set the pivot point
- i. First select the base
- 1. select the hierarchy button and click “Affect Pivot Only”
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam12.jpg)
- 2. The base’s arrow will change to this
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam13.jpg)
- 3. Move the arrow until it sits where the base should pivot on. (Imagine this is the pin/peg that the base is attached to)
- ii. Repeat the process for the arms and destroyed (if any). The ”Affect Pivot Point“ should still be active for those.
- iii. Once done, click “Affect Pivot Only” to deactivate it.
- iv. Save the model, use a rememberable name. I used "Kilrathi Laser Turret"
- v. Since we modified the turret’s pivot (alone with probably moving and resizing) we need to apply a reset x-form again. Apply the reset and then collapse it.
- vi. (Hint: there is a Utility called “collapse”, you can use this to speed things up a bit, just remember if you use it on everything at once, to select “Collapse To:” “Multiple Objects”, otherwise you’ll have one big object in the end.)
- g. Rename the turret parts as:
- 1. The base should be as: turret0X
- 2. The Arm: turret0X-arm
- 3. Destroyed: turret0X-destroyed
- h. Next we need to create a few dummy objects
- i. Move back into Create tab, under “Helpers”, click “Dummy”
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam14.jpg)
- ii. When you create it, it’ll create a centered box, the size of the box isn’t important, although I like to keep it small. (Also the box may not be always be visible when not in wireframe mode. This is probably a video driver issue)
- iii. Name this dummy, “helper”
- iv. Do a quick-align (Alt-A by default) and align it to the turret base, i.e. the base and dummy should be centered at the same point.
- v. Duplicate this helper dummy and rename it to “firepoints”, don't move it
- vi. Next make a helper dummy (or just clone the last one) and move it to where the bolt(s) should actually appear. Name this point “firepoint”. If you have more than one, duplicate this one and move it to where it to belongs too.
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam15.jpg)
- i. Next we need to link everything into a hierarchy
- i. Click on the “Schematic View (Open)”
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam16.jpg)
- ii. You’ll get a window looking something like this:
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam17.jpg)
- iii. Purple/blue boxes are objects, green are helpers.
- iv. The toolbar buttons are:
- 1. Display Floater – shows the floater button, I usually keep it off
- 2. Select – same as the object selector
- 3. Connect – this is where we connect objects (this links objects to other objects)
- 4. Unlink Selected – breaks the hierarchy connection with the selected object and it’s parent
- 5. Delete Object
- 6. Hierarchy Mode – Boxes are aligned vertically (My preferred method)
- 7. References mode – boxes are aligned horizontally (sort of like ancestor trees)
- 8. Always Align – will automatically align (I generally turn this on to keep things neat)
- 9. Arrange children, arrange selected - aligns children/selected nodes
- 10. Free all/Free children, never used – never used these
- 11. Expand / Collapse Selected – Show/Hide branches of the tree (useful in hiding things)
- 12. Rest I don’t use
- v. Click on the Select button, when you move the mouse over a node, it turns into a fancy “Z”.
- vi. Click on the turret0X-arm, then click and drag it over turret0X (a line will be drawn as you move the mouse). When you release the mouse the hierarchy will be made. Now the turret0X-arm is linked with turret0X, when you move, rotate, size turret0X, turret0X-arm also comes along for the ride.
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam18.jpg)
- vii. Now link the “firepoint” node(s) to “firepoints” and link “Firepoints” to “helper”. Finally link “helper” to “turret0x”. Note: you can select multiple nodes just like regular objects, also you can do rectangle area select too.
- viii. Note turret0X0-destroyed doesn’t get linked to turret0X.
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam19.jpg)
- j. If the turret doesn’t face straight up (for example a torpedo tube) then you will need to rotate the “firepoint” node(s) to face the right direction. When you actually convert the model to pcs2 you will if they are or not. You can fix it in the models and/or in pcs2. I recommend fixing in the model so you don't have to do it again and again....
- k. Resave the model again
- l. Repeat for any other turret types.
- Attaching turrets
- a. Reload the model you were converting.
- b. Now merge the turret you just created and move it to where it needs to belong. (Note you do not have to do a reset-xform here!)
- c. Apply the update multimaterial texture to the turret (The material that contains not only the common textures but those that are for the ship too). If the turret textures get messed up, then you did someting wrong, The turret probably didn't use the same settings. Actually the material isn't important, it's the ID number thats important. Thats why I have the common textures first. For example, MultiMaterial AA's first material is called "detail" and Multimateril's BB first material is also the same "detail" you can swap them back and forth. If BB's first material was different then it wouldn't work out right
- d. Now link the turret0X and turret0X-destroyed to detail0 (the actual link order isn’t important, although it looks tidier if done in order)
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam19.jpg)
- e. Clone this turret to all the locations where it belongs
- f. Repeat this for other turret types
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam20.jpg)
- g. After we’ve linked the turrets, we can link all the other subsystems, including engines which will be detailed latter. Also if you have common subsystems or just subobjects you can save those to seperate max files and merge them in (just remember to use the common texture routine.
- h. Unhide everything. Rename the remaining lods to detail1, detail2…..
- i. Subsystems can be named whatever you wish, however, if they have lods themselves, they need to be named as such: RadarA, RadarB, RadarC….
- j. For destroyed subsystems, the name must match the intact name, i.e. Intake01 and intake01-destroyed works, but intake1 and intake01-destroyed doesn’t.
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam21.jpg)
- k. The yellow node is a skybox, the first 3 blue nodes are lods, the node with children is lod 0 and the rest are other subobjects (subsystems). Simply link the
other subsystems with the appropriate lod (In this case all the intakes are connected to LOD 0 [they don’t have lods themselves], so simply link those to detail0).
- 15. Engine thrusters:
- a. Thrusters are similar to turret setups.
- b. If your thruster is a physical subobject:
- i. The subobject must be named “engine0X” (engine0X-destroyed)
- ii. Dummy node named “Helper” should be centered at the subobjects center
- iii. Dummy node “thrusters” at the same spot.
- iv. “Thruster” should be where the flame starts
- v. “Thruster” is linked to “Thrusters”, which in turn is linked to “helper” which in turn is linked to “engine0X”
- vi. Personally I then select all of these, and then File->Save Selected save those to a separate max file, where I can latter merge them back into other models (Just like turrets).
- vii. Finally link engine0X and engine0X-destroyed to detail0 (if the engine has other lod levels, link those appropriately)
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam22.jpg)
- c. If your thruster doesn’t have a physical subobject (like on fighters)
- i. Follow the same rules as above, but “helper” doesn’t exist and “thrusters” are is centered on detail0’s center, but isn't linked to it
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam23.jpg)
- 16. Gunbanks and missile banks
- a. Guns start with a dummy node “gunbank0X” which is centered on detail0, and have a dummy “gunbank0X-0Y” positioned where the guns are and linked to “gunbank0X”. (Actually I don’t think the numbers are used, but to make things easier to understand I use them)
- b. Missiles are similar except instead of “gunbank” it’s “missilebank”
- c. Also the rotation of the “*bank0X-0Y” is important, by default (rotation: 0,0,0) the weapons will fire straight up, rotation the dummy (90,0,0) usually fixes this (You can see if it’s aiming right in PCS2)
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam24.jpg)
- 17. Shields
- a. A simple mesh, must also be centered at (0,0,0). Remember to reset x-form too. It’s not linked to anything
- 18. Eyepoint
- a. A simple dummy node named “eyepoint” is placed where the eye should be (same thing with the direction of the eye faces)
- 19. Dock and paths
- a. I don’t know how those get converted, I simply import and modify them from existing pof’s in pcs2
- 20. Glowpoints
- a. Glowpoints are setup as dummy node “glowbank0X-0Y”, located where the glowpoint(s) should be. One node for each glow spot.
- b. “glowbank” center of lod. “Glowbank0X-0Y” are linked to this one. You can have multiple “glowbank”s
- c. “helper”center of lod, and linked to the lod (usually just detail0). “Glowbank” (s) are linked to this one
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam25.jpg)
- 21. Lods
- a. Lods are named: detail0, detail1….
- b. They aren’t linked to anything
- c. They must be at (0,0,0) otherwise they’ll look right in pcs2, but misplaced once in game (guns won’t fire at the right places, eye is off, glowpoints are off…etc)
- .22 Turret & Engine renumbering
- a. Since I used one turret and cloned it, the numbering got messed up (same with engines)
- b. Hide everything but turrets, turrets-destroyed, arms, engines and engine destroyed (if available)
- c. Select the first turret, turretarm and turret destroyed. Run my turret renumberer on it (Instructions listed separately) or renumber by hand
- d. Next select the next turret and repeat…etc
- e. Do the same with engines with the engine renumberer or by hand
- f. Now select just the engines and turret bases and use the apply properties script (instructions listed sperately)
- g. Unhide everything.
- 23. Save your model
- 24. Final lookover
- a. This is how a capship may look:
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam26.jpg)
- b. And a fighter:
- (http://img.photobucket.com/albums/v356/Shodan_AI/Extras/kam27.jpg)
- 25. Export your model as DAE format
- 26. Load the dae file into your favorite text editor (Personally I use notepad++)
- 27. Do a search and replace
- a. Search for: -node” (include the quote)
- b. Replace with: “ (just the quote)
- c. This gets rid of any “detail1-node” and replaces with with “detail1”
- d. Save
- 28. Load into pcs2
- i. If you get an error about unable to find something,
- 1. Remember the name of the object it complained about
- 2. Find the object in your model. If it’s got object linked to it, detach those and do a reset x-form, then relink. Don't reset x-form while their linked!
I'll post those scripts latter tonight and how to use them.
-
All I can say is wow. Massive amount of work there Scooby.
There's a few items that I'm still sketchy on after reading it, but I'll
at least be honorable enough to go though the process before pointing
them out.
Is it just me, but now that both methods have been described... isn't the
Blender method a lot simpler?
-
Well this is more than just converting, I've also thrown in some simlification too (mostly about making templates and the common texture material). Those need only be one once and afterwards just merge and place.
-
Well done Scooby! I hope this helps the max users of HLP - it's about time they got a nice guide. :D
-
Thanks :)
I'll probably be going through it and seeing horribly bad grammar mistakes or total mistakes LOL
Here's the max scripts:
http://scoobydoo.freespacemods.net/Completed/Misc/FreespaceMaxScripts.rar (http://scoobydoo.freespacemods.net/Completed/Misc/FreespaceMaxScripts.rar)
- Download and extract to (in Vista/7): C:\users\your account\App data\local\Autodesk\3dsmax\9 -32bit (or whatever version you have)\enu\UI\usermacros
- Launch Max.
- Customize->Custimize User Interface->Toolbar->New...->Name: Freespace
- A new empty floating toolbar will appear.
- Click on the combo dropdown list "Category" , there should be one called "Freespace". There's three actions so far, "EngineNumber", "GiveThemProperties" and "TurretNumber"
- Drag and drop each one of those to the new floating toolbar.
- Right click on each of them and Edit Button Appearance (Use Image Button), pick something you like.
- Drag the floating toolbar up to the tooltray and place it where-ever you like.
How To Use Engine Number and Turret Number:
- Click on the button, this will bring up a floating window ("Turret/Enging Renumbering...")
- Select the first engine section (engine and destroyed)or turret section (base, arm, and destroyed) and click "Renumber Turret"
- Repeat for each additional one
- Don't close it until you've gotten them all. If you accidently do, the numbering will restart over again. Simpliest solution, take the current turret to be renumber, start the script up again, and keep clicking the "renumber" until it comes to the right number
How to use the Give them Propertiees:
- Select the object or objects in question (turret base or engine) and simply click the "GiveThemProperties" button
More info about these:
the Renumbering looks for "engine" or "turret" or "turret-arm" or "turret-destroyed" and rebuilds the name to include the number. Very useful when you have 30+ turrets that need renumbering LOL
The GiveThemProperties simply adds some pcs2 properties right into the object. You can view and edit these by simply right clicking on the object->Object Properties->User Defined. It doesn't care what object(s) is select it adds the basic info needed for physical subsystems.
I was trying to build a script that handles turret normal vectors, but the way max handles arrays and rotations is way different from generic programming. I have no clue there...
LOL call me old and lazy but the thought of having to do so much repetative work when it can be done with scripts is UGH.....
Edit: Here's a smarter version of give properties: http://scoobydoo.freespacemods.net/Completed/Misc/Freespace-GiveThemProperties.mcr (http://scoobydoo.freespacemods.net/Completed/Misc/Freespace-GiveThemProperties.mcr)
Two more scripts:
Remove all user properties from selected objects: http://scoobydoo.freespacemods.net/Completed/Misc/Freespace-RemoveAllProperties.mcr (http://scoobydoo.freespacemods.net/Completed/Misc/Freespace-RemoveAllProperties.mcr)
This will delete all the properties from all the selected objects.
Renumbers intakes (if anyone uses intake subsystems): [urll]http://scoobydoo.freespacemods.net/Completed/Misc/Freespace-IntakeNumber.mcr[/url]
Just like renumbering thrusters/turrets.
-
Do you want me to post what I've written up on how to set up your programs
in order to use collada support?
I've got the Max / PCS2 sections done anyway.
-
I just use this Collada version: http://www.feelingsoftware.com/component/option,com_docman/task,cat_view/gid,69/Itemid,80/lang,en/ (http://www.feelingsoftware.com/component/option,com_docman/task,cat_view/gid,69/Itemid,80/lang,en/)
It auto-installs.
-
Says you have to register to login.... try this instead.
1. Gathering the Necessary Programs.
(*Note that installation will be covered a another section below*)
For 3ds Max users:
3ds Max version 7 or later (a costly modeling suite, but industry standard)
from retail software vendors or online. For this tutorial we will be using
3ds Max 9.
ColladaMax OSS Plugin (an add on tool for 3ds Max)
from https://collada.org/mediawiki/index.php/ColladaMax_OSS
PCS2 (the main application for rigging models after export from
your modeling suite of choice) from:
http://sourceforge.net/project/downloading.php?group_id=26889&filename=PCS2_2.0.1_2008-02-11_Setup.exe&a=36916920
Alternatively - you can pick the file from the Sourceforge list of files here:
http://sourceforge.net/project/showfiles.php?group_id=26889&package_id=53033
Just make sure you get the 2.0.1 > “PCS2_2.0.1_2008-02-11_Setup.exe” file.
PCS2 Support Files
All of these must be installed for PCS2 can run properly.
PCS2 2.0.3 Updated EXE File:
http://scoobydoo.freespacemods.net/Completed/Misc/pcs2.exe
Microsoft Visual Basic 2008 Runtimes Installer:
http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en
libColladaDOM.dll File: (7zip files can be opened by WinRar or 7zip utilites)
http://the158th.hard-light.net/spicious/libcollada14dom21.7z
2. Installing the Programs
For 3ds Max users:
Max -
1. Begin by installing 3ds Max if you haven’t already got it installed. If you already
have Max, then just skip to the ColladaMax OSS section below.
If you own a legitimate copy of Max, then you should be able to put the disc in your
drive or otherwise start a “Setup” file to launch the installer.
2. Follow the prompts to install Max. (*Note that it is not recommended to install Max to an
external hard drive due to the lower data transfer speeds over USB and Firewire.*)
3. Once Max has been installed, launch the program by going to your
Start > Programs menu. Depending on which version of Max you installed, the launcher
may be under a “discreet” menu or a “Autodesk” menu.
4. Clear away any pop ups that may appear. Note that the Learning Movies (Max 9)
includes several tutorials that may be of use to beginners.
5. You can close Max down now. Just use the X button at the top right corner of each window.
This completes your install of Max.
ColladaMax OSS –
1. Find your ColladaMax file that you downloaded earlier and double click on it.
2. The installer will come up and state which versions of Max you have installed, just
clear out the pop ups that appear.
3. Proceed through the license agreement and component setup by clicking yes and install
as needed.
4. The ColladaMax plugin is automatically be added to your plug-ins in Max.
PCS 2 –
1. Begin by installing the Microsoft Visual Basic 2008 Runtimes.
This should have downloaded as a file titled vcredist_x86.exe (*Note if you
run a 64 bit operating system this file name may be slightly different*).
Launch the file and follow the prompts to get it installed, nothing special here.
2. Start by double clicking the PCS2_2.0.1_2008-02-11_Setup.exe file you
obtained earlier. Proceed through the install menus. (*Note that if your install
directory for Freespace 2 or your mod is not C:\Games\Freespace2, then you
need to adjust the path in the installer to match*)
3. Once the 2.0.1 installer is done and closed. You can locate the
pcs2.exe (PCS2 2.0.3 update) file and copy or move it to the main PCS2 directory that
was created when you installed the 2.0.1 version.
The directory should be located at C:\Program Files\POFCS2
Copying or moving the file will overwrite the existing (old 2.0.1) version of the pcs2.exe.
This is fine, so overwrite it.
4. Take the libcollada14dom21.7z file and unpack it using WinRar, 7-zip, or whatever
compression tool you have that accepts 7z files. If you don’t have a compression program,
search for one of the mentioned names on Google. Inside the archive you will find one libColladaDOM.dll file.
Take this file and move or copy it to the same C:\Program Files\POFCS2 folder as you just did with the pcs2.exe.
-
You could also start with the PCS 2.0.3 installer (http://downloads.sourceforge.net/alliance/PCS2_2.0.3_2008-05-15.exe) instead of 2.0.1. I'm not sure if just the exe changed or not between versions, if so it doesn't matter since you're overwriting it with the 2.0.3+DAE build anyway.
-
I read in one of the threads that Kazan said the 2.0.3 didn't have the dlls
such as the devIL.dll which keeps it from installing. So I went back to one that was known
working.
If he went back and updated it, that's fine, we can save some steps.
-
thx for the great tut, Scooby_Doo! :yes:
This thread should be stickified.
-
Had you written this a few months earlier it would have saved me a lot of work/figuring stuff out on my own :nod:
Excellent tut still :yes:
-
Spoon, if you have any tips you can remember as you were just figuring this stuff out, it'd probably be helpful to many beginners if you pointed them out.
-
Spoon, if you have any tips you can remember as you were just figuring this stuff out, it'd probably be helpful to many beginners if you pointed them out.
Yeah you are probably right. Might as well share some of my own experience and methods.
I do things a bit different from Scooby.
I'm using 3ds max 6 with the POF exporter plugin (http://www.hard-light.net/forums/index.php/topic,26260.0.html) which works like a charm for me (just be sure to save your export ready model before exporting). No messing around with scripts required. Just have to link and name your objects correctly.
I'm no expert in textures but I use the Unwrap UVW modifier (plenty of tutorials on the net about that) for putting on textures. It has the disadvantage however that you have to be pretty sure you are done editing the mesh.
One of the small tidbits I learned the hard way is that you have to place your model at coordinates 0,0,0 or stuff like thrusters and firing points will be off center once you put the model ingame (One of those small things that is never mentioned any where). An other thing is to recalculate the moment of Inertia in PCS2. I kept wondering why my ships were getting bounced around when getting hit by mere subachs-7's.
-
The scripts aren't necessary, they're just timesavers. They just make numbering systems easier :)
-
The scripts aren't necessary, they're just timesavers. They just make numbering systems easier :)
I see
My head usually starts spinning when I read the words "Script" and "Math" and such. So I'll admit that I didn't really read what exactly the scripts are there for. :p
-
Actually I was attempting to make another script that automatically calculated the up and forward vectors... but like you said.. "Math" and "spinning head" LOL
All the ones I have made automate the numbering system a bit... Instead of having to retype turret01, turret01-arm, turret01-destroyed, turret02, turret02-arm, turret02-destroyed.... (imagine a ship with 30+ turrets), just select the entire turret and click a button :)
-
Actually I was attempting to make another script that automatically calculated the up and forward vectors... but like you said.. "Math" and "spinning head" LOL
:lol:
All the ones I have made automate the numbering system a bit... Instead of having to retype turret01, turret01-arm, turret01-destroyed, turret02, turret02-arm, turret02-destroyed.... (imagine a ship with 30+ turrets), just select the entire turret and click a button :)
mmmm
The way I do turrets: I model a turret, name it Turret01. Make the barrel, name it TurretBarrel01. Copy that turret&barrel (hold shift, move it. copy) and max automatically gives the copied turret and barrel the name: TurretBarrel02 and Turret02
No manual rename required
-
All the ones I have made automate the numbering system a bit... Instead of having to retype turret01, turret01-arm, turret01-destroyed, turret02, turret02-arm, turret02-destroyed.... (imagine a ship with 30+ turrets), just select the entire turret and click a button :)
mmmm
The way I do turrets: I model a turret, name it Turret01. Make the barrel, name it TurretBarrel01. Copy that turret&barrel (hold shift, move it. copy) and max automatically gives the copied turret and barrel the name: TurretBarrel02 and Turret02
No manual rename required
Unforunately the pcs2 coversion requires turret0X, turret0X-arm, turret0X-destroyed. If you copy and clone you'll get turret02, turret01-arm01, turret01-destoryed01.
Edit: Also I like to keep seperate copies of all my turrets, that way I can merge them into the current project (also hence the common materials). I usually name the "template" turrets Turret0X.
-
Unforunately the pcs2 coversion requires turret0X, turret0X-arm, turret0X-destroyed.
-arm is for barrels? Cause I can name barrels whatever and they work
-
Using the collada importer?
-
pof exporter plugin http://www.hard-light.net/forums/index.php/topic,26260.0.html
-
yeah we're all aware of the old POF exporter, but it's not been updated in some time, and has enough of its own issues that many modelers have encountered, that it has prompted the switch to the Collada conversion process.
-
yeah we're all aware of the old POF exporter, but it's not been updated in some time, and has enough of its own issues that many modelers have encountered, that it has prompted the switch to the Collada conversion process.
Well it works like a charm for me... aside from the occasional random for no apparant reason crash when exporting. What kind of issues are we talking about here? From what i've gathered in this thread, the collada importer seems a bit of a roundabout way of doing things. (I could of course be completely off with this, im not speaking from experience)
(my above post with link was meant as a direct reply to scooby's question btw. Not as a "hey look guys, I found this interesting thing you may not have heard of" kind of post :p )
-
Kazan has reported that it can bork up the pof model.
-
Lots of folks actually....
Jacek's going to help me with another method bless his soul,
after that I'll try cracking this tut. May end up making my tutorial after all
if there's another method worth mentioning.
-
Bork it up in what way?
I have encountered no problems whatsoever so far.
-
Some types of models will often end up with broken collision data for one, and I'm not a modeler so I can't give you the list, but there's enough of them around here who have had it with that exporter. Collada may seem a bit roundabout, but it's a multi-platform solution, and you should be able to transfer from one program to another without losing any important data. It's just pickier though.
-
You should be able to call your turret bases and arms whatever you want; it's all based on finding firepoints (at least I think it is). -destroyed naming is entirely a FS2 requirement.
-
For some reason when I tried that it decided that the -destroyed was choosen as a child :confused:
-
You'll still need to put the -destroyed one at the same hierarchy as the non-destroyed version. I think that's also a FS2 requirement. There's no smart way to choose which subobject is meant to be the barrels if there is more than one so it just picks the first one it finds. Somewhere along the line the child ordering is probably non-deterministic and so all that is guaranteed is that one child object will be selected as the barrels.
-
I had it as
and renamed turret-arm and thats what happened
edit: here's the result
-
I've got a question -
To handle the conversion of the model and setup cockpit glass, is that done the same ways
as in the MAX-POF exporter plugin tut... or does it have to be setup differently?
I know that you typically cut the glass mesh from the model, after that my memory is fuzzy.
Might help complete this out.
Edit - Here's what's in the Styxx tut
Transparent Faces
Glass, transparency-blended nameplates, and other transparent textures should come last in the model. An easy way to accomplish this is to select all faces that use the material of your glass texture, detach them from the model, re-attach them with the attach tool, select the faces near the edge (all faces in the model may be appropriate) and perform a vertex weld with a threshold of 0.01. This will move the transparent faces to the end of the model's face list and will ensure proper rendering in-game.
* If you have a single map that is partially transparent, do this on the specific faces that will end up transparent.
* All transparent textures should be part of the root geometry (detail-0), without exception. Faces behind transparent textures, such as a pilot, are more likely to work correctly when these faces are a separate subobject.
Which forgive a poor modeling noob, but with my limited knowledge, if your model already has vertices arranged
for a glass outline, and a texture applied to it that looks like glass... why would you detatch and the retattach the glass section?
It basically does nothing but put the same thing back where it was. 1 piece became two, then back to 1 piece.
It's not exactly written to be stupid proof I guess, and I'm more of a "why doesn't it work?" than a "just do it this way cause that's
how it's done."
-
Unless I'm wrong, glass is simply a texture (of course with alpha transparency).
The material list above doesn't include it because that one was for cap ships, but my common material list for fighters includes glass as one of it's textures. I've always attached the glass to the mesh and kept the cockpit as a separate subobject.
-
Would you mind terribly putting up a pre-Dae Max file with the tut Scooby?
I'd like to take a visual look at how some things are arranged in the scene.
jacek walked me though getting just a textured model from max, to a dae file, but
we didn't do any setup really. I'm trying to come up with a list so I know exactly
how much I can do in PCS2, and how much "must" be done in max... like making a shield mesh, LODs...
I'm starting to record myself going through most of this too, so once I've got it figured out, I can
make a proper video tutorial.
-
The game does funny things with the order of rendering. If your transparent thing is rendered before what's behind it (or maybe the other way around) the thing behind it won't get rendered. The importer had a way to deal with this for transparency of one subobject over itself, but it sort of got cut when naming became case insensitive.
Are there any changes you'd like to see in the importer/exporter to make this easier, without breaking current compatibility (too much).
-
If you're asking me, my number one request would be decent documentation.
The most powerful tools are not worth anything if they can't be implemented.
Scooby's taken a monumental chunk out of the issue with the tut here, but "recent"
PCS2 specific documentation is something you still have to piece together.
Perhaps some form of key bindings so you can use a center mouse button/wheel
more along the lines of sketchup or Max's viewport controls? The less you have to mess
with on a keyboard for view, the faster you can move about.
Oh I "do" know of one. There's a bit of a bug when you have Windows set to use large fonts
and a higher dpi. I have poor eyesight and had to switch to a desktop recently, so I bumped up the
appearance settings. However in PCS2, this makes several of the menu buttons and fields barely
visible or partially hidden.
-
Heck they're all squished together in the right column even at default sizes, I always have to expand the pane myself to get it to fit right.
-
Well in my case, expanding the pane doesn't help even if you maximize the window.
You can't reach the controls.
-
Errr, fellas:
Are there any changes you'd like to see in the importer/exporter to make this easier, without breaking current compatibility (too much).
:p
-
Preventing the need for that search and replace in the DAE file for -node" with " would probably be nice. Don't know if that would break any compatibility though.
-
Preventing the need for that search and replace in the DAE file for -node" with " would probably be nice. Don't know if that would break any compatibility though.
That would be nice, if nothing else have a checkmark box for it. Also, group numbered glowbanks is also highly recommended and well as properties.
-
I've updated the max script a bit, the one that gives the properties. It would only give properties to anything that had the word "turret" or "thruster" in it, including the arm and destroyed ones.
Just copy over the existing one.
http://scoobydoo.freespacemods.net/Completed/Misc/Freespace-GiveThemProperties.mcr (http://scoobydoo.freespacemods.net/Completed/Misc/Freespace-GiveThemProperties.mcr)
Here's a couple more might be useful ones:
Remove all user properties from selected objects: http://scoobydoo.freespacemods.net/Completed/Misc/Freespace-RemoveAllProperties.mcr (http://scoobydoo.freespacemods.net/Completed/Misc/Freespace-RemoveAllProperties.mcr)
Renumbers intakes (if anyone uses intake subsystems): [urll]http://scoobydoo.freespacemods.net/Completed/Misc/Freespace-IntakeNumber.mcr[/url]
-
Scooby, thanks for your work. Please do the community a favor and expand the Wiki page on the Max exporter (http://www.hard-light.net/wiki/index.php/Styxx%27s_POF_Conversion_plugin_for_3D_Studio_Max) to include this information.
The more helpful stuff we have on the wiki, the less people have to hunt through the forums for.
-
What does Scooby's guide have to do with Styxx's exporter?
-
In general I agree with chief, but they are related in a sense that you really
need to read both tutorials in some cases to understand what needs doing for a step here or there.
Scooby's is by far the most complete, but Styxx's is like the appendix and index of the encyclopedia.
Without both you're still left scratching your head at times.
Mine is a lengthier hybrid.. but Scooby's and Styxx will still be necessary for certain parts.
My hope (if I can get some info *wink-wink*) is that with the three guides, anyone should be able to get ships in game.
-
Ok fine, they're both a good read, but unless you're to rename that article, info specific to this conversion process really has no business in Styxx's exporter's article. The two could be merged into a new article though.
-
HI this is the way I import helpers and paths from 3DSmax to PCS2.1
For turret :
(http://img526.imageshack.us/img526/1662/hierarchieturret.jpg)
and subsystem.
For bay path :
(http://img718.imageshack.us/img718/2826/hierarchiebay.jpg)
here you need to rename every "pathxx" into "bayxx" in PCS2
And for dockings points :
(http://img716.imageshack.us/img716/7739/hierarchiedocks.jpg)
In this way every path is linked with it's parent but I still have trouble with vertex numbering. It seems that when exporting to .dae vertex are added one by one without following the numbering i've used in 3Dsmax. So the result is that vertex 2 become vertex 3 and vertex 4 become vertex 1 and so on.
I dont know what is the logic of the software , I know it's not a time creation order cause i've tried.
I've tryed to use spline to create path but it has never worked.
So how do you import paths in pcs2 ?
-
Please take a look at the guide in my signature.
There's a section on paths that covers basic stuff.
I'm "still " working on an update to fix some things with it,
been too busy as of the last month or so to spare the time for it.
-
According to my experience...
v. Duplicate this helper dummy and rename it to “firepoints”, don't move it
You should align the firepoints dummy to the arm's pivot, not to the base's pivot. Otherwise the shots will appear in the wrong place in-game. When you align it to the arm's pivot, the firepoints will appear in the wrong place in pcs2, but correctly in-game.
a. A simple dummy node named “eyepoint” is placed where the eye should be (same thing with the direction of the eye faces)
It should be named "eyepoint01".
-
According to my experience...
v. Duplicate this helper dummy and rename it to “firepoints”, don't move it
You should align the firepoints dummy to the arm's pivot, not to the base's pivot. Otherwise the shots will appear in the wrong place in-game. When you align it to the arm's pivot, the firepoints will appear in the wrong place in pcs2, but correctly in-game.
You are absolutely correct... Thank goodness I haven't redone many cap ships yet.
-
You should align the firepoints dummy to the arm's pivot, not to the base's pivot. Otherwise the shots will appear in the wrong place in-game. When you align it to the arm's pivot, the firepoints will appear in the wrong place in pcs2, but correctly in-game.
So PCS2 shows firepoints for multiparts at the wrong place? Here's another suggestion for the UI revamp...
-
Wait I've had no problem with multipart turrets. I simply get the coordinates of the firepoint from Max and enter them into PCS2. You have to adjust for the axis differences but it works just fine.
-
Wait I've had no problem with multipart turrets. I simply get the coordinates of the firepoint from Max and enter them into PCS2. You have to adjust for the axis differences but it works just fine.
If you center the "firepoints" helper on the turret arm pivot point, then the individual fire points will not show up correctly in PCS2, but ingame they are correct.
-
Thanks for your tutorial i used this a lot in the past.
What is Wong with me is that i still was not able to have correct turret in game.
I've reset the turret's xform before making hierarchy, aligned the helper+firepoints with :
1st : The base turret's pivot point
2nd: turret's arm pivot point
In the two cases the firepoint are misaligned, either in pcs either in game :(
Now what is special in this turret is : The base turret's pivot point and the arm's turret pivot point are not at the same place : that may cause that problem?
I made a plan to explain:
[(http://tof.canardpc.com/preview2/8ee2ad71-9d7d-4f4a-bf38-a664c5fcb457.jpg) (http://tof.canardpc.com/view/8ee2ad71-9d7d-4f4a-bf38-a664c5fcb457.jpg)
-
It's kinda hard to make out the diagram... how about this?
(http://img.photobucket.com/albums/v356/Shodan_AI/Turret-setup.jpg)
As for arm pivots and turret pivots being in different locations, none of my turret's arms are centered.
Ok let me see if I got everything right... sounds like you did though
1. you placed the firepoints, firepoint and helper on the model.
2. aligned "helper" with the turret base's pivet point (in Max you can use Alt-A for quick align)
3. aligned "firepoints" to the turret's arm pivot point
4. placed the "firepoint"(s) to the turret barrel end(s)
5. linked everything correctly.
If the turret's firepoint(s) normal is pointing in the wrong direction, that's an easy fix.
-
Ok my turret has the same configuration as yours that's perfect!
1. you placed the firepoints, firepoint and helper on the model.
Yes
2. aligned "helper" with the turret base's pivet point (in Max you can use Alt-A for quick align)
3. aligned "firepoints" to the turret's arm pivot point
Hmm i've alligned (with alt+a) helper and firepoints together with the turret base pivot and then as it did have misalignement i then alligned them to the turret's arm
here is probably my mistake, so, if i understand well, the helper should be aligned with the turret base and the firepoints helper to the turret's arm?
because on the first post , it is written :
Duplicate this helper dummy and rename it to “firepoints”, don't move it
If this is the origin of the mistake, it would be a good thing to modify this point :)
5. linked everything correctly.
If the turret's firepoint(s) normal is pointing in the wrong direction, that's an easy fix.
yup no problem with that!
On a side note i know how to make multipart turret (naming and hierarchy etc...) but how about single part one?
-
Duplicate this helper dummy and rename it to “firepoints”, don't move it
Maybe this is the right way to do it... only if your base and arms have their pivot points at the same place ? :pimp:
Interesting explanations though. :D
-
2. aligned "helper" with the turret base's pivet point (in Max you can use Alt-A for quick align)
3. aligned "firepoints" to the turret's arm pivot point
We fixed it this way but it doesn't seem to change anything, there is a huge gap between the turret barrel ends and the point where the fire is coming out... :(
-
I fixed the huge gap by correcting the normals of the "helper" and "firepoints" dummies. But, there is still a little gap which seems to correspond to the gap between the "helper" position (at the same place as the base pivot point) and the "firepoints" position (at the same place as the turret arm pivot point).
Any idea ?
-
:D stupid me
Finally, all went right since I put both "helper" and "firepoints" at the same place as the turret's arm pivot point. Anyway, we've got to be careful about the normals of the 2 main dummies (which depends of the view from where we create them) and obviously about the firepoint dummies. I'm learning... ^^
One more thing about resizing : we must reset the positions of the 2 mains dummies to the turret's arm pivot point.
-
Great tutorial. But one thing that seems left out when it comes to heirarchy... Debris. Where do they go on the heirarchy? I noticed subsystems, turrets, destroyed variants of those... but no ship debris.
So, as it is suggested for modelers to have debris (realism) rather than magically evaporating ships (saves the enviroment :P), where on the hierarchy would they go?
And, as I saw in a Blue Planet video, a massive destroyer dies, breaking apart in half, and each of those halves continues to crack and shatter. Would one be able to do this in Hierarchy, by having, say, "Debris 1 and Debris 2" and having each halves' neighboring debris branch off like with the turrets and helpers?
-
debris go on the top level just like detail0 1 2 etc except start with debris. Same with the live debris (the ones that appear when you say blow a turret off). They are named debris-<subobject> if there is one piece or debris-<subobject>xx where xx is 01, 02, 03 etc.
Remember there is a limit of 32 per ship. That' 32 total so if you have 20 live debirs pieces you only have 12 left for regular.
-
Ah! Ok! Thanks! :)
-
Remember there is a limit of 32 per ship. That' 32 total so if you have 20 live debirs pieces you only have 12 left for regular.
Roh Roh....
-
Wait I've had no problem with multipart turrets. I simply get the coordinates of the firepoint from Max and enter them into PCS2. You have to adjust for the axis differences but it works just fine.
If you center the "firepoints" helper on the turret arm pivot point, then the individual fire points will not show up correctly in PCS2, but ingame they are correct.
This is true. I remember it being a huge deal when trying to work with multiparts on the Taiidan ships.
-
That's no longer the case.
Firepoints of multipart turrets should be parented to the barrels grouped as multifirepoints (or something like that) now.
-
I'd like to post a link to my maxscripts (http://www.hard-light.net/forums/index.php?topic=73720.0) here too, since they can be a great help. Firstly, you don't have to worry about reseting XForm until you're actually exporting the model, so you can setup object hierarchies as soon as you want and most importantly don't have to have XForms reset in your working file. Secondly, you can setup multipart turrets in Max, meaning no setting up of firepoint normals in pcs2 or manually calculating uvecs and fvecs is needed, which can be a massive time-saver when converting capships.
-
That's no longer the case.
Firepoints of multipart turrets should be parented to the barrels grouped as multifirepoints (or something like that) now.
So are all the changes like that you've made documented somewhere? If they are, then I haven't found it.
Also I'd really suggest keeping backwards compatibility for that sort of stuff if at all possible.
-
I'd just like to point out I'm not a modeler but that not resetting xform along the way thing can get you in trouble. I've seen a few models where people have failed to do that and well they are totally unconvertible. Stacks 20 or 30 modifiers deep and all you get out of them in the long run are swiss cheese if PCS2 will even read the .dae. In the end they are so bad it was decided it was easier to toss them and start over.
-
So are all the changes like that you've made documented somewhere? If they are, then I haven't found it.
No, but there's a commit log (http://alliance.git.sourceforge.net/git/gitweb.cgi?p=alliance/PCS2;a=shortlog).
Also I'd really suggest keeping backwards compatibility for that sort of stuff if at all possible.
It was changed to be consistent with the game.