SketchUp’s navigation around 3d space is legendary.
Orbit, Pan and Tilt are all smooth camera movements becuase they use mouse input, but Zoom is chunky because it uses the stepped input of a typical scrollwheel.
I dont mind using the scrollwheel for modelling purposes becuase I can scroll in and out by “steps”. It doenst bother me that the motion is a bit “chunky”, becuse it’s fast and fairly precise.
But (!) when presenting to others, or wanting to record a video, or just view a project as a nice walkthrough…this scrollwheel jerkiness is offputting and visually fatiguing… I’d like it to be smooth …and (ideally) to link Orbit, Pan, Zoom together, as per the Spacemouse.
So I propose that Alt+Scrollwheel click+Moving the mouse will zoom in and out.
Please let me know if that’s something that could be achieved via an Extension, or, if you have any better ideas about how to link some of the camera functions together (eg to perform a smooth motion for zooming in while panning).
Other discussion topics have mentioned the use of the Trackpad to control camera movements…that might be more complicated to operate (and relies on having a trackpad).
You might find the zoom tool useful for presenting. I haven’t used it much myself so I can’t say how it feels, but at least it’s not as jagged. It doesn’t zoom towards what is under the cursor though.
That was my first thought, too. But If we are in a Walk tool then we have to switch back and forth…
If I understand right the problem here: The mouse wheel zoom is now “stepped”.
I could imagine, SU team may have to implement a smooth transition between these steps… like a Zoom tool doing it now.
But I guess writing a separate Extension, like combined Walk-Zoom Tool is also possible. Then most probably the" stepless "zoom with the mouse wheel is also possible to program inside a plugin.
Yes. See my very first iteration of thinking below. The zoom is happening by scroll wheel here:
You can copy paste the code to Ruby console and hit Enter to try. Will work on SketchUp 2019.2 version and up. Of course a lot to do yet…
To quit, simply select an other tool. (E.g. hit Space)
Click here to see the code
class ExampleSteplessWheelZoomTool
def initialize(step = 10, slowness = 1)
@step = step
@slowness = slowness
end
def calculate_eye( view, delta )
dir = view.camera.direction
dir_new = delta > 0 ? dir : dir.reverse
eye = view.camera.eye
eye_new = eye.offset(dir_new,@step)
end
def onMouseWheel(flags, delta, x, y, view)
eye_new = calculate_eye( view, delta )
# p eye_new
target = view.camera.target
up = view.camera.up
camera = Sketchup::Camera.new( eye_new, target, up )
view.camera = [camera, @slowness]
# view.invalidate #?
true
end
end
Sketchup.active_model.select_tool( ExampleSteplessWheelZoomTool.new() )
I do like my current mouse and want to keep using it for my regular PC needs
Those “freewheel” scrollwheels worked well but they were heavy and took a lot of pressure to use the wheel click. I had one for a while but gave up as it wasn’t SKP friendly.
The following video (recorded at 18fps) shows me doing a Zoom+Orbit. (which occurs if you move the scrollwheel while orbitting…not a comfortable motion for fingers).
It’s not easyu to see in the vid, but it’s actually jerking all over the place due to the stepped movement of the scrollwheel.
You couldn’t do this with a freewheel mouse or anything, or the zoom tool.
Using the zoom tool is okay, for what it is. But it’s not like having a mouse control. The Zoom action interupts the “manual” process of navigating in 3d space. You can’t zoom while orbiting or panning.
For some odd reason Zoom also tends to struggle to maintain a good frame rate and it feels anything but fluid. I think there’s something broken with it, because FOV, shift, Pan, Orbit, etc all work very smooth where Zoom struggles on the same model/view.
The Extension AMS Smooth Zoom (i think that’s the name) is probably the best current solution…if it had a shortcut/macro to turn it off and on, and if it actually worked with SketchUp 2021…
On my PC at least (win10 +logitech) I can’t seem to assign the mouse’s thumb buttons to any SketchUp functions. having a Zoom In plus a Zoom Out shortuct, and mapping that to the buttons that mice commonly have (for Page Up/Down, Forward/Back, Volume Up/Down) might make it smoother? (not sure what the repeat rate of those buttons is typically).
Thanks - I’m playing around with the settings. It appears to do similar to the AMS Smooth Zoom.
Works okay for me with def initialize(step = 2000, slowness = 4). I can still see the stepped zooming (scrollwheel) . If this can be controlled through SKP interface with an on/off button & shortcut then i think it would be a handy tool.
It does some very “interesting” (and quite creative) things when Orbit+Zoom is activated!
Unfortunately my example tool above is independent of the others, so can not be used parallel with eg. Walk tool.
I don’t know about AMS Smooth Zoom specifically, but As far as I remember Anton is using his own external library for his tools, and works with Windows only. Therefore I think the best if SU team can implement this scroll wheel behaviour as I mentioned my previous post …
But for sure your idea is great!
I mostly don’t use a mouse. While using a Wacom pen for pointing, my left hand uses two finger scrolling on the MacBook Pro’s track pad. There’re no physical clicks to the the trackpad action, but it too looks stepped, even if they’re fairly small steps.
I am able to do a walkthrough if I select the Walk Tool.
What I wanted to write was that the Orbit, Pan and Zoom capabilities using the mouse (left button and scroll wheel) in combination with the Shift key are available when using any tool, including the Zoom Tool.