No interpolation between frames in animation

Hi,
I have a skeletal animation (walk) which has 15 key frames. Is it possible to somehow play the animation that no interpolation between frames would occur (That is to set animation curves interpolation - use const)? I want to achieve the stop motion like animation without any interpolation between the frames.

I’ve read some threads in which people tried to export .fbx but with const animation curves but the engine will neverthless use splines/linear. Is it still true?

Anyway in unity I can fake it with asset post-processor, where I could duplicate the animations curves and set the const interpolation for every curve. Would something like this be possible with unreal?

Thank You

Well playing around with curves > character animation in app can get messy but you can create the stop motion effect by changing the key type in the host app from linear to step.

The step key will hold the pose until the next key frame but depending on the host app you will need to bake out the per frame animation to FBX so that it will work and play back in UE4 with out interpolation and you don’t have to mess around with curves as the animation data set is absolute.

Thanks for the reply,
I was under the impression that step curves wouldn’t suffice. But I don’t know if I understand the “depending on the host app you will need to bake out the per frame animation to FBX”. Do I need to set some specific option during export? Or do you mean that the animation would become pure vertex animation?

If it will work as you’ve described, it would be great.

Thanks

Yuper it’s an FBX export check box. If checked any controller, bone, or moving object with keyframes will generate a per frame key making the data set absolute, also some times called straight ahead instead of pose to pose so no way will it interpolate as the next key is the next frame.

So I’ve tried to set the step tangents and exported with baked animations but in the unreal, the animation is still interpolated and not choppy (I’ve removed some keyframes to be it choppy).

Maybe I’ve done something wrong as I’m a programmer and not an artist.

Do you know where could be the problem? I could post the files if needed.


Thank You

Humm strange.

Here is an overview of how it should work.

http://arlab.com/doc/arlab/product/3d_engine/exporters/3ds_max/4.advanced/baking_animations

The key paragraph stats.

“We need to go to the “Animation” Tab, Open the “Bake Animation” menu, activate it, and select the start and end frames to select the frame range we want to bake, in this case, 0 to 100 is right. When you bake an animation, usually a keyframe by each frame is generated. If you want to decrease this to save memory and you trust your animation will look fine this way, you can change the value in the “Step” field to more than 1. Once you’re done with this, press OK. “

The key word is “should” so I don’t know why it didn’t as to get it to work you will need to generate a per frame key.

Since FBX is a Autodesk product you can follow up here.

http://forums.autodesk.com/t5/fbx-plug-ins-import-export/bd-p/area-b65

Sure I can check out your source file but I use 3ds Max 2013 but for animation I use MotionBuilder so if you can supply at least the FBX I can take a look see. Would be an interesting “see if I can force it to work” project. :wink:

But

The proof is in the demo

[video]https://youtu.be/0TnMXh2uqE8[/video]

So it can be done based on the theory so as an example I just animated the box using step keys and plotted it’s properties to the time line so if you can plot in what ever app your using per frame then it has to work.

Overall though it’s a bug on Epics part as UE4’s FBX importer should respect key types on import so you might want to post to the feed back forums.

Thanks again for the reply,
I’ve tried to use a different combinations and it always interploate between the frame. I still think I’m doing something wrong.

Anyway, here is a link to the file (MegaFile Upload) where I’ve “simplified” the curves for the animation being “choppy”. I’ll try to post also on answer and find out what is wrong.

Thanks for your help, I appreciate it.

I have the same problems…any advices to resolve this? :slight_smile:

Maybe this Answerhub thread can help? I don’t think there’s a clean and easy way to do this, but I posted a workaround in there that I have I used in a previous project.

https://answers.unrealengine.com/questions/109312/how-can-animation-be-evaluated-at-a-specific-frame.html

Just for your information, Guilty Gear Xrd (made in Unreal Engine 3) uses animations without interpolation (limited animation)

Look after 33:45

Even if you have 30 FPS, the engine will still interpolate the keys. So if you are running at 60 FPS, you would get an interpolated keyframe on say 12.5, 13.5 and so on. This is why animation compression exists and can be used successfully in the engine. It will store only the relevant keys and then interpolate keyframes to save memory.

The team behind Guilty Gear most likely disabled the interpolation somewhere in the engine code.

Inside animation asset settings you can select “step” between framse instead of “interpolate” image

2 Likes

No, for future-comers, this is WRONG.
Doing that is insufficient to get rid of the interpolation IN-GAME.