Geometry Nodes

it is not a real problem, because few nodes have that output and with autmatically select one output is enough.

the problem of multiply outputs is a 1% of the problem of create a extra node everytime

@HooglyBoogly Are there any plans to access object/collection related attributes/info/etc ?

More specifically, is there a way to access the loc/rot/scale of the individual objects inside an instanced collection ?

So I have this block of bricks, the individual objects needs to stay separate for the random color setup to work, but at the same time they need to be grouped in a collection for proper tiling setup.

Right now the whole collection is affected by the Z location slider.

I could go and “manually” change the rotation/location of each of the 12 pieces of the “block”, but that becomes destructive and defeats the purpose of GN.

Something like this:

1 Like

Imo that’s a problem of the current workflow
the instancing methods are not really “flexible”,
we can choose to instance assets from this or that collection but after it’s done we have no control over the object w-o destroying the instances (meaning w-o merging them as geo).

for example it would be interesting to change some of the instances object properties as the modifiers/display ect…

Same for controlling how the instances spawn,
we did the experience few months ago, trying to adjust the % of spawn rate per instances and it’s quite a difficult task to achieve

Perhaps introducing an “Instance Index” attribute would help having more control over how the instances are spawn when choosing the random collection method

5 Likes

How crazy would it be to have the ID of points (or other domains) accessible as read-only attributes?
Or is this already possible somehow?

4 Likes


is there a way to fix the rotation of those planes ?

Depends on how the fixed rotation should look like.

@Miro_Horvath

What you want is instancing per face, not per vertices then

1 Like

is there a way to do that ?

Attribute convert position to Face domain

1 Like

I tried but didn’t worked out, searched the internet but found nothing, i couldnt get the position attr to be on faces, because its a built-in attr i guess,

so what i tried is this but didn’t reach what i wanted.

I feel like im missing something …

This is how I do it. Note that you will have overlapping points so the instanced planes will overlap as well, so you might want to have a weld modifier after it. I think once the merge by distance node gets committed it will feel less tricky since we will be able to just use merge by distance on the point clound.

Sorry for the OT, but what theme are you using? It looks really nice and I’ve been seeing it around a lot lately.

@LudvikKoutny

@Eary its weird to use point distribute in this situation but its working ! thank you

1 Like

This is another method but results in overlapping instances as well (4 per instance). Until we get remove doubles or a face centre analyser node there’s not much to do though

2 Likes

Or you can poke all the cube faces, and then make a vertex group with all the poked vertices, at least that should work with a cube or with anything you can poke.

https://docs.blender.org/manual/en/latest/modeling/meshes/editing/face/poke_faces.html

no problem for overlapping instances, for my case there will be a shell and a small bevel

Thank you for your help guys

3 Likes

Volume point distribute setup using raycast

1 Like

That’s cool! Interesting how raycast can do volume point scatter. There was a patch for volume point scatter but I don’t think it’s alive. I have been using multiple solidify modifiers to create multiple surfaces in the volume and point distribute on them. It’s cool to see another way to do it.

This is how I do it with solidify modifiers, by the way, I am looking forward to the solidify node patch to commit, then I can do it in the node graph.

EDIT: Just tested my method with monkey head, solidify does not work well with its ear so my result is kind of weird. You method is better! :+1:

1 Like

How to access GeoNodes custom “inputs” in a python script?
Just like how you can access say the “count” of an array modifier via bpy.data.objects["array_obj"].modifiers["Array"].count, how can one access the inputs of a geo nodes modifier without having to go into the actual nodes? I can’t seem to figure this out. any help or pointers to what I should be looking for?