Trackball Rotation in Unreal? Achieving Freeform Mesh Rotation Like Modo/Maya?

Hi everyone! :wave:

I’m encountering an issue with rotation in Unreal Engine 5 that seems tied to how meshes are aligned. Here’s the situation:

When a mesh is vertically aligned, Unreal’s default rotation mechanics (yaw, pitch, roll) stick to local or world space. This creates limitations when trying to achieve fluid, freeform rotation.

In 3D modeling software like Modo or Maya, there’s a feature called Trackball Rotation, which rotates objects based on a spherical or screen-relative approach. It allows for unrestricted and natural motion.

The Problem:

  • My Blueprint itself is rotated and aligned correctly.
  • However, the static meshes inside the Blueprint stay vertically aligned and don’t rotate freely, as they seem to follow the original file’s vertical orientation.

Has anyone successfully implemented Trackball-like rotation for meshes or found a workaround for this issue? Should I be calculating rotation dynamically in Blueprints, or is there a better built-in solution I might have missed?

Any tips, advice, or plugin recommendations would be greatly appreciated! :rocket:

Thank you in advance!

Look into “quaternation + bluepritns” there may be tutorials.
If not find formula how to calculate rotation, then try to recreate it in bluepritns.
Also (i am guessing) problem you describe may be “gimbal lock”

There is another way, its bit of hax, but no quaternations:

  • place invisible component
  • move this component on surface of sphere: move directions align to UpVector and RightVector of component. And one extra input to rotate that component
  • after move get vector from center/camera/pawn to that component, normalize it and then multiply by some radius, and snap component to that new point in 3d space. This way that component always stays on sphere.
  • then use find look at rotation for that new component location, or copy component orientation/rotation to camera.

However this is hax, easier (well more elegant is using quaternations)

Thank you @Nawrot I will look into that.

Maybe I just run the asset to a DCC app and Rotate it there and prepare.

Still It would be nice for unreal have have the a more free rotation method.

For reorienting mesh you can rotate it while importing, or enable mesh editing tools (in plugins) and do basic mesh modifications right inside unreal. Or place your mesh on component (Scene component) then you can rotate THAT component so mesh is aligned properly.

Yes I was thinking the best is to place them in a component inside my blueprint and just rotate the component.

Thanks