Changes for custom skeleton?
by Lance Macri · in Artist Corner · 06/15/2005 (7:15 pm) · 7 replies
Seems like most of the posts Ive run across deal with models using Biped for the bones structure. Im using a custom skeleton of standard bones in max 7 and Im having some problems.
Basicly the character will load fine and move around but with no animation. I am able to export the character successfully with animation if I use a Biped rig. When attempting my custom rig, I have changed the "player.cfg" file to reflect the different naming convention that I use. Ive used the same file names and directory locations for the "dts" and "dso" files so it doesnt seem like I would have to change much else. The animations load and play automatically when I load the model in the Torque ShowTool and ShowTool Pro, which makes me think that the export procedure is working fine.
My only lead is when I run the app and check the console I find this error out of the ordinary.
"Sequence import failed: sequence node "Bip01 Pelvis" not found in base shape
sequence starter.fps/data/shapes/player/player_forward.dsq run failed for starter.fps/data/shapes/player/player.dts"
Ive been fooling with this for a week and learned all sorts of cool stuff about the engine and the exporter but not a solution to this problem.
Basicly the character will load fine and move around but with no animation. I am able to export the character successfully with animation if I use a Biped rig. When attempting my custom rig, I have changed the "player.cfg" file to reflect the different naming convention that I use. Ive used the same file names and directory locations for the "dts" and "dso" files so it doesnt seem like I would have to change much else. The animations load and play automatically when I load the model in the Torque ShowTool and ShowTool Pro, which makes me think that the export procedure is working fine.
My only lead is when I run the app and check the console I find this error out of the ordinary.
"Sequence import failed: sequence node "Bip01 Pelvis" not found in base shape
sequence starter.fps/data/shapes/player/player_forward.dsq run failed for starter.fps/data/shapes/player/player.dts"
Ive been fooling with this for a week and learned all sorts of cool stuff about the engine and the exporter but not a solution to this problem.
#2
06/16/2005 (5:21 am)
Additionally, there are a few hard coded bone nodes in the engine (specifically the spine nodes), that will need to be changed if your animations don't include those nodes in the right places.
#3
Yes, I think what your saying is that the standard dsqs that ship with torque wont work with a custom skeleton because the bones are not the same. I belive I understand this and I have created new dsq files using the animated custom skeleton. I just kept the actual file names of the dsq's the same as the old ones so I didnt have to go change the player.cs file.
Stephen-
Can you point me to any resources out there that would tell me what I would have to find and change in the engine.
06/16/2005 (3:40 pm)
Matthew-Yes, I think what your saying is that the standard dsqs that ship with torque wont work with a custom skeleton because the bones are not the same. I belive I understand this and I have created new dsq files using the animated custom skeleton. I just kept the actual file names of the dsq's the same as the old ones so I didnt have to go change the player.cs file.
Stephen-
Can you point me to any resources out there that would tell me what I would have to find and change in the engine.
#4
06/16/2005 (5:17 pm)
Just search the source code for "bip" and you should find them all. Mostly in player.cc/h if I remember correctly.
#5
I've been trying to get it to work, but it just doesn't seem to want to. Is there a naming convention to the player.cs file in the player folder ? I renamed my model, changed the name in the TSConstructor thing to botdts ... deleted the lines for animations I didn't have, and changed the ones that were there to the appropriate animations I had created. What am I missing ?
06/17/2005 (3:57 am)
I have the same issue. Only, this is for my bots, and not my player. The player uses the standard skeleton, and the bot uses the standard skeleton plus a few joints and bones (and it's scaled down quite a bit). Do I have to make changes as well ? And this player.cfg file. Is that a modelling thing, or is that an engine thing ?I've been trying to get it to work, but it just doesn't seem to want to. Is there a naming convention to the player.cs file in the player folder ? I renamed my model, changed the name in the TSConstructor thing to botdts ... deleted the lines for animations I didn't have, and changed the ones that were there to the appropriate animations I had created. What am I missing ?
#6
If the intention is to have a custom rig load the default SDK .DSQ files[sequences], the naming convention of the Nodes[bones] and inclusion of the Nodes originating in the default sequences must match exactly the originals[or any for that matter]; otherwise as in the example error readout above
For loading the .DSQ files[sequences], the names of the .CS script, model, and TSSConstructor name need to be all the same[hhmm....not entire sure if the script name is relevent, come to think]. I've had pretty good luck at getting the defaults to load into a few shapes, sometimes not always with pleasant results, ;). Hope this was of some help, good luck!
Rex
...as an example,
I guess you've tried something like this,
The ShowToolPro does a great job of listing the Nodes[bones] used in any sequence, :).
06/17/2005 (6:35 am)
The .CFG file is used by the modeling platforms to directly control Node export[whether or not] within the shape as well as other features; NeverAnimate...and more arcane parameters, Collapse Transforms, and others.If the intention is to have a custom rig load the default SDK .DSQ files[sequences], the naming convention of the Nodes[bones] and inclusion of the Nodes originating in the default sequences must match exactly the originals[or any for that matter]; otherwise as in the example error readout above
Quote:"Sequence import failed: sequence node "Bip01 Pelvis" not found in base shape, occurs and the sequences don't load into the intended .DTS shape....:(
sequence starter.fps/data/shapes/player/player_forward.dsq run failed for starter.fps/data/shapes/player/player.dts"
For loading the .DSQ files[sequences], the names of the .CS script, model, and TSSConstructor name need to be all the same[hhmm....not entire sure if the script name is relevent, come to think]. I've had pretty good luck at getting the defaults to load into a few shapes, sometimes not always with pleasant results, ;). Hope this was of some help, good luck!
Rex
...as an example,
datablock TSShapeConstructor(PlayerDts)
{
baseShape = "./player.dts";
sequence0 = "./player_root.dsq root";
sequence1 = "./player_forward.dsq run";...is what the default player uses to load the .DSQ's into the player.dts shape, all things being relative; .cs script+.dts shape+.dsq sequences in same directory.I guess you've tried something like this,
datablock TSShapeConstructor(MyBotDts)
{
baseShape = "./MyBot.dts"; //[i]your custom rigged shape[/i]
sequence0 = "./player_root.dsq root";//[i]the default SDK files[/i]
sequence1 = "./player_forward.dsq run"; and it still didn't load them?!? I'd have to say it's because the Node[bone] in the sequence is not exported into the .DTS shape, or the files are not all together in the same folder[ie, bad path to resources]??The ShowToolPro does a great job of listing the Nodes[bones] used in any sequence, :).
#7
and the file is called mybot.dts
It doesn't work if I rename everything to player either (including renaming the animations)
I don't want to use the default animations. I want to use the new ones that my artist created for me.
EDIT: I can load the animations after loading the model in showtool and ift plays perfectly. It doesn't load hte root animation when I load the model though... Someone said it was supposed to (in irc)
06/17/2005 (7:22 am)
This is what I used:datablock TSShapeConstructor(MyBotDts)
{
baseShape = "./MyBot.dts"; //your custom rigged shape
sequence0 = "./bot_idle.dsq root";//the default SDK files
sequence1 = "./bot_fwd.dsq run";and the file is called mybot.dts
It doesn't work if I rename everything to player either (including renaming the animations)
I don't want to use the default animations. I want to use the new ones that my artist created for me.
EDIT: I can load the animations after loading the model in showtool and ift plays perfectly. It doesn't load hte root animation when I load the model though... Someone said it was supposed to (in irc)
Associate Matt Fairfax
PopCap