3

We are looking to build an application with a 3D render of some object. We came across two different way of handling the camera with the mouse.

Setting 1 babylonJS (select 2-basic elements in the top right button):

  • left click + drag : rotates the camera around the object
  • mouse wheel : zoom in or out
  • rigth click + drag : move the camera in 2D (X / y Axys)

Setting 2 (seems to be unity3D, but i was unable to find a playground on the web)

  • left click + drag : move the camera in 2D (X / y Axys)
  • mouse wheel : zoom in or out
  • rigth click + drag : rotates the camera around the object

Is there an official best pratrice out there on how to use the mouse with a free camera?

In the same line of thoughts, is there best practice for using a free camera with fingers? I'm guessing:

  • Two fingers rotation: to rotate camera around the object
  • Pitch : to zoom in or out
  • One finger move: move the camera 2D (X / y Axys)

TL;DR

Is there any research / best pratices on the way to handle a free camera?

  • 3
    As someone that uses numerous cad softwares: everyone does it differently. – whatsisname Dec 24 '17 at 18:04
  • Object or objectS? In case of a single object I'd strongly advise against a truly free camera - keep the center of rotation constant. – Jan Dorniak Oct 21 '18 at 13:04
2

Pick defaults and allow users to reassign if needed.

Personally, I haven't had too much experience with the type of movement controls you describe, and depending on your audience, many of your users might be the same way. Help your users out and pick defaults based on...

  1. what your users find most intuitive
  2. what's most popular
  3. what you feel is most appropriate

(in that order)

...then allow your users to be able to reassign those controls if they need to.

Alternatively, provide a quick setup to easily select these settings.

If you are able to do so, consider providing the user with two 3D renderings and have them interact with each. For example, to decide what click-and-drag should do, the left rendering can pan while the right rendering rotates. Here, the user will be able to immediately evaluate which feels more intuitive.

Something like the following might be worth considering:

mockup

download bmml source – Wireframes created with Balsamiq Mockups

  • 1
    As a 3D developer there is no standard, whether I use Maya, 3DS Max, Blender, Sketchup (Worst) or even engines like Unreal or Unity 3D, they are all different. I tend to just learn with trial and error and get used to the experience. Making settings works great but when I have colleagues sit down and help me this really handicaps them as they can't use my camera. Unfortunately not an answer but please take these insights – Bromox Oct 21 '18 at 0:01
  • @Bromox that’s a good point—I hadn’t considered other people trying to use the same computer. – maxathousand Oct 21 '18 at 1:23
1

My Experience

As a 3D developer there is no standard, whether I use Maya, 3DS Max, Blender, Sketchup (Worst) or even engines like Unreal or Unity 3D, they are all different. I tend to just learn with trial and error and get used to the experience. Making settings works great but when I have colleagues sit down and help me this really handicaps them as they can't use my camera.

Recommendation

It would be useful to be able to change my settings to adhere to what I am used to, but I would love a toggle button that would change the camera back to defaults while this is turned on, this would let other people (colleagues) use my software without the annoyance of change keyboard settings/profiles. This toggle button should be easy accessible and fast to switch.

  • Might also want to add "With some pre-defined profiles that let you select a tool you are used to in order to have this one work the same" – Aaron Oct 22 '18 at 19:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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