What is best practice when exporting looping animations for use in a realtime 3d game engine? for example: looping walk cycle (frame 0 and frame 100 are identical) 1. set start frame to 0, end frame to 100, export or 2. set start frame to 0, end frame to 99, export Option 1: duplicate frame data but curves placed end on…
Thanks for the reply. totally not the answer i was hoping for as now I have a bunch of re-exporting to do. My animations are all full length, and our outsourcer's are all one frame short. Although I can't notice any skipping in engine... I have done this for pre-rendered sprites before because you obviously don't want…
Yes, omit the last frame on export as it's a duplicate frame and will cause a skip. Also, for looping anims it's a good idea to set out curve out-of-ranges to infinite and flatten the tangents at the beginning frame from the curve editor.
You have a key set at 100 so the curve is correct but you export it at a Key Per Frame 0-99 which basically bakes the curve. Really the frame is fairly inconsequential. What will register as a pop is if your curves don't loop properly. In maya you turn on pre and post infinity curves and they should flow seamlessing…
thanks for the reply. I trust with both of your experience that you are correct. But do you know what's going on the engine to make this correct? I can't wrap my head around how this could be correct when a portion of the full curve is clearly missing from the data (and i guess cannot be interpolated). Imagine an extreme…
Same in UE4, you need the first and last frames to be the same in order for a clean loop. Reason is, as opposed to stuff like maya, ue4 doesnt treat animation frames stepped. It smoothly interpolates even inbetween steps (you animate at 24fps, but the game plays at 60 or 120 fps so its really vital that the engine…
Just got back from vacation, but wanted to make an example for this question. I don't mean contradict musashidan and Mark, but it depends on the game engine you are working with. For Unity you do want to keep the duplicate frame at the end. The example below is a one second animation slowed down to 10 seconds in Unity.…
Engines assume looping. They treat the animation as a chunk to be duplicated next to itself, as many times as needed. The pre- and post- curves are created by interpolating between one end of the imported sequence and the other end.