Jump to content

ambient sequence


Recommended Posts

Interesting. Well, it must be the blender exporter doing it, then, because Torque definitely does not do that. Can you send me a sample dts that you've exported from blender with sequences on it? Or check it out yourself in hexedit - it's free and it will tell you what's on the actual dts file, without ever loading it into Torque.

Link to post
Share on other sites

I only export as collada, since .dts is not supported, there are only really old exporters out there and I don't want to use the ancient blender version needed for it.

But it is not the export process, since by default you only have one timeline in blender to animate on, if you want more, you need to make another scene or model, or use the action strip editor which can have multiple timelines, but no idea if they can be exported and interpreted well in the engine, I don't think anyone ever tried this.

Link to post
Share on other sites

Ah, well that's it then! Interesting. There's an "action strip" editor? I know literally nothing about blender, I've fired it up to convert some models and that's the extent of it so far. :-p


But being open source, I'm sure it wouldn't be that much of a stretch for somebody to add independent sequence support. Or just keep working around it, since you've got a functional workaround already.


You could also use that tsshape::write function to save it the model with individual sequences, after you've already split your ambient sequence once using your current method.

Link to post
Share on other sites

Aha! Issue located! And, apologies, it *is* in the engine. :oops: But it is not a property of the dts format, it is coming from the collada importer.


Apparently, if your collada file has animations organized into "clips", then it will load your sequences with their own names, otherwise it puts together all the "library animations" into one default clip it names "ambient".


Here's the relevant source, from ts/collada/colladaImport.cpp:

 


DefineConsoleFunction( enumColladaForImport, bool, (const char * shapePath, const char * ctrl), , 
...

  // Get animation count
  for (S32 i = 0; i < root->getLibrary_animation_clips_array().getCount(); i++)
  {
     const domLibrary_animation_clips* libraryClips = root->getLibrary_animation_clips_array()[i];
     stats.numClips += libraryClips->getAnimation_clip_array().getCount();
     for (S32 j = 0; j < libraryClips->getAnimation_clip_array().getCount(); j++)
     {
        domAnimation_clip* clip = libraryClips->getAnimation_clip_array()[j];
        tree->insertItem(animsID, _GetNameOrId(clip), "animation", "", 0, 0);
     }
  }
  if (stats.numClips == 0)
  {
     // No clips => check if there are any animations (these will be added to a default clip)
     for (S32 i = 0; i < root->getLibrary_animations_array().getCount(); i++)
     {
        const domLibrary_animations* libraryAnims = root->getLibrary_animations_array()[i];
        if (libraryAnims->getAnimation_array().getCount())
        {
           stats.numClips = 1;
           tree->insertItem(animsID, "ambient", "animation", "", 0, 0);
           break;
        }
     }
  }

 

So blender must be saving out anims as library anims instead of as clips, I guess.

Link to post
Share on other sites
I think exporting the animations as single animation files is the best way to handle it, this way you can exchange and fix single animations without touching the whole thing and also re-use animations for other models later.

I think your final "re-use animations for other models" reason is the best reason for this. Any model that uses the same skeleton can use these animations, and this gives you the option to only attach the animations you're actually using for that particular character - saving space in the .cached.dts file, which is a very minor benefit, in the process. Of course, only editing and exporting a single short sequence versus the entire series is good, too.


By the way - I'm right! Nyah nyah!

Link to post
Share on other sites
I think exporting the animations as single animation files is the best way to handle it, this way you can exchange and fix single animations without touching the whole thing and also re-use animations for other models later.

I think your final "re-use animations for other models" reason is the best reason for this. Any model that uses the same skeleton can use these animations, and this gives you the option to only attach the animations you're actually using for that particular character - saving space in the .cached.dts file, which is a very minor benefit, in the process. Of course, only editing and exporting a single short sequence versus the entire series is good, too.


By the way - I'm right! Nyah nyah!

 

I am right for like ten hours!!!!!!!!!

wZZ7oFKsKzY


:lol: :lol: :lol: :lol: :lol: :lol:

Link to post
Share on other sites

I am right for like ten hours!!!!!!!!!

wZZ7oFKsKzY


:lol: :lol: :lol: :lol: :lol: :lol:

Go to the bottom of my downloads page - RoostertailGames downloads - and pull down the Nyan Cat game zip...

http://www.roostertailgames.com/downloads/NyanCatGame.zip.txt - just clip the .txt off the end and unzip it. Then you can be frustrated for as many hours as you like by that horrible music while trying to get a score over 70. At least it doesn't cheat anymore.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...