Game Development Community

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.

About the author

Recent Threads


#1
06/16/2005 (12:38 am)
Your dsq's have to have the smae bones in them as your dts's so you won't be able to use the standard animations (dsq's) with a custom skeleton unless you match all of the bone names in biped. You can create your own animations and bake the sequences into the model or export them into dsq's.
#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
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
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
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
sequence starter.fps/data/shapes/player/player_forward.dsq run failed for starter.fps/data/shapes/player/player.dts"
, occurs and the sequences don't load into the intended .DTS shape....:(

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
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)