This question is related to a problem a friend of mine has encountered (in the context of a 3D video game, if it matters at all). I'd like to know if there's a UX pattern for the following use case:

  • The user must be able to mark a point in a 3D grid.
  • There aren't any (omnipresent) constraints that would make interaction easier (such as a heightmap representing the ground). The selection is almost completely unconstrained.
  • A typical size for the grid is 30x30x30.
  • It should be relatively intuitive even for users who aren't used to navigating 3D space.
  • It should pleasant enough (or at least not too annoying) so that the user can perform it a few times (say 2-5) per minute without it becoming tiresome.
  • It would be a standard part of the gameplay, therefore it shouldn't give the impression of a "big deal" operation. This makes me feel that multiple steps should be avoided, if possible.

So far, I've had two ideas:

  • A mouse-only operation with just two well-separated steps:

    1. The first step involves clicking on a 2D plane and thus setting two coordinates.
    2. The second step involves setting the height and clicking to finalize the selection.
  • Same as the previous one, but as a one-step operation involving both the mouse and the keyboard:

    • The user can set the height of the 2D plane using the keyboard (say, using the keys W and S) and can at the same time set the other two coordinates using the mouse by clicking on that 2D plane, which finalizes the selection.

Are these approaches I've described any good? Is there an example of a better one that has worked well (especially in a game)?

  • Take a look at the game Atmosphir, it uses a 2D grid in the horizontal plane, which can be moved up and down with the Q and E keys or Ctrl+mousewheel. It also has a mode that sticks to existing objects in the 3D world (if applicable). I find it rather intuitive to use
    – Kroltan
    Aug 1, 2014 at 0:12

1 Answer 1


I would go for the second option, but have the scroll wheel of the mouse as an alternative for choosing the plane. If you possibly can, make dimension mapped to the scroll wheel the depth (ie. into the monitor) and keep the x and y of the monitor aligned to the plane over which the mouse moves. So try not to let the grid rotate (or not to much).

If the grid does rotate, your might consider letting the scroll wheel always push the plane back from the user's view or towards it. Ie. if the user rotates the z axis 180 degrees, the scrollwheel action inverts. If the z-axis is facing exactly down, or sideways, you might make the scrollwheel give it a little nudge, to help the user orient the action.

Using the keyboard or the scroll wheel is preferable, because the alternative introduces different modes. A given control (the mouse) behaves differently depending on what mode you're in (it controls either the plane or the point). Different modes are always a hassle to get right, and with the keyboard/scroll wheel there's no need for it.


Your Answer

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

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