Animation Flickering/Twitching using 3DSMax and FBX

Howdy!

First of all, apologies if this has been answered before, I did a search and didn’t find anything however if someone knows that this has been answered or resolved, please feel free to post a link to the thread and disregard this.

I’m trying to import looping character animations from 3DSMax to Unity using FBX. Despite looking absolutely fine and smooth in max, some of the loops twitch or flicker as they play. Sometimes it’s quite drastic and other times its almost unnoticeable.

A bit more info: I’m using custom CAT rigs for my animation. In my FBX settings, I have “resample all” unticked. The reason for this was that it seemed to fix some instances of quite severe twitching in the past. Also, I am animating at 24fps as I come from a film animation background. I have tried altering the fps and re-exporting the animations at 30 and the twitching still occurs.

Any help or insight any of you could offer would be greatly appreciated,

Thanks in advance.

I’m a maya user so I’m not familiar with CAT, but I have seen a similar issue exporting from Maya in the past. For me I had gimbal locking on the exported data so that it looked great in maya, but some of the rotation curves poped to new positions in the graph editor which causes problems when it’s tweened in unity. In max you are animating at 24 frames per second and watching it at 24 frames per second, but when it gets to unity it’s probably playing at a much higher frame rate. The animation plays at the same speed but you see more in-between frames which show when the euler rotations pop to new values.
In maya there is a function to resample euler animation curves which fixes this. I would guess max has a similar function?
I doubt you can do this on the rigged character because CAT (I’m assuming this is a auto rigger) control the joint rotations, but you might be able to load back in the fbx file and fix the rotation values from there.

Not sure if that helped, but I hope it gave you something to look at.

Hey Gnimmel, thanks for your reply.

I went through my anims and checked for gimbal lock - none to be found. Also, to double, triple, psycho-quadruple check, my trusty compadre imported the anims into UDK and they loop 100% fine in UDK so although it was a good suggestion, I don’t think gimbal locking is the issue here.

Also, to comment on your earlier points, FBX has a re-sample all function which we had tried to no avail, as well as collapsing all rotations in the curve editor. Also, CAT isn’t quite an auto-rigger however it is a much simpler tool for rigging on a short timescale, however, I can assign which type of transformation I wish to use (Euler, TCB etc.)

I’ve attached some pictures of the curve editor from Unity to shed a more visual light on things. To specify - these are the curves as they appear in UNITY, not 3DSMax. The extreme dips in the curves the pictures show only appears to be happening in the X-axis. As far as max is concerned - the curves are fine.

Thanks in advance.

Sorry for the delay, I lost power while trying to reply to this yesterday and found out my battery backup needs a new battery.

Your curves looks like the problem I was trying to explain. It looks like your X curve jumps quite a bit which in maya is normally seen when it’s compensating for gimbal lock. In maya I could load that up and use “Euler Filter” to fix the curves and remove that jump, not sure if max has anything like that?

However, after seeing that, I opened the animation window in unity to see what one of my characters looked like and I found I had the same jumps in the curves, but no visible problems while my game was playing. My curves seem to be set to stepped meaning there is no tweening? I have no idea if that is a unity or an fbx setting, but it might fix your problem.

One thing I do before exporting from maya is bake my characters animation onto a FK only version. This makes sure it’s nice and clean with no extra nodes I don’t need. No idea if this would help your end or not.