Download

Strange rotation flickering in animation playback, non-existent in frame step mode

Hey guys,
I’ve recently picked up Unreal after tinkering on and off with Unity for some time. While developing some basic assets to play around with the engine, I’ve run into some unexpected behavior with a conveyor belt animation that I threw together. When viewed in 3ds max or any external fbx viewers, the animation plays correctly: the treads follow a basic spline path in the shape of a rounded rectangle. However, when played back in unreal, the treads seem to bug out every couple of frames when they reach the outermost edges of the spline. Curiously, when stepping through the animation frame by frame in Unreal’s animation viewer, the treads seem to follow the correct path. It is only when the animation is played back that this unexpected behavior appears. You can see this ‘flicker’ in the screenshot that I’ve attached below:
conveyor belt animation error.jpg
I have attached the fbx file with the animation baked as well. As someone who is completely new to the engine, I undoubtedly must be making a mistake here without realizing it, so any help on this matter would be greatly appreciated :slight_smile:

You are flipping the Z rotation of the belts when they approach the edge. You can see this by applying a different material to the outside of the conveyor belt, then when it reaches the bottom the material is now inside the conveyor belt which is strange. Because of this the linear interpolation makes them go a bit crazy. You should remove the flipping on the Z and only flip on the Y rotation so it acts more like a real conveyor belt. There’s no need to animate on 2 axes in this case.

You are absolutely right; there is a setting for this exact behavior in the 3ds max “Path Parameters” tab. I can’t believe I missed it! I’ve attached a screenshot of the necessary setting to enable below:
allow upside down.png
Thank you for taking the time to help me! For anyone else who experiences this behavior, if you need to batch apply this setting to an object selection, you can use the below maxScript that I threw together:

/tick ‘allow upside down’ flag in path ‘follow’ parameter for all objects in selection/
theObjs = selection as array
clearSelection()
max modify mode

for obj in theObjs do
(
select obj
$.pos.controller.Path_Constraint.controller.allowUpsideDown = on
)