11
$\begingroup$

I can't find any node related to extrusion or inset in Geometry Nodes. Searching web and Stackexchange in particular hasn't provided me valuable results. Is there anything like this or at least any topic with discussion about it? My idea was to select random faces, extrude them to the random height and to control this extrusion height afterwards. I know that GN is still in development and is changing almost every day, but I just wonder if such an option is already there and I am just missing it, or there is currently nothing like this or even won't be at all.

$\endgroup$
2
  • 2
    $\begingroup$ Not with GN alone, but by combining GN with other modifiers. Use a vertex-group modified solidify modifier to extrude, and assign the solidify-generated vertices to a new vertex group, and then send to GN. If you'd like, you can create a mask attribute in GN (for a later mask modifier) to delete any solidify-generated vertices that you don't want to keep around. $\endgroup$
    – Nathan
    Jul 22, 2021 at 17:40
  • $\begingroup$ Related: Can't find the node! Which node is available in which Blender version? $\endgroup$
    – quellenform
    Oct 8, 2022 at 11:53

3 Answers 3

4
$\begingroup$

Thanks to @leol, he gives me idea how to extrude polygons with convex hull and also how to flip normals with convex hull. But his answer is very general and illustration do not give enough information. So i decide to wright my own answer with more complex node setup.

enter image description here

Below is solution for smoothly extrude any single polygon inward or outward mesh.

General setup: enter image description here

How to play with this:

  1. Left "Equal" node gives you ability to select a single face.
  2. "Value" node gives you ability to manage exrtusion strength.

How it works:

  1. I use "Ico Sphere" and "Dual Mesh" nodes just for fun. At the same place could be any other geometry input.
  2. "Separate geometry" node detach selected face from inputed geometry.
  3. After "Separate geometry" node i create two copies of the selected face. The first copy will stay at its native place. The second copy goes into "Set position" node and slide along normal vector. Then i join booth copies with "Join Geometry" node and put them into convex hull. Here is the end of @leol answer. But there are two problems. First problem: the convex hull has unneeded face at the place of original face. Second problem: the convex hull face normals are looking outward - it's good if i extrude outward, but it's bad if i extrude inward.
  4. After "Convex hull" i use "Delete geometry" node for deleting unneeded face at the basement of convex hull. For selecting this face i transfer attribute from originalf face. This way i solve first problem.
  5. "Greater than" node makes desision about what to do next. If i extrude inward it turns on normal fliping, and if i extrude outward it turns off normal fliping. This way i solve second problem.
  6. Top "Equal" node turns all of this setup off, if i input zero extrusion value into "Value" node.

Inside "flip normals repeater" group: enter image description here

This is just a 20 repeated flip normal groups. They flip faces one by one.

Inside "flip normal" group: enter image description here

You can find better description of "flip normal" group in my answer here: Flip Normals with Geometry Nodes

$\endgroup$
4
$\begingroup$

Try Blender 3.1 Alpha. There is an extrude geometry node now.

-> builder.blender.org/download/daily

$\endgroup$
1
  • $\begingroup$ ...This answer could use an update ;-) $\endgroup$
    – quellenform
    Aug 10, 2022 at 16:50
2
$\begingroup$

if the face is convex, you could

  1. duplicate and move the face along its normal using a transformNode
  2. join the face and its copy
  3. then apply a convexHull node

enter image description here

$\endgroup$

You must log in to answer this question.

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