Horde3D

Next-Generation Graphics Engine
It is currently 29.12.2024, 01:47

All times are UTC + 1 hour




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: accessing animation data
PostPosted: 18.08.2009, 08:35 
Offline

Joined: 16.05.2009, 12:43
Posts: 207
Hi guys.

Ok, so I figure I'd try making some simple cutscenes for my game (to test the workflow for those). What I need is to be able to do a few things:

Create a dummy object in max that simply animates as the 3dsmax camera animates, export the animation but NOT render the object
Retrieve the transform of the dummy as it plays an animation

I can get the transform for a node, so that should be no problem. But is there a way to have the node invisible but still in the scene?

Basically, I'm proxying the game camera to the animated node, so I dont want the node to be visible, but still want it to be animated.


Top
 Profile  
Reply with quote  
PostPosted: 18.08.2009, 09:18 
Offline
Tool Developer

Joined: 13.11.2007, 11:07
Posts: 1150
Location: Germany
a very simple solution is to replace the shader with one that does nothing :-)


Top
 Profile  
Reply with quote  
PostPosted: 18.08.2009, 14:43 
Offline

Joined: 16.05.2009, 12:43
Posts: 207
I did think of that, but for some reason it feels wrong :)


Top
 Profile  
Reply with quote  
PostPosted: 18.08.2009, 17:23 
Offline

Joined: 16.05.2009, 12:43
Posts: 207
As a follow on question from that. Is there a way to animate arbitrary parameters on an object and retrieve those from the mesh node?

Imagine I had a "camera" object in a scene. In max I'd create this camera object and setup some animation for it. At runtime, what I'd like to do, is use this animation for my engines playback. But further to that, what I've done in the past, is added arbitrary values to the model in max and accessed that data during playback to animate the camera FOV etc.

Just trying to think through how to do this using Horde's animation stuff is all. Any ideas? Doesnt collada have a camera track thing?


Top
 Profile  
Reply with quote  
PostPosted: 19.08.2009, 04:10 
Offline

Joined: 08.11.2006, 03:10
Posts: 384
Location: Australia
zoombapup wrote:
But further to that, what I've done in the past, is added arbitrary values to the model in max and accessed that data during playback to animate the camera FOV etc.
Hmmm... I don't know if arbitrary data is supported. Though you could "emulate" this by having a second invisible animated object. You could the interpret the second object's rotation/position as arbitrary data. E.g. position.x might be used for FOV etc...


Top
 Profile  
Reply with quote  
PostPosted: 19.08.2009, 20:33 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
Horde supports only mesh and joint animations that are within a single model. In fact, a 3ds max scene is considered as a single model/asset (e.g. a character) and not as a whole scene or world. The recommended pipeline is to export models from a DCC tool and compose the world in a separate scene editing tool like the Horde Editor. So I think it does not make sense to handle camera or object animations directly in Horde. These, as well as timelined node attribute changes, should rather be handled by a separate cutscene module that is layered on top of Horde.

I would probably write a small script for 3ds max (or any other DCC tool) that outputs the camera animation and desired parameter changes to a custom XML/text file. This is usually quite easy and quick to do using maxscript.


Top
 Profile  
Reply with quote  
PostPosted: 19.08.2009, 22:01 
Offline

Joined: 16.05.2009, 12:43
Posts: 207
Hmm, I just got the feeling that cameras were supposed to be supported in collada format specs.

To be honest, I think I prefer using Max for scene composition than any home-made editor. :) I know you've put a lot of effort into making the scene editor, but it adds yet another toolset to learn and when I'm working with professional artists, they expect to pretty much work in thier toolset of choice.

Its not a huge issue, but I'd prefer to see Horde3D get some recognition and I'm guessing that maybe some of the things that strike me as strange might also do the same to other devs.

I guess the maxscript option is a possibility. It hadn't occured to me to do that. Its not a big priority for me just yet. But if I come up with a useful solution I'll share whatever I do.


Top
 Profile  
Reply with quote  
PostPosted: 20.08.2009, 20:09 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
It could make sense to have a modified version of the collada converter that interprets the collada file as a whole scene and outputs a bunch of models along with a scene description file. Basic metadata could be encoded in the object names. However, this is something that will probably not be part of the Horde core. Scene formats are very game engine specific and it is difficult to find a common one that is good for everyone. I think Horde is more useful for serious projects when it is clear about what it is supposed to be: a powerful renderer and not half of a weak game engine.

Another option is to integrate Horde directly into a DCC tool. I know that some studios are doing that with their engines, for example the Killzone II engine is running directly in Maya. Blender has support for game engines as well. However, this is probably a lot of work to realize.

zoombapup wrote:
I guess the maxscript option is a possibility. It hadn't occured to me to do that. Its not a big priority for me just yet. But if I come up with a useful solution I'll share whatever I do.

Thanks, that will be very appreciated!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group