CMP/Animation/Sur creation with 3ds MAX
-
This part of the Tutorial will explain how to setup your CMP for animations, This can be used to make any kind of animation from a rotating dish on a base, to a opening docking bay door. With this tutorial anyone should be able to make a station or a fancy model from start to finish with ease.
-
Ok just to save time, Repeat steps 1 and 2 in my previous post, attach your mesh into a single group. And rename to something relevant.
-
Now we shall Detatch the pieces of our model that we wish to animate, For now i will only be animating a Satellite Dish. First of Select the ‘Polygon’ tool to the right of your screen**(1). And then highlight the area that you wish to detach as a seperate group(2), Then hit the Detach button (3) and a window shall pop up asking you to name your group, Name the group a Relevant name i will be calling it “Dish”(4)**
Referance Image shown below -
http://i52.tinypic.com/j7ysuh.png
- ok now open up your Schematic View and you should now see two groups, Your Root group and the group you wish to Animate**(1). Select the Group you wish to Animate, Click on the Group drop down menu at the top of the screen(2)**, Then select Group and name the Group - lod0 (3)
Referance Image Shown Below -
http://i52.tinypic.com/xoe175.png
- ok now click the group drop down menu at the top and Group your mesh again.
Before i tell you what to name your group i will explain a little about the tag you need to put at the end of the name and why.
There are two options to name your group here. name.rev or name.priv
.rev - tag means the group is meant to rotate around a point. This is what i used in things like the Gyroscope, The playerbases processing plant and dish.
.priv - tag means the object will have a sliding action, personally i cant really think of many uses for this kind of animation besides doors. Though right now i have an inspiration slump so i cant think of anything.
ok So for this model since it is supposed to be a rotating Dish. I will be naming my group Dish.rev
Referance Image shown below -
http://i52.tinypic.com/122kbdj.png
- ok now for the most important part about this tutorial (and it isnt even hard thats the beauty of it). Freelancer works off a weird set of world coordinates in comparison to other games, A rotation animation rotates around the worlds ‘absolute zero point’, Now the 3ds max 9 cmp exporter sorted this problem by making the pivot point as your absolute zero point. So in order to make our animation rotate properly and note go flying off into the ether we now have to allign our Pivot point to the place where we want our Dish to rotate around.
For this animation i want my dish to rotate around the bar it is connected to. 1st of all you need to select the Hierarchy tab (1) at the right of the screen then select “affect pivot only” (2). Once you have done that Select the move button at the top of the screen (3) and then move the pivot point to the proper place. (4)
I cannot stress enough how important this is, make sure the point is in the proper place to save yourself hassle. if you have screwed the placement up you will need to redo the placement and set the pivot point correctly.
Referance image shown below -
http://i52.tinypic.com/2uh0i78.png
(6) Now that we have done that we can now export our CMP. This time when exporting the CMP select
“Create component for every object group and offset them based on the 3ds Max pivot using FL’s cons node (recommended for animations” option. Untick Create Wireframe and then hit ok
congratulations your CMP is now exported. Now for the finishing touches.
(7) If you are making a landscape Repeat steps “6, 7 and 8” From the previous post.
If you are making a Ship or Station Repeat the “cmpname.0.vms -> change this to cmpname.lod0.vms.” part of step “7”
(8) ok now to setup the animations frames, Open up a cmp with an animation present, I would recommend using one of the following
"Solar/Dockable/playerbase/Playerbase_10 for a rotation animation
and "Solar/dockable/dsy_SolarBase for a priv animationlook for the node named “Animation within the node” and drag the node into the “/” node of your cmp.
Referance Image shown below -
http://i55.tinypic.com/htzn5z.png
(9) now drop down the animation node, delete all the unessecary animations you dont need, in this instance all i need is the dish rotation so i will delete the 3 door animations and the plant animation. Once you have done that drop down the dish animation and double click the Child_name node. name this node the same name you named your group in 3ds max. In this instance it will be called “Dish.Rev”
Referance Image Shown Below -
http://i55.tinypic.com/2isxk07.png
(10) Ok now to wrap this step up, i will show you how to set the frames of your animation. Drop down the Channel node and double click on the “Frames” node. A window will appear Showing Frames, Time etc etc
Ignore all the information in the small boxes and look at the larger box with the string of numbers.
This box is much easier to work with that the above generate data box. The box is setup as
Time
Position
Time
Position
Time
Position
Time
Position
Time
PositionFor animations the position must always start at 0 and end at 0 or you will get a glitchy animation. the show animation is 13.36 seconds long. Since there are 5 frames to this animation i there are 5 instances of the “Time, Position”
To be honest i am finding this hard to explain in words. All i can say is fiddle with it, this is the easy part aslong as you start and end with ‘0’ and have the time go up gradually you will be fine.
Referance Image Shown Below -
http://i51.tinypic.com/2h55xg3.png
- Ok now the fun part. Drop down the CMPND/Cons node, and open up the rev node. A window will appear with lots of XYZ mumbo jumbo. Ignore most of this and look at the bottom where it says.
Axis Rotate and Min, Max
The Axis Rotate is the axis the Model will rotate, Personally i suck with figuring out which axis is which in a 3d plane so i tend to just select one if its wrong try another.
Min, Max - Is basically the ammount of degree’s the animation is allowed to rotate. This is done the same way as a Turret Hardpoint. -#, #. In this instance i want a 360 degree rotating dish so i have set it to -360, 360.
For a priv (sliding animation) This will be done slightly different. It will be setup 0, # the 2nd number will be how many radians the object is allowed to slide in one direction. Again hard to explain in words just fiddle with it and you will get it to work its not hard.
Referance Image Shown Below -
http://i56.tinypic.com/fe416x.png
**And there ya have it, you can now animate your models along with export em! Fantastic eh? Now your only problems now is getting used to 3ds’s learning curve. I would honestly recommend people get rid of their MS3D stuff and start using this exporter, Even if you wish to just use it as an exporting medium like MS3D. Using the GW-OBJ importer you can import any model with textures included and then export the model the way it should be done. Bounding box issues, All of those nasty little glitches that ms3d create no longer exist with this exporter it is pretty much the closest thing you could get to what Digital anvil has used. I hope this tutorial has shown quite how easy it is to get stuff out and working in comparison to the old ways.
Hope this helped you all
IMPORTANT NOTE - the exporter i have uploaded is for 3DS MAX 9 only, i do believe there are versions for 2010 and 2011 also located somewhere on the startport.*
-
-
**With this part of the tutorial i will now explain how to hitbox your models in 3ds max along with adding moving hitbox parts for your ships and stations.
The tools you will need for this part of the tutorial are.
- Havoc Content Tool
- Schmak’s OBJ -> Sur tool
- A Hex editor of your choice
- DB software - CRC hash calculator
I have supplied a link to all the tools you need (i have also given a trial version of hex workshop just to show how this is done. but you will need to find a free version for yourself at a later date or buy hex workshop) for this tutorial i will be using a trial version of “Hex workshop”**
This link is for the Havoc content tools -
http://www.mediafire.com/?46oyg292mz2l10h
This link is for the rest of the applications you need -
http://www.mediafire.com/?51rtq718xb919l5
(1) Install everything you need to install (hex workshop + havoc content tools)
(2) Open up your model, click the ‘utilities’ button at the right of the screen (1), click the More button (2) a window will pop up select the Havoc Convex Hull Utility. (3) Once you have done that a section will appear on the right roll out scroll down to find it it should read something like.
Max verts
Samples per step
number of steps
Generate HullRefferance Image shown below -
http://i54.tinypic.com/317egqd.jpg
(3) Once you have done that set your Convex hull utility to the following settings
Max Verts - 64
Samples Per Step - 10
Number of steps - 5(4) Delete the parts of the model that you wish to animate. In this case i will be deleting Docking clamps on the side of my station. I know what you are all thinking. “WHY! WHY DO I NEED TO DO THIS!?” all will be explained later on. Just make sure you dont save your model by the end of this or you will need to remake your doors/clamps/whatever.
Referance Image shown below -
http://i51.tinypic.com/2h5i1ih.jpg
(4) Ok now its time for us to start creating the hitbox (cheers) Just like the way i detached the dish in my previous tutorial Select the polygon tool (1), Highlight the area you wish to detach (2) and then hit the detach button (3), Please note that when detaching objects for hitboxing keep them simple. You can detach as many times as you like so to keep a nice tight fitting hitbox keep the objects simple.
For this part i will make a couple of images and show you how i am splitting my model up.
Referance Image shown below -
- http://i56.tinypic.com/28jee6v.jpg
- http://i54.tinypic.com/dz8ltx.jpg
- http://i54.tinypic.com/ibz1pc.jpg
Ok, another tip i would give is to right click the view port and select “Hide unselected” This way you get rid of the stuff you have detached and it helps you get around your model.
(5) Ok once you have split up your model into the proper chunks, Its time to start creating our convex hull. Select one of your groups (1) Click the Utilities button once again (2) And then hit the Generate Hull button (3). You will see a horrible colour appear over your group. Just hit the delete key and you will be left with your convex hull. Repeat this for all of your groups! until you are left with something like the image below (4).
Referance Image shown below -
(4) Note - Notice all those different colours. Thats all the pieces i have split my model into. All of which are simple little shapes. Try and mimic that as much as possible or get even more intricate with the process
(6) Ok once we have done that hit “CTRL+A” hit the group drop down at the top, Group the model together it does not matter what you name this just click ok. Click the Rotate button at the top of the screen (1) And Rotate the model 180 Degrees (2)
Referance Image Shown Below -
http://i56.tinypic.com/x3si01.jpg
(7) Ok once you have done that select the move button (1) and then right click it. A window will pop up with 2 sets of XYZ coordinates Put 0 in all of these boxes and then hit ok (2)
Referance Image shown below -
http://i54.tinypic.com/zbmfn.jpg
(8) ok click on your model and then goto Group -> Ungroup. Now that we have done that we can export the model. Click File -> Export Select the file type “Wavefront OBJ” and match your setting to the image below. Also name the model the same name as the CMP you are making a sur for.
Referance Image Shown below -
http://i56.tinypic.com/2ynqvxc.jpg
(9) Ok now open up Schamks OBJ -> Sur converter, Browse for the .obj file you just exported and select it. make sure the box you can type in is set to 5,0 and both of the other options are unticked and then click “Go!”
Congratulations folks, you have created a tight fighting hitbox!? With absolute ease.
(10) Ok now for adding in your parts of the hitbox you wish to move along with your animation. Open up your model once again in 3ds max. And delete the MAIN model this time leaving your groups you wish to animate.
(11) ok now in my case i am left with 6 clamps. Delete all but one of the clamps that you need. Leaving you with one group.
Referance Image Shown Below -
http://i56.tinypic.com/4vpua0.jpg
(12) Once we have done that we need to goto ‘utilities’ and then Generate Hull, Delete the old group leaving your convex hull.
Referance Image Below -
http://i56.tinypic.com/34or4mg.jpg
(13) Ok now select your Single clamp/door/dish. And then right click the move button at the top. Same as last time Put ‘0’ in all of the boxes and hit ok. Once you have done that Export the file as a .obj, Open up Schmaks OBJ -> SUR converter. Browse and select the piece you just exported and then hit “Go!”
(14) Ok now for the tricky part (this could get confusing so please just bare with me. Its still easier to do than the old Sur splice method) Open up the CRC calculator and type in “Root” at the top without the quotations ofcourse (1). note the number inside the unsigned CRC sections (2).
Referance Image Shown Below -
http://i56.tinypic.com/2e2qnhd.jpg
(15) ok now open up the hitbox piece you just exported with Hex workshop and hit “CTRL + F” now here is the confusing part. Remember that unsiged CRC number i told you to take note of in the CRC calculat? i need you to put that number in the Value box but in reverse. I shall show you what i mean in the image below.
Referance Image Shown below -
http://i55.tinypic.com/2wchch5.jpg
(16) Once you have done that hit ok. And it will highlight a set of numbers “-.h.” from that number i need you to highlight EVERYTHING below it including the code. The only part that should not be highlighted is “vers…@”
Referance Image shown below -
http://i51.tinypic.com/nfj2r.jpg
(17) Copy everything you have highlighted and then hit “CTRL+A” to highlight everything DELETE everything then hit “CTRL+V” to paste what you have copied. It will come up with some mumbo jumbo message just say yes. And save your file.
(18) Once you have done that go back into your CRC calculator and in the box Type the name of your component.
THIS MUST MATCH THE NAME YOU GAVE THE GROUP IN 3DS MAX. If i was to give my previous tutorials model a hitbox i would name the component “Dish.rev” But in this instance since i am hitboxing the station. I will be calling it Clamp03.rev. I cannot stress enough how important it is that you match the names TO THE LETTER. Or this will not work and you will screw your hitbox.
Referance Image Shown Below -
http://i54.tinypic.com/30j20zs.jpg
(19) Once you have done this Go into Hex editor and hit “CTRL+H”
In the find box. Type in your reversed “Root” code in (2d8f6812). And in the Replace box put the name of your piece’s unsigned crc code in reverse. In this instance Clamp03.rev = Unsigned CRC = (4a6ca5f4)
Referance Image Shown Below -
http://i52.tinypic.com/16775sw.jpg
(20) Once you have done this hit ok. A screen will come up saying Find next, Find previous blargh blargh. Hit “Replace All” and then save the file, once you have saved the file hit “CTRL+A” again and then copy all the writting. Now open up the hitbox you wish to add this piece to. In this instance i will be opening up the “dsy_small_Station.sur”
Paste the information you just copied previously. to the VERY BOTTOM of the currently opened file. Save the file.
And HEY PRESTO!?
Referance Image Shown Below -
http://i53.tinypic.com/2s9ywc5.jpg
You have just added an animated, moving piece to your sur. Just rinse and repeat steps “10 -> 20” if you wish to add more. and you will be done in no time!
**And with this my 3DS FL modding 101 tutorial is complete. I hope you all had a good time reading these tutorials and i hope they have helped everyone get their heads around getting your models setup. If there is any questions feel free to pm me on the forum, on skype or on here.
Thank you
Credits:
W0dka - For creating the CMP exporter
That idiot Silent Assassin (my brother) - for creating the CMP exporter
Schmakbolzen - For creating the OBJ2SUR exporter** -
Awesome. Well done.
-
Superb work, and excellently illustrated.
Thanks for giving us your know-how, time and effort!
-
Its no problem at all, i been meaning to do something like this for a while. And since i have been leeching modding tips/hints from this site for a long time i think its about time i gave a little something back.
Though on a further note i have a question for W0dka or anyone who might know the answer
It relates to the wireframe part of the exporter, I am just wonder what A) a indice is (forgive this if its a stupid question)
And what sorta poly count should we be looking at in terms of getting the wireframe to export properly? In this tutorial i simply told people to untick the box cause i aint personally had a low enough poly model that it works with yet. (mostly because i do bases and landscapes when modeling i dont do ships, if you seen my attempts you would understand why hehe)
-
Indices is how many vertexes a model has, I believe. There is a set limit of 12000, I think. Which is around 4000 polygons. I generally try to make the wireframe aound 1000 polys. It’s easy if you make LODs for the model.
-
I’ll need to write a proper documentation some day. The thing with wireframes is that they should be done on the actual model based on the lods (this is how FL does it) rather than by using a seperate mesh for it.
So in the lod groups, just name the lod you want to be the basis for the wireframe “vwd_lodX” where X is your lod number. This will cause the exporter to use that specific lod for the current components wireframe data.
If you dont specify anything, I think it’ll always use lod0.
Anyways, there may be models where even the highest lod has too many vertices. There is a hack for getting higher vertice-count wireframes to work. I’ll need to search for it and I’ll post it on the limit breaking sometime.
However, actually the highest lod should never be really higher than 12k (you have 6 lods at your disposal!) so…