I had it implemented briefly for testing purposes that the amount of pixels the mouse moves translates the object by so much but obviously that is very disproportionate. I would like it so that I drag the arrow and it stays under my mouse and therefore moves the object correctly.
I have heard of two ways to do this but neither were explained extensively enough on how they were implemented or how effective they were. These are:
- Build a plane about the selected arrow along its axis and test for collision against that. the intersection point with the distance and direction of the ray gives a position to move by.
- Project the selected arrow axis into screen space(apparently only using the view matrix rotation) and use the dot product of this axis by the mouse delta and then some other wizardry.
Could anybody shed some light on the best method to achieve this and how to go about it?
Any help much appreciated.