4

I'm working on a software program that handles many 3D objects. Imagine for now that all objects are cube shaped and 100% transparent, only the edges are visible.

In the software program you can select only faces of objects. You can currently do that by clicking on the face that's aimed towards the user. When you hover over a face, it gets highlighted.

I want to make it easier for users to select a face that's behind another face for the same object. How can this be achieved in a clear and user friendly way without rotating the 3D object?

To illustrate: enter image description here

In the above example, how can I easily select the 'bottom' face? Right now when you would hover over the 'bottom' face, the 'left' face gets highlighted.

1
  • The same problem applies to the background-square: You cant select it, as it is overlayed by "left side" and "top". For simple shapes and forms it might be applicable to let the user press "Shift / Alt" while clicking on a face to select the "background" shape that is overlayed by others. This idea might break if there are more complex forms with more than 1 overlaying object.
    – hamena314
    Jan 6, 2020 at 16:30

3 Answers 3

4

Clicking the Faces center. If you draw a small dot in the center of each face, you would have less overlapping.

You can click near the dot and select the corresponding face. In Blender (with wireframe mode) it is like that:

enter image description here

edit: Here is a gif:

https://i.stack.imgur.com/oEu2z.jpg

4
  • 1
    Interesting, thanks! Do you maybe have a .gif or something to show how this works? Then I can imagine it a bit better. Jan 7, 2020 at 14:25
  • 1
    added a gif link
    – KYL3R
    Jan 7, 2020 at 15:14
  • Thanks for adding the .gif. Seems like this would work great. A large downside I can think of is that you always have to be close to the middle dot to select a face. If there is a very large object that might be not entirely visible in the viewport, the user has to zoom out first to select the dot. I'm curious how a problem like that could be solved. Jan 8, 2020 at 10:01
  • @GerlofLeuhof it depends on the size of the faces if that works well. But you don't have to be THAT close to a point, it always picks the closest.
    – KYL3R
    Jan 8, 2020 at 14:37
2

Cycling through the faces may be a simple solution, but what is the problem you are trying to solve?

Clicking can cycle through all possible faces under the cursor, or if clicking needs to also deselect a face, Alt+Clicking or Option+Clicking can do the cycling. This does have some issues if the objects are more complex than cubes or if there can be many shapes stacked up in a scene.

What is the use case for selecting these faces?

If the objects really are transparent wireframes, there is no point of reference for what is the front or back of the object. You shouldn't treat faces that are towards the user differently if they can't tell which ones those are.

I can't think of a 3D modeling program that doesn't allow the rotation of objects or the camera. Users will likely expect this functionality, and with it the ability to turn things until they see what they want to interact with.

Most 3D modeling tools also offer alternative ways to select objects to deal with common scenarios that make visual selection of faces impossible. Consider a case with faces that are perpendicular to the camera (or nearly so): there may not be enough pixels on the screen to make a suitable click target. Or, what if there are 1,000 objects nested inside each other: any interface that works for 6 faces probably won't scale to 6,000.

Often these tools have a textual list of objects (and/or faces, edges, or vertices) that allows users to indirectly select the element they want to work with in situations where direct selection would be problematic.

1
  • Thanks for your answer. The problem I'm trying to solve is allowing users to align objects as quickly as possible. Sometimes they're in a specific 3D view and want to stay in that view. Rotation is still allowed, but it takes extra time for the user to rotate around the object, select a face, and rotate back. The objects aren't exactly this transparent wireframe, but they are all transparent and cube shaped. Fortunately nested objects aren't really used in the software. I guess using a shortkey + clicking can do the trick, although I have to make that somehow clear to the users. Jan 7, 2020 at 8:06
2

You could do it as in Adobe XD that let's you select layers underneath a layer by holding ALT. So basically whenever the user wants to select a face that is behind it can do so by holding the ALT button.

2
  • I'm not familiar with Adobe XD, how do they make it clear to the user they can use the alt key to do that? Jan 7, 2020 at 11:26
  • 1
    They really don't , after a software update they had an animated GIF that showed this functionality and how to use it.
    – Chris
    Jan 7, 2020 at 11:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.