Game Development Community

Multiple skeletons

by Brian Carlson · in Artist Corner · 05/13/2006 (10:23 am) · 5 replies

Hi, I'm working on a project which requires multiple skeletons, and a realize I'll have to animate every sequence for each skeleton I create, my problem is, How does Torque know which set of DSQs to use? I've looked in starter.fps/data/shapes/player/player.cs to find a single datablock of animation litings.

datablock TSShapeConstructor(PlayerDts)
{
baseShape = "./player.dts";
sequence0 = "./player_root.dsq root";
sequence1 = "./player_forward.dsq run";
...

My problem is that I want to make more datablock lists, one for each player type(skeleton), but I need to find out where it is that 'Player DTS' is assigned to the each specific player type. The most obvious place to look for this would certainl/y by the player's datablock in starter.fps/server/scripts/player.cs where even the character's shape file is loaded, but I couldn't find it. Any help would be appreciated. Thanks.

#1
05/17/2006 (4:18 pm)
Any help? please?
#2
05/17/2006 (9:01 pm)
Look in the folder for the ORC. Where the DTS is stored.
Data/shapes/player/player.cs

This file gets stored with your player model and animations.

//-----------------------------------------------------------------------------
// Torque Game Engine 
// Copyright (C) GarageGames.com, Inc.
//-----------------------------------------------------------------------------

datablock TSShapeConstructor(PlayerDts)
{
   baseShape = "./player.dts";
   sequence0 = "./player_root.dsq root";
   sequence1 = "./player_forward.dsq run";
   sequence2 = "./player_back.dsq back";
   sequence3 = "./player_side.dsq side";
   sequence4 = "./player_lookde.dsq look";
   sequence5 = "./player_head.dsq head";
   sequence6 = "./player_fall.dsq fall";
   sequence7 = "./player_land.dsq land";
   sequence8 = "./player_jump.dsq jump";
   sequence9  = "./player_diehead.dsq death1";
   sequence10 = "./player_diechest.dsq death2";
   sequence11 = "./player_dieback.dsq death3";
   sequence12 = "./player_diesidelf.dsq death4";
   sequence13 = "./player_diesidert.dsq death5";
   sequence14 = "./player_dieleglf.dsq death6";
   sequence15 = "./player_dielegrt.dsq death7";
   sequence16 = "./player_dieslump.dsq death8";
   sequence17 = "./player_dieknees.dsq death9";
   sequence18 = "./player_dieforward.dsq death10";  
   sequence19 = "./player_diespin.dsq death11";
   sequence20 = "./player_looksn.dsq looksn";
   sequence21 = "./player_lookms.dsq lookms";
   sequence22 = "./player_scoutroot.dsq scoutroot";
   sequence23 = "./player_headside.dsq headside";
   sequence24 = "./player_recoilde.dsq light_recoil";
   sequence25 = "./player_sitting.dsq sitting";
   sequence26 = "./player_celsalute.dsq celsalute";
   sequence27 = "./player_celwave.dsq celwave";
   sequence28 = "./player_standjump.dsq standjump";
   sequence29 = "./player_looknw.dsq looknw";
};

Matt
#3
05/18/2006 (2:08 pm)
Yeah....I mean how do you say, "This particular character type goes with these specific animations?" My intention is to use more than one skeleton type, and different animations for each. I couldn't actually find any reference to the default set of animations from the PlayerBody datablock, which would make the most sense on where to establish the list. Ya just kinda repeated what i wrote initially..
#4
05/18/2006 (6:19 pm)
I believe the character is associated with a particular set of animations through the datablock definition. the tsshape construct associates the animations with the base file "player.dts". when the playerdata datablock is defined as using "player.dts" as its shape, those animations are automagically associated with the character as well.

bottom line, animations are bound to dts files which are bound to datablocks. so using different animations for different characters would require defining separate datablocks for each character.
#5
05/18/2006 (8:02 pm)
Thanks, and I noticed in the header of the animation datablock it has 'playerdts,' so is i a rule that the parameter name is the same as the model's name, just without the period?