2
$\begingroup$

How can I use Geometry Nodes in Blender to project 7 lightbulbs in a circle on top of a flashlight glass lens? I have a flashlight geometry and want to snap evenly distributed the bulbs onto the surface of the lens defined by a single Face captured by the Vertex Group "Flashlight Bulbs". I managed to do it manually, but I would like to consider the Geometry (faces) position and normal when projecting in somewhat automatic way.

It seems that there isn’t a Mesh-to-Circle node, which would be useful for such case when paired with Separate Geometry. What alternatives are there?

Any help would be appreciated!

Example: enter image description here

$\endgroup$
1
  • 1
    $\begingroup$ 2 more ideas, subdivide (perhaps separate geo by face surface and subdivide etc.) you may also want to smooth while keeping the boundary to deal with uneven distribution. Finally instance on points, but check the proximity to the original edge, select if greater than a very small number (e.g. 0.001). Another idea: random distribution, merge by distance. $\endgroup$ Mar 19, 2023 at 17:29

1 Answer 1

2
$\begingroup$

All you have to do is create a shape that corresponds to the points where you want to place your lightbulbs and align this shape with the vertex group.

You can do it like this:

enter image description here

First, determine the average position and rotation of the selected points from your vertex group.

The node Attribute Statistics will help you with this.

As shape just use a Mesh Circle, where you set the Fill Type to Triangles. This will give you the base shape you want.

Align it with the previously determined position and rotation and instantiate your lightbulbs at its points.

As rotation for the lightbulbs you also take the previously determined rotation.

PS: Depending on how your object is oriented, you may not need the rotation at all. I have only added it here for the sake of completeness.


(Blender 3.2+)

$\endgroup$

You must log in to answer this question.

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