Inf Studio - Move/Rotate Objects

Once an object has been placed into the game world, we need to expose controls to select it and manipulate it.

The widget that comes up needs to handle movement along the primary axes, and rotation along the primary axes as well.

We can expose the manipulators as 6 lines (2 for each axis) for position, and a set of points for each of the 3 axes for rotation. Each axis is color coded.

Underneath the manipulators, we can construct planes that will actually keep track of what the previous and current cursor position is, and that way we can determine how the user wishes to move or rotate the object.

We also want to look into how we can snap both translations and rotations to some fixed interval (grid, angle amount).

Checklist:

  1. Move objects around with movement handles.
  2. Rotate objects around with rotation handles.
  3. Snap Movement and Rotation.