Skip to content

Blender Style Rotation Gizmos#9989

Open
DrakeFruit wants to merge 1 commit intoFacepunch:masterfrom
DrakeFruit:Better-Gizmos
Open

Blender Style Rotation Gizmos#9989
DrakeFruit wants to merge 1 commit intoFacepunch:masterfrom
DrakeFruit:Better-Gizmos

Conversation

@DrakeFruit
Copy link
Contributor

@DrakeFruit DrakeFruit commented Feb 6, 2026

Summary

This PR adds a trackball and view-space rotation gizmo, similar to how blender does it

Motivation & Context

I'd like to rotate multiple axis at once, or rotate something in view-space. This is really useful for mapping in general and is part of getting feature parity with hammer and other 3D applications.

Fixes:

Implementation Details

Unfortunately to get this working I had to swap the output type of gizmocontrols.rotate to a rotation instead of angles. This is a breaking change for anything that uses this method but I have gone ahead and adjusted any engine code that uses this to reflect the change.

I've also added a gizmo method for a distance vector, the only existing method returned a float.

Screenshots / Videos (if applicable)

Screencast_20260206_125638.webm

Checklist

  • Fix world vs local space rotation
  • Fix trackball "drifting" when continuously rotating, should use initial grab point and delta from that point instead of current delta
  • Potentially add blender / hammer style rotation indicators with a pie circle that gets filled
  • Unit tests?

This commit adds a blender style trackball and view space rotation to all rotate gizmos. This is a breaking change to anything that currently uses the rotate method as you now must use the output directly rather than multiply it. Also added a method to get distance vector, not sure why it's only a float.
@DrakeFruit
Copy link
Contributor Author

Screencast_20260208_145019.mp4

fixed the inconsistency, might need to multiply rotation speed by 1.5 or something, feels a little slow

@DrakeFruit DrakeFruit marked this pull request as ready for review February 8, 2026 23:12
Copilot AI review requested due to automatic review settings February 8, 2026 23:12
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@DrakeFruit
Copy link
Contributor Author

API change seems to break my summer cottage, anyone have some advice on this? I don't think it's possible to not break the API here @bakscratch

@bakscratch
Copy link
Contributor

API change seems to break my summer cottage, anyone have some advice on this? I don't think it's possible to not break the API here @bakscratch

I don't really know what any of that means, but you also removed the snapping too? Just looking at the code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants