Jump to content
  • Advertisement
Sign in to follow this  
mdlx_gen

Need opinions for an engine feature.

This topic is 2520 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone.
I would like to hear your opinions on something. I'm working on a 3d game now and the animation format I'm using uses a "loop start frame" value: if animation is looped, the first time the animation will play from start to finish, the second time from that frame to end and like that every time. It's useful for cutscene animations: the player can move his hand up and stay like that (idle) , all this with a single animation file. Of course you could have 2 animation files instead: one for moving the hand up another one for the idle, then you could play the first, then start looping the second when the first one has finished. However, this won't really work for us as we are porting a game to a new engine with all the assets already there.

Anyway, I would like to know if such "loop start frame" is common in animation files and should something like that be available to a game engine's animation system, or should users create two animation nodes and take care of playing the second one when first finishes.
I contacted the game engine's devs to hear their opinion of adding something like this to the engine's animation system and they said they would like to hear some more opinions.

I think this would be very useful for games which use lots of cutscenes. I personally had to write bunch of code to make it work myself in the game's code, I wouln't want others to go through all of this and thinking of an open source license for the game, of course I'd want such stuff to be in the engine's source so to make the code simpler and cleaner.
So what do you think?

Share this post


Link to post
Share on other sites
Advertisement
If I'm reading this correctly, you are talking about the following:

Some Animation:
| 0-.9 is "lead in" animation | .9-1 is the "looped" portion/idle.

Off the cuff, it definitely sounds useful from a programmer perspective but unfortunately I don't really see the point. DCC tools don't work this way and as such the animators have to build two separate animations anyway then paste them together with note track information (assuming they can tag random data into the animation stream like Max/Maya allow) to tell the replay where the repeat point is. From all points of view, animator, tools/cinematic replay code, etc I think separate animations are the easier and more flexible solution.

Sorry, I'd suggest you run your current data through a tool to split the lead in and the looped portions. I believe that the engine devs are correct in questioning such a feature request. Having just released a game with insane amounts of cinematic's, I just can't imagine how this would be an improvement. For all intents and purposes it would likely just move a week worth of programmer time to an hour of extra animation time for *every* animation, which is a very bad balance.

Share this post


Link to post
Share on other sites
Adding a loop start frame to animations isn't very general: for example, some animations could have a once-through section at the end rather than at the beginning, while sophisticated systems could have branching frame sequences, random choices between looping different portions to reduce repetitiveness, and so on.

If you are willing to evolve your animation file format, you should try to support general animation systems with a lowest common denominator feature: sharing 3D models, common poses and as much other data as possible between separate animations, both for compactness and to ensure coherence. For example, you could store the hand vertices and textures, the raising hand motion data, and the held up hand motion data (presumably sharing the only or initial pose with the end of the raising hand animation).

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!