In Max, should I do all anims in one file?
by Jimmy Sparks · in Artist Corner · 07/27/2004 (2:06 pm) · 15 replies
Is it best to do all animations(idle, run, fire, etc...) in one .max file? Or is it better to have a different max file for each animation? I guess I'm a little confused on how to export the sequences from a max file that has all the animations in it already.
Right now, I just have an idle and a run animation. I exported a player_root.dsq(idle) and a player_forward.dsq(run). I'm having some problems in the engine with my guy turning sideways, and weird inconsistent errors with the camera.
Any help is appreciated! :D
Right now, I just have an idle and a run animation. I exported a player_root.dsq(idle) and a player_forward.dsq(run). I'm having some problems in the engine with my guy turning sideways, and weird inconsistent errors with the camera.
Any help is appreciated! :D
#2
I'll try doing it as seperate files though, because of the wierd stuff I am getting with it currently.
07/27/2004 (2:46 pm)
Thanks for the response. I was shying away from doing animations in seperate max files because of the setup involved in making everything exportable. I wanted to just do the setup with the bounds and the linking/unlinking of the mesh and shapes the dts plugin makes, once, instead of every time for each animation. I'm also converting from physique to skin, as the animations were all made using physique.I'll try doing it as seperate files though, because of the wierd stuff I am getting with it currently.
#3
07/27/2004 (2:53 pm)
The animation files don't use the mesh, and thus don't need rigging. Once you have a good mesh in the game, copy the file over, remove the mesh, and simply animate the biped. You can even chop parts of the biped, avoiding the need for node culling altogether. Thats pretty much how Halflife 1 animations were done, at least in the SDK ones.
#4
I'll try that, see how it goes.
07/27/2004 (2:56 pm)
So I can just delete the mesh itself? Won't I get an error like "no details to export"?I'll try that, see how it goes.
#5
07/27/2004 (3:20 pm)
Hmm, I deleted the mesh from both of my animated scenes. However, when I load up the new player.dts, nothing animates. I can see the root and run sequences in the Thread Viewer, but there's no animation. :( I'm stumped.
#6
After you export to a DSQ check the dump file, it will give you various information about what was exported and data about the sequence that was exported such as length, type of animation, animation keyframe data of transforms, etc.. Check that and ensure that it's all correct.
If the data that is displayed in the dump.dmp looks wrong (ie. wrong frame numbers, incorrect values, etc.) you will have to tell the exporter to sample more frames than the default 15 that the 'framerate' value is set to on the sequence helper. Slowly increase the framerate value and test out the DSQ until it works. You could if you wanted to crank the value to 60 or even 100 but that could create a bloated DSQ with more animation data than is required.
Finally, always ensure that all of the bones and DTS nodes match between your DTS and DSQ files. If you have a DTS Node such as Eye in your DTS file but not in your DSQ this can cause the sequence not to play. If you are missing a bone or have added a bone, same thing. The engine is expecting the same data between the two so that it can do the transforms properly and sometimes this type of stuff can be culled out by exporting wo/ a CFG or by not using a properly configured CFG.
Logan
07/28/2004 (7:08 am)
Ensure that you have setup the scene properly. Essentially a scene that you are exporting to a DSQ is exactly the same as a DTS, except that you don't need any model geometry (since it can bloat the DSQ). The only extra node that you will need is a sequence helper that is properly setup and configured. After you export to a DSQ check the dump file, it will give you various information about what was exported and data about the sequence that was exported such as length, type of animation, animation keyframe data of transforms, etc.. Check that and ensure that it's all correct.
If the data that is displayed in the dump.dmp looks wrong (ie. wrong frame numbers, incorrect values, etc.) you will have to tell the exporter to sample more frames than the default 15 that the 'framerate' value is set to on the sequence helper. Slowly increase the framerate value and test out the DSQ until it works. You could if you wanted to crank the value to 60 or even 100 but that could create a bloated DSQ with more animation data than is required.
Finally, always ensure that all of the bones and DTS nodes match between your DTS and DSQ files. If you have a DTS Node such as Eye in your DTS file but not in your DSQ this can cause the sequence not to play. If you are missing a bone or have added a bone, same thing. The engine is expecting the same data between the two so that it can do the transforms properly and sometimes this type of stuff can be culled out by exporting wo/ a CFG or by not using a properly configured CFG.
Logan
#7
For the most part, it seems like things should work. Also, it doesn't seem to be exporting the cam dummy object... since the camera seems to be at the feet of the guy. I'm not sure where to go from here. I guess I could try doing the setup again...
07/28/2004 (10:34 am)
Hmm, well, I've tried what you said Logan. So far, still no anims. The only difference now between my scenes is that the max file I exported the dts from has the mesh(obviously), and the 2 max files I export my root and forward(run) out of don't have the mesh in them. So my max files have the same stuff in them, with the exception of the mesh.For the most part, it seems like things should work. Also, it doesn't seem to be exporting the cam dummy object... since the camera seems to be at the feet of the guy. I'm not sure where to go from here. I guess I could try doing the setup again...
#8
07/28/2004 (11:19 am)
Try modifying your CFG file to include any nodes that are culled out (the dump.dmp will tell you if any important nodes are being ignored on export).
#9
I have one question, when I export a .dts my dump file says "Config file not found."
I did load a .cfg file before I exported, so I'm not sure what this means... Maybe there's something wrong with my config file?
If I export a .dts that has a sequence dummy in there(which I rename to player_root), the animation works. Though, I don't want a sequence dummy in the .dts do I?
Another test I did, was to have a .dts with no sequence dummy, and then 2 .dsq's which each had their own sequence dummies. One was player_root, in the player_root.dsq, the other was player_forward in the player_forward.dsq.
I ended up with no working animation this way. The .dts showed up as having no threads or sequences. I was able to make a new Thread and load a sequence, but it wouldn't load both.
Here's a basic rundown of my files:
player.dts
Bip01(and all other Bip elements. I have a basic default biped.)
base01(linked to Bip01)
start01(linked to Bip01)
bounds(linked to Bip01)
detail2(linked to Bip01)
unlink(linked to Bip01)
cam(linked to unlink)
eye(linked to head)
paintguy2(my mesh)
player_root.dsq (this is a 360 frame animation of the guy just being idle, turning his head, shifting his weight)
Bip01(and all other Bip elements. I have a basic default biped.)
base01(linked to Bip01)
start01(linked to Bip01)
bounds(linked to Bip01)
detail2(linked to Bip01)
unlink(linked to Bip01)
cam(linked to unlink)
eye(linked to head)
(deleted the mesh from here)
player_root(this is the Sequence Helper)
player_forward.dsq (this is a 25 frame animation of the guy running)
Bip01(and all other Bip elements. I have a basic default biped.)
base01(linked to Bip01)
start01(linked to Bip01)
bounds(linked to Bip01)
detail2(linked to Bip01)
unlink(linked to Bip01)
cam(linked to unlink)
eye(linked to head)
(deleted the mesh from here)
player_forward(this is the Sequence Helper)
Here's the config file I used:
AlwaysExport:
eye
cam
mount0
//mount1
//jetnozzle0
NeverExport:
Bip01
Bip01 L Finger*
Bip01 R Finger*
Dummy*
Bip01 L Toe*
Bip01 R Toe*
start01
mountpoint
DELETE*
//Ski0
//Ski1
Light0
Light1
//Mount1
//Mount2
+Error::AllowEmptySubtrees
+Error::AllowCrossedDetails
+Error::AllowUnusedMeshes
-Error::AllowOldSequences
-Error::RequireViconNode
-Param::CollapseTransforms
-Param::findMergeIndices
-Param::computeScreenError
=Params::T2AutoDetail 0
If anyone can give me further assistance, e-mail me: seiber3d@hotmail.com You can find me on MSN messenger as well.
07/28/2004 (2:42 pm)
I've checked the config file, I ended up just using the one that comes with the max file pack... I'll post that below...I have one question, when I export a .dts my dump file says "Config file not found."
I did load a .cfg file before I exported, so I'm not sure what this means... Maybe there's something wrong with my config file?
If I export a .dts that has a sequence dummy in there(which I rename to player_root), the animation works. Though, I don't want a sequence dummy in the .dts do I?
Another test I did, was to have a .dts with no sequence dummy, and then 2 .dsq's which each had their own sequence dummies. One was player_root, in the player_root.dsq, the other was player_forward in the player_forward.dsq.
I ended up with no working animation this way. The .dts showed up as having no threads or sequences. I was able to make a new Thread and load a sequence, but it wouldn't load both.
Here's a basic rundown of my files:
player.dts
Bip01(and all other Bip elements. I have a basic default biped.)
base01(linked to Bip01)
start01(linked to Bip01)
bounds(linked to Bip01)
detail2(linked to Bip01)
unlink(linked to Bip01)
cam(linked to unlink)
eye(linked to head)
paintguy2(my mesh)
player_root.dsq (this is a 360 frame animation of the guy just being idle, turning his head, shifting his weight)
Bip01(and all other Bip elements. I have a basic default biped.)
base01(linked to Bip01)
start01(linked to Bip01)
bounds(linked to Bip01)
detail2(linked to Bip01)
unlink(linked to Bip01)
cam(linked to unlink)
eye(linked to head)
(deleted the mesh from here)
player_root(this is the Sequence Helper)
player_forward.dsq (this is a 25 frame animation of the guy running)
Bip01(and all other Bip elements. I have a basic default biped.)
base01(linked to Bip01)
start01(linked to Bip01)
bounds(linked to Bip01)
detail2(linked to Bip01)
unlink(linked to Bip01)
cam(linked to unlink)
eye(linked to head)
(deleted the mesh from here)
player_forward(this is the Sequence Helper)
Here's the config file I used:
AlwaysExport:
eye
cam
mount0
//mount1
//jetnozzle0
NeverExport:
Bip01
Bip01 L Finger*
Bip01 R Finger*
Dummy*
Bip01 L Toe*
Bip01 R Toe*
start01
mountpoint
DELETE*
//Ski0
//Ski1
Light0
Light1
//Mount1
//Mount2
+Error::AllowEmptySubtrees
+Error::AllowCrossedDetails
+Error::AllowUnusedMeshes
-Error::AllowOldSequences
-Error::RequireViconNode
-Param::CollapseTransforms
-Param::findMergeIndices
-Param::computeScreenError
=Params::T2AutoDetail 0
If anyone can give me further assistance, e-mail me: seiber3d@hotmail.com You can find me on MSN messenger as well.
#10
So try moving a copy of your CFG into the same directory as the Max file that you are exporting from.
07/28/2004 (4:21 pm)
The CFG must be located in the same folder as the MAX file that you are exporting, if its not you get the "CFG file not found" message in the Dump file and will end up with the exporter ignoring certain nodes (such as its doing for you). Unfortunately the load CFG button from within the DTS Exporter does not work. So try moving a copy of your CFG into the same directory as the Max file that you are exporting from.
#11
07/29/2004 (7:37 am)
Hmm, that sounds like it's what the problem is. I'll try that, and let you know how it works out. :D
#12
I really need some help here, I have no idea what's going wrong.
07/30/2004 (9:13 am)
As I posted in the general forum, I'm still having problems with the engine crashing on loadup. My console.log is here: www.seibermaki.net/console.htmlI really need some help here, I have no idea what's going wrong.
#13
07/30/2004 (10:52 am)
If it is crashing on startup, your character probably is missing animation. Check in the showtool to see what animations you have.
#14
08/01/2004 (7:41 am)
I got characters sometimes crashing when spawned in game. Still trying to figure that one out, but it works at least in the show tool. As for the cfg load not working in max, that is good to know!
#15
at some stage there should be
exec("dasdfasdfasdfasdf/asdfafsd/asdfasdf/asdf/foo.cs");
(foo is the name of you character e.g player.cs player.dts etc)
so the enging knows the sequence and animations.
hope this helps.
p.s anyone know how to have seemless animations do you gota have same keyframe at end and start of all animations...
thanks lads & ladies in advance !
10/08/2004 (6:04 am)
Hey this was annoying me for ages i got animations in but no where did i see the mention that the compiling code i.e compiling foo.cs file in the folder with your foo.dts and foo_walk.dsq's .at some stage there should be
exec("dasdfasdfasdfasdf/asdfafsd/asdfasdf/asdf/foo.cs");
(foo is the name of you character e.g player.cs player.dts etc)
so the enging knows the sequence and animations.
hope this helps.
p.s anyone know how to have seemless animations do you gota have same keyframe at end and start of all animations...
thanks lads & ladies in advance !
Torque Owner Rex
BrokeAss Games
PS-sideways orientation I believe usually means you've exported[not culled by NOT using a cfg file] the Bip01 Node, and that causes an extra transform when the dsq file loads.