Rotating mesh stuck and does not go past 90 degree

Hi. I’m very new to UE4 and I’m working on a school project. I’m trying to make a working clock that has movable hands that move every tick. For some reason, the hands do not go past 90 degrees. I have tried both AddLocalRotation and SetRelativeRotation classes but both of them give the same result. I have been trying for days and and just found out that it is a bug with unreal engine since a very long time ago as stated here: Rotating mesh around Y-Axis pass 90 degrees - Programming & Scripting - Unreal Engine Forums

I do not know how to get past this and the examples and references provided in that and other posts do not make sense to me. I would really appreciate a workaround for this problem. I have attached my model and blueprint specs with the post for reference.

Your likely encountering something called gimble lock from the make rotator node. that node is designed to generate a new rotation based off 3 separate rotations. by trying to use your current relative rotation and adding, once you align to a plane (in this case when your clock points up) it will get stuck and spin.

just use the delta rotation directly and add a flat amount every so many ticks/seconds. heres my quick example setup that rotates a collision sphere with a child cube that will then rotate around the sphere (because its rotating).

2 Likes

wiki link about your gimbal lock: https://en.wikipedia.org/wiki/Gimbal_lock