2-D Navigation Mode — pixel-perfect pan & zoom for sculpting from photo references

TL;DR Replace or supplement the current “Lock Camera Rotation” (on ViewCube) with a mode that locks any camera motion and turns gestures into flat pan/zoom, so reference images and sculpts stay perfectly aligned—no parallax drift.

Hi Stéphane & community,

I’ve been sculpting in Nomad since 2021 and am really amazed at how much it has grown! One big feature that’s been on top of my wish list the whole time is a simple alternative 2-D pan and zoom navigation mode when working directly over a photo reference.

Whenever I zoom into an eye or a wrinkle in order to work on details, I miss the precise pan/zoom you get in a few other 3D apps (and Photoshop). Even with “Lock Camera rotation” active, any pan or pinch nudges the camera through 3-D space, so the mesh slides under the picture and I waste time realigning instead of sculpting.

Why orthographic alone doesn’t fix it.

A common suggestion would be “just switch to orthographic.” That doesn’t work well because no photo is taken with an infinitely distant camera. The sculpt camera must match the perspective of the photo reference, otherwise the model would look good only from the one angle it was modeled in and really odd from all other angles.

Why mapping the reference on an image plane doesn’t fix it either.

This also is a reply I got (I requested this for ZBrush a long time ago, but it wasn’t accepted) The problem with that is again parallax. The moment the camera shifts sideways — even a bit — the 3D model and the image plane separate. True pixel-match requires a camera that never leaves its position.

Proposed 2-D Navigation Mode

  • Locks the camera’s orientation and position; it cannot dolly or shift laterally (like in “Lock Camera Rotation” mode).
  • Converts gestures to pure 2-D actions: One finger outside/two fingers drag and pan the view window, pinching changes field-of-view to zoom (no physical dolly). Two-finger roll could be an option as it would also roll the reference image.
  • Exiting the mode restores normal 3-D navigation instantly to where it was before
  • Saved cameras: When you recall a saved camera, it should relaunch in 2-D mode with the same pan/zoom offsets you originally set.
  • A small “2-D/lock” badge on the view cube could remind users they are in the mode.

Should this replace the current Lock mode?

Conceptually, yes—“lock” ought to mean immovable. Re-using the existing icon keeps the UI lean. If artists rely on today’s semi-locked camera for micro-orbits, the feature could live beside it as a new “2-D Nav” action, but I’m happy either way; the core need is a lock that really locks.

A real 2-D Navigation Mode would let us trace silhouettes, wrinkles, tattoos, mechanical cut-lines, logos—everything photographers capture—without the constant camera dance, speeding up detailing sessions and easing the transition for artists coming from Photoshop or Procreate.

Thanks for considering, and I’m happy to clarify anything!

—ray

P.S. I originally requested this in 2023: (Link reference image with camera) I hope this version is clearer.

1 Like

I believe it is happening :dizzy: :clap: :smiley:

just checked the web demo a few minutes ago. Really awesome. This must have been a lot of work because all the brushes etc probably expected an unshifted input!

Some feedback on what I saw:

  • works flawlessly already when entering lock mode, panning and zooming works just as expected.
  • probably known : saved views don’t restore the lock state/pos atm
  • when exiting lock mode there’s a perspective jump probably from resetting the 2D shifted view matrix
    => what most apps do here is reset the original state from before locking was activated, I think this would be the least confusing and would keep the alignment
    => problem with that is, that in the current demo, panning & zooming actively shift the reference image positioning values (a solution might be that the reference image offsets are stored temporarily just as a “view” thing, applied as a double offset)

Anyway so thrilled right now!

Btw just noticing right now how heavily I relied on AI on that first post :speak_no_evil_monkey: Gotta dial that down… this one is 0-AI!

1 Like

I could reset it, but only for perspective, or add an option to reset both ortho/persp.

with that option (default on - resets ortho too) it seems the most consistent.

Some indication that the user is in 2D zoom mode could help with the surprise when exiing lock/zoom.

What XSI does it darkens the area around the original 3D viewport when zooming. I always found this a very good indication (although it only works when zooming out).

Thanks for working on this big one!

__

.. just one more idea .. the home button could have an alternate function in lock mode: do the view reset without having to exit/reente lock, I think that would be useful (and would prevent accidentally moving the cam in lock mode)

Hm beginning to think having separate reference image offsets for interaction and the actual image positioning would be better. (Interaction offset would not be in the UI it would just be added to the normal offset)

For example when you zoom in and notice you have to do some small correction to the position with the sliders. These changes would be gone when unlocking.

The changes doesn’t necessarily get discarded on exit, it’s a user choice.

If I want to keep the alignment (perspective mode) I didn’t find out how yet. Disabling sync before exiting does the fov jump.
(Not a super important feature though, the user can always tweak the alignment when unlocked)

Great, thanks - new demo feels like an improvement, separating (at least from a user perspective) reference image placement and 2d navigation I believe is making sense.

A totally different thing i was wondering about is whether this new viewport shifting tech could also be used for normal 3d viewports to “stabilize” reference images alignment when switching from landscape to portrait mode (or more generally, when resizing the window)

__edit .. On second thoughts this last one might not be a good idea, it would probably need separate view/camera aspect ratios and it could get confusing UI wise.

Can I suggest some final :smile: minor tweaks:

  • To completely separate 2D navigation from the UI values, I think it would be better if the camera FOV changes (could be a multiplier) would also stay hidden in the UI, similar to the reference image placement offsets.
  • Some reference images need a FOV of 2 degrees (minimum currently is 10)
  • Resetting the view in 2D mode with the house icon should just reset the view (not unlock)
  • I assume you don’t want to include the lock state/position in the saved views, which is understandable. But there’s still a little bug when switching saved views from a locked state: After switching, view gets unlocked/reset but camera stays in the old place