1
$\begingroup$

I've made jewellery for long time now and I never figured out one thing if its even possible to do in Blender, if you can pavé the gems based on a surface and not based purely on its topology.

I know there's a way with topology but that's not what I'm looking for because i don't want the mesh to be deform or on the other hand, too dense.

If there's any way in geometry nodes or an add-on or any tricks that can help me, I would appreciate it a lot.

BTW, I do use the Jewelcraft add-on and there's not an option for this, yet.

$\endgroup$
2
  • 2
    $\begingroup$ I am not sure about what you mean, but if you want no correlation between a surface and a point cloud distribution at all, you can seed a plane almost tangent to your surface with a random distribution then use a "Raycast" node with rays perpendicular to the plane to "project" the point cloud to your surface. This way, your surface topology is not used to seed random points. If this not what you are looking for, could you provide a picture ? $\endgroup$ Commented Jan 4 at 8:06
  • 3
    $\begingroup$ Why not share some image examples of your desired results? It would be clear what you want exactly and instantly. It might also be a good idea to define terms from other fields than CG. I, for example, not being native English or French speaker nor an expert in jewelry had absolutely no idea what "pavé" gems are without googling them... $\endgroup$ Commented Jan 4 at 8:56

1 Answer 1

3
$\begingroup$

Here's a GN group that will pack instances on a surface, irrespective of its topology. The packing is based on a hexagonal tiling of its UV space.

It relies on 2 subgroups.

A hexagonal tiling of a given UV space, using a method explained here :

enter image description here

.. and a group which measures the linear relative stretch of the UV map with respect to the mapped surface:

enter image description here

This group is responsible for scaling instances to fill the surface, in proportion to the hex cells in which they are placed. Something close to the output square-root of the scale is required to do this, but I've left that outside the group to allow for no scaling at all (IS Exponent: 0).

They can be used in the following tree to place the instances. Points are redundantly spread on the surface by subdivision, moved to the locations of their hex cells, and merged:

enter image description here

Inputs provided:

  • The Geometry to be paved, and its UV Map
  • The Instance to be distributed
  • A Scale for the instance, and a multiplier for convenience, to aid the entry of small values
  • An exponent to scale the instances with respect to UV stretch. This would normally be set to 0.5.

This is the kind of result:

enter image description here

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .