利用者:Manowii/Snap System

提供: wiki
移動先: 案内検索

Snap System

On this page you will see plans in developing a better Snap System for Blender.

Why is it important?

For virtually every type of 3d production, object dimensions need to be evaluated to have a good representation of the equivalent in the real world.

Mechanized parts, houses, furniture, urban equipment and others are some examples that, during modeling, need to have tools to enable modeling with a far greater precision than the human vision can provide.

That's where snap tools come in. Tools that constrain the movement of a 3d point to a predefined value depending only on a threshold in 2d or 3d.

These tools can work for example with angles, scales, intersections, that is, measures in general. The important thing is to get a precise value from the approximation of elements.

But does not Blender already have a snap system?

Yes, Blender currently has an efficient snap system. However it is limited to a few tools:

- Ruler;

- Knife Tool;

- Edit Armature Sketch

- Selecting Elements using the mouse;

- Individual transformations between vertices, edges or faces, involving translation, rotation and scale from a specified point through selection to a predefined target type.

Obtaining the 3d coordinate of a point from a 2d coordinate is the basic function to acquire an infinite range of snap tools. Blender shows that it already has this feature. So why this limitation?

Why is not the Blender snap system enough?

Perhaps none of the 3d programs has enough snap tools to cover all needs. However, Blender has fewer tools than most.

It is no use talking about which tools are important and which are not. Because this is a very relative issue, and Blender developers may not be willing to do maintenance of additional code.

But maintenance is not a problem when the code of new tools is obtained through addons. Freelance developers can work on their own code, make it available to the community and maintain it without overloading a team with more code, more compile time and more maintenance.

The idea is to expose the snap functions for python. And so, a range of new addons will be created naturally.

If the problem is just exposing the existing functions to python, why has not this been done yet?

Anything that starts out wrong, might end up right, if you fix the mistake in the beginning. The Blender snap system has some problems. Of which most have already been corrected:

Fixed:

- Removed incoherent occlusion test;

- Fixed Bias;

- Fixed threshold to objects passing through the mixed snap (ruler);

Improvements:

- Immensely improved performance with array caching and the use of bvhtrees;

- Mixed Snap more predictable (ruler);

TODOs:

- Do a correct occlusion test (D2527);

- Make the mixed snap work in a single loop (D2527);

- Exposing the snap function for python;