Comment on page
Precise selection has always been a crucial part for working in VR. Besides the usual auto snapping to the world grid, which adaptively adjusted the snapping step to our size, thanks to user requests there's now the possibility to customize snapping settings. For example, if you know that your ascetics are multiples of size 10 cm, these settings are definitely worth using. You can set the step you want and arrange objects with snapping to some grid with this step.
It's possible to customize settings in every mode - precision control has never been so convenient!
Gizmo is good, but what about free-mode snapping when the object is in your hand?
To do this, we have implemented snapping on surfaces familiar from traditional 3D software, when you can snap an object to the surface of another object and slide over it. This could be done in different ways in VR. With a focus on UI design, where there is often an interface plane, a canvas, an application window, we decided that it would be most useful not to constantly snap to the surface of an object, but to indicate a point on another object with the first click, as the basis for a certain temporary local coordinate system / plane and move the object already in this coordinate system.
We also wanted to be able to not only move but rotate, with rotation aligned to the object you are snapping to, and switch between movement and rotation on the fly, like in the first Gizmo mode (Bound based). There is support of snapping to the surface of multiple objects and also additional visual highlighting and indicators for clearer understanding of how exactly the objects will be snapped to each other.
Grid snapping is one of the basic tools for accurately placing objects in space. It helps to arrange objects by hand, but with a snap to a 3D grid and with a rounding of rotation.
With any snapping modes activated in gizmo, special snapping points are activated in all available modes when gizmo handles are used. That is why you can make object alignment more accurate and convenient.
The next integral part for any design application is a Guid or auto Guid instrument. It allows you to moderate the size and position of a certain object respectively to another one. Hence, it was quite challenging to adapt this function to VR as there is more snapping and rotation freedom.
Now you can align and adjust objects relative to other objects with a gizmo by "sticking" a gizmo control of one of the axes to the surface of another object, and then by sliding it around.