If there is nothing under the cursor use last depth/position for orbit. The way it is now, when you orbit with cursor off model it seems to pick arbitrary depth and you spin into oblivion.
That is how I feel it should be implemented.
Yes, I totally agree. It’s a great idea but right now it’s unusable. Not to mention, I got in the habit of moving the cursor off the model while rotating the view because if the transform gizmo is on and the cursor is inside the circle, and you click and drag with the alt key held down, it will still move whatever is currently selected.
This is one of my additions, its working as you describe on my system - since you’re getting some odd/unexpected behavior - please report a bug.
I reported it in the bug tracker.
fixed r60159. (It worked for me in perspective but the bug was in ortho mode only)
I hope someday I will have enough profit from my small business to donate to BF. You guys are best developers ever.
ideasman42, just a question, the auto-depth feature seems now to respect the depth of last cursor position on model, however it seems to use the off model cursor position for orbit center, is this right?
I think there may be instances where this could be useful, but in my opinion and for my typical workflow I would much rather have both the depth and cursor position from last on model orbit for subsequent orbits off model.
@el_diablo, right - it uses the previous depth, but it still orbits around the mouse position at that depth.
it could be changed, but then this point in space needs to be stored viewport, not sure its really worthwhile and its possible you do some view operations, click off the modal and an old viewport location is used that you don’t expect. … yes, it could be cleared based on some simple rules but this starts to get a bit fuzzee and I prefer to keep this working simple-predictable.
Any suggestion in which struct should I stick the previous orbit position? rv3d seems to be initialized on viewoperation from active camera, and seem bcontext isn’t persistent. Any tips are welcome.
Added the necessary modifications to make it work as mentioned. If anyone wants the patch I could probably make one (as soon as I find out how :).
Here is a bit hectic screencast (I always forget the framerate problems).
Basically it pivots:
On model at the point clicked.
Off model at the last point clicked on the model.