Geometry nodes questions

Yeah, cuz you were using a bog standard, basic ass math node. The coolest kids use a compare.

As for the rest, let me look at it right fast.

1 Like

Hay to me a math node isnt standard it scary :stuck_out_tongue:
i ain’t cool haha

Trying to flesh the array node out to be capable of most array things special all that the array modifier can do then i can call it done and just use it. Just a few bits left


Think im just going to scrap this bit and just have the bottom section and plug in the offset values into these, i think i was over thinking the offset bit too much

So its just about fixing the axis overlaps and adding the fill mode/toggle

Looking at it, it seems like you might be trying to do something simple the hard way.

Based upon the very little I know of what you’re trying to achieve, why not just use a couple more instance on points attached to their own curve lines?

1 Like

Yer that sound like mes in a nutshell

Not sure what you mean

Basically this:

You have two lines here. One pointing in X, spawning 5 cubes, then another pointing in Y, spawning 5 of the 5 cube lines.

2 Likes


Yer that dose the fill mode alright, what would you recommend to have it like this

Like i had before but without each line placing duplicate is there a simple way for this version?

That’s one 3 point line on X, one 3 point line on Y, and one 4 point line on Z, right?

Think of it like that. How could you generate a point cloud with points in those specific positions? After you think of that for a bit, watch this video:

…try to ignore the creepy robot voice.

And this one for good measure:

And this one too:

Not sure this would work universally as the the instances could be any object any size these number im using in the greater then are specific to the mesh/instance

Id need the value in the greater then/less then to be a universal thing that works on any mesh or instance being arrayed

basically position cant be relied on as the distance between each instances can be different depending on the mesh/instance being arrayed


So i figured i can use the geometry size node i have that works out the scale of the input geometry so i can make it adapt almost forgot i had that from some random tut

So far all this dose is reduce the array down to 1 instance not sure how to do the l shape

That first video dosnt actually work


I have it her like at 1.35 of the video but changing the y just makes everything disappear, not per instance row

I up it by 0.1 and everything is gone

Probably because each instance on point is only for one axis


So it dosnt work for me here

Amen. Hardly anyone documents in node graphs. And Blender doesn’t exactly make it super obvious how to beyond node labels – but there are more options than that. I stumbled upon the Text block, and now my noodle salad has lots of comment frames, so in 6 months I will still be able to decipher exactly why I did things in some weird way.

4 Likes

Im looking to control what objects from a collection is placed with a instance on points node
Using vertex groups.
image
The planes at the top each have a vertex group Monkey, Cube, Torus
The objects also have the same vertex group on each object Suzanne has the monkey vertex group for example
image
My collections are like this
The input is what makes the points using the collection, the ‘layout’ which is the planes


Here you can see the plane from the input collection has a Monkey vertex group but its spawned a torus object

Im looking for ideas to use the strings to create a vertex group atlas to control what objects are placed where. The input geometry and object placed need to have matching vertex group

Something like that maybe

but using material index might be handier

1 Like

Just saw this, so in the material index you showed is the name of the material what picks the name of the object in the instance collection?

How do you set what material picks what object from the collection is the question

order of your materials and order of your objects in collection matches. So if you name your objects like 01 - 02 - 03 they will match your material index in that order.

Ah right, im guessing we dont have enouth string access to compare names


Seems this is order dependent and so dosnt actually match vertex groups

If the groups are ordered wrong then there instances are placed on the wrong places

The point was to match the vertex group from the input to the vertex group on the instance


See the Susanne instance mesh has a vertex group on it ‘monkey’
It should only go to where the monkey vertex group is only, the goal is i have several instances in the collection with the same vertex group and so it will pick one to go in place


In this example i have 3 of each type all different color versions of the same mesh

So it would be like this but would use one of the 3 colors only in there vertex group assigned spots

I cant use a specific index order for this

You can attach map range to switches to control the cluster order with another vertex or color paint. Here I used color attribute paint.



ipaint.blend (2.7 MB)

edit: with “color” attribute you distribute monkey or others. with “color.001” attribute you arrange which of these monkeys goes where in that cluster. You can do the same with vertex groups.

with weight paint for first order, color paint for second order


ipaint2.blend (2.2 MB)

So color part in my example isnt important im just using as an example of different objects, these would actually be other models or variations. Like diffrent book meshes of cup meshes ect
(But what you have showed with the color is still interesting and i might have a separate use for that)

So what im trying to achieve is:
I have a collection of a bunch of clutter items i add vertex groups to sort them all into types
Lets say one ‘type’ is ‘Book’, this collection among the other clutter objects has say 5 or more different books(different models) all with a ‘Book’ vertex group. With the input geometry lets say the 4x4 grid like what you have i assign only 2 squares the ‘Book’ Vertex group. So on those 2 squares 1 of the 5 available book objects is placed.

What i wanted is for the ability to be able to throw in more models into the collection as i make them that have the ‘type’ vertex group on them and the GN just automatically uses them where the same ‘type’ vertex group is used. It means the max number it objects per vertex group could change at any time, if some max number has to be set id like some way for GN to figure this out automatically
Im looking to reduce as much manual input as thats the whole point of this project

I want GN to look at all objects in a collection count how many objects of the set vertex group and get the max number of objects.

This ‘system’ is to be used for an easy clutter placement using ‘layouts’ as the input mesh
Like the grid, the layout could be a dining table arrangement of plates utensils and a vase ect
The layout is a mesh that basically uses faces as coordinates, and the vertex group serves as a spawn type for that cord. As i work on level design and i make new assets i would put them into the collections and i would set the vertex group tag, id then just want all the GN objects using this spawn system to just auto see and use these new objects, eventually one scene could have 100s of separate GN spawner objects so i dont want to have to keep going in to set new min/max numbers

I hope my explanation is better to get what im trying to get, Im an unreal dev and this is what im setting up to build levels and clutter them faster, i would but testing to use this with the altermesh plugin inside Unreal engine, so i have a very specific need for it to work a certain way

Thankyou for your input though what your showing im still noting down incase its useful for other things
Its just im not after any solution im after a specific solution, hoping it is actually doable in GN Im seeing all sorts of limitations thats disappointing i hope this isnt going to be another one

Maybe the system could place one of each of the objects of the same ‘type’ then delete all but one random object afterward. So the spawner places all 5 book objects on a face that had the ‘book’ vertex group, It then randomly picks one of these objects and deletes the rest, and dose this for all faces/points of the same vertex group. Would this then no longer matter about index order and min/max count?
I figured i could have the instance on points nodes ‘pick instance’ disables so it places all options in the same spot, just need a way to delete all but one random object per face/point. Something like that should result in a random picked object from available options all set by the ‘tags’(vertex group)