I always use the rotate around-selcection-feature for navigating in the scene, but in object-mode it behaves, in my opinion, a bit annoying.
in 3DSmax in example, you rotate around the selected ojects’ center of mass, but in blender the view rotates around the pivot, and if the pivot is not in the center of the object, the view-rotation screws up a bit.
It would be a huge improvement in navigating with rotate-around-selection if in objectmode, the rotation-center would be center of boundingbox or center of geometry of the selected object.
In my workflow I use a different solution to the same need - to rotate around an exact and desired point in 3d space. Rather than rotating around selection, I use view3d.view_center_pick operator. I have it set to ALT-MMB click to chose the point I need (default is ALT-F).
It might not be the answer you are looknig for with this thread, but perhaps it can solve your problem with a different method?
My favorite navigation implementation is from Silo.
What they had done was have the navRotation Pivot at the latest selected pivot point.
In blender that would be latest selection, Median.
So if you currently don’t have anything selected it would take your latest Selection Median Pivot point.
I found it works really well. Very user friendly.
On top of that, what they had in their robust Sculpting environment, the navRotation Pivot point was the endPoint of latest stroke. That in particular I found very user friendly.
It basically means you didn’t need to get your cursor to the center of the screen in order to tumble the view. Cut’s down quite a bit of mouse travel when you add it all up. And feels very good while your working by areas, which is what you do mostly while modeling and sculpting. It can feel odd when you navigate from working on a finger of a hand - to the feet, though. But the positive situations by far outweigh these occurrences.
Re Silo - Blender already (kindof) works as you suggest.
The last rotation pivot is stored and uses when there is no selection. However selection a pivot point (on its own) wont set the rotation pivot.
To me this seems a bit of a detail, but perhaps its an important difference from a user POV.
Blender’s sculpting also uses the brush position for the pivot (though again, its not exact as you describe), it uses the center of the entire stroke.
But you didnt address the issues I raised about object behind the view, I suspect this isn’t so much a problem for sculpting/modeling apps, because you typically wont make entire game-levels for eg. (mostly you make single objects) but for immersive levels, object behind/outside view is quite possible/likely situation.
Definitely, this is true. And in such situations on large scale scenes this indeed is cumbersome and you have to be aware of what you’re working on. But honestly, I have had a cumbersome navigation experience on large scale sets in most any app. The main ones I had used at work being Max, Maya, Silo, Blender. But then again, I don’t work on such scenes on a daily basis. I am more of a character/prop/smallerSet type of grunt
On the note of Blender’s and Silo under the hood way of dealing with navRotation Pivot, as much as you had described they are similar (which even as a user, I have to agree to a certain degree, compared to all the 3D apps I had tried), they still feel quite a lot different from my personal perspective. For me, I have to be focused about navigation more in Blneder than I am in Silo (BTW, I have RotateAroundSelection disabled in Prefs, just felt too much of a struggle with it).
But anyway, it’s all personal preferences. Maybe the reason it suites me so well is because I’m primarily modeling/sculpting when it comes to the 3D pipeline.
I can deal with what’s currently in Blender, would I like to have an option to have it behave closer to Silo way, yes.