Geometry Nodes

Yeah that’s the solution for this exemple, but I was wondering in general how to move points according to their new local axis once you rotate them.

Somebody did test if geonode can offset the animation of instances?
Not sure if this is possible, but for example offsetting the ‘local’ time of instances to create crowd effects

Let say that we have an animated model instance scattered such as this kind of common needed scanned models

or in our case a little guy saying hi, how to make them do the wave or randomize their local animation loop?

I believe other soft propose this “time offsetting” feature for instances, correct me if I’m wrong
Was this ever tested/ talked about by the devs?
is there a task about this?

sorry if this was already brought up before

13 Likes

I’m not sure if this is the right place to ask this, but I just downloaded blender 2.92 and started playing around with the geometry nodes. I can definitely see its power in creating random instantiation of objects. However, is it possible to use it as a way to act as a wraper for modifiers and operations? As a simple example (that I made up on the fly), suppose that I have an array of cubes that make a basic spiral staircase pattern that I then want to merge into one object.

Normally I would apply the array modifier,split the object by separate parts, and then use boolean union modifier to combine the cubes. Can I use geometry nodes to combine all of these steps into one modifier that I can then apply, or is geometry nodes not capable of this yet?

1 Like

That’s a good idea, an animation offset node, I can see that. Even more, however, I would want a highly specialized point instance node/array node that allows you to change specified parameters per instance. Animation is one thing, but people will always want to change whatever per instance; simple deform angle, displacement strength, solidify thickness, you name it. As far as proceduralism goes the list is endless. In that sense I think it would be very important to go as general as possible, and allow this node to accept any parameter/attribute, and give it some instructions on how to randomize it, probably like the attribute randomize node.

2 Likes

Not just crowd effects, a bunch of trees with the wind affecting them :slight_smile:

Such a needed thing to save memory and at the same time have animation with vegetation :slight_smile:

2 Likes

Looks like papercut in case of GN. Not so noticible with shader nodes, but rarely annoys too.

be great to have a way to expose an attribute on object A so object B can access it. At [2:55]

sadly this technique is too niche and couldn’t be applied on every kind of animation loops :frowning:
for example animated via bones, weight, modifiers, keyshape or .ABC files.

So that’w why I was thinking about this “time offset” property stored per objects/ or modifier

That’s a good idea, an animation offset node

Or modifier?

Yes when scattering animated instances in general this could be really handy and it’s already proposed on many software I saw

2 Likes

Not sure what you meant by that, but I think that “have a way to pass animation offset to each bird instance based on a randomized float attribute made on formation’s geometry” it’s pretty close to what you mean by “time offset”.

ah i meant every not any

It could work in this case but it won’t work in most cases (for example animation from an alembic).

That should be possible in the future. Eventually Geometry nodes is meant to replace most hard coded modifiers with geometry node graphs, but that is a ways off.

Ok. So it does not do it now, but will in the future. That’s what I guessed, but I wanted to be sure. While I don’t have much application for geometry nodes for myself right now, I can really see its power and look forward to seeing it grow!

I’ve been trying to figure it out for a while and that wasn’t very useful, other tutorials used scale so they didn’t need to separate atributes, so that problem wasn’t apparent yet.
I know about those nodes but it’s not very clear how to limit that to a my vertex group, point rotate can be feed with that, but they will act as some weight value that isn’t easy to manipulate.

I tried diferent permutations, some made some sense, some didn’t, after I while I’ve been trying different things that didn’t make sense and are just permutations of trying different things. This last one even used the align rotation to vector which doesn’t seem necesary in my use case.

This is easy way to achieve rotation with vertex weights

4 Likes

Is it possible to create entire nodes for geometry nodes and have them as a shareable addon rather than needing to compile my own Blender? Is this something we can do for Geometry Nodes?

You can create node groups and share them of course, but no, nodes themselves are only implemented in C++ right now.

2 Likes

At least what the add-on could do is to import all node groups into a file. I saw add-on which converts node groups into another add-ons but it was for shader editor.
Also I think it should be quite possible to add extra UI into geometry nodes editor with new menu for extra node groups. And probably UI of this nodes (with groups nodes inside) also can be fixed for for example to hide node group selector property. I was doing something like this for shader editor. It was a hack but it worked.

@Erindale I’ve been thinking about the same recently as well. It’d be super handy to have a possibility to mark a GN node group as an Asset and then have it accessible within the new Asset Browser so it can be drag and dropped onto any object in a scene, and of course easily sharable with others in a form of library.

Unfortunately, because of lacking functionality of ‘the old’ modifiers within GeoNodes, many use cases require to have plenty of modifiers(GeoNodes or ‘the old’ ones) in the modifier stack right now, so we’d actually need to be able to share whole modifier stack instead which I guess would require a lot of work to support it.

A possible way around this:

  • have a possibility to mark a python script as an Asset, so it can be accessible from Asset Browser and drag and dropped onto an object
  • right after drag and drop, this script would be executed and does all the necessary modifiers stack setup, as well as initialization like creating required vertex groups on the object the script was thrown at
  • GeoNodes groups and scripts together would be part of the same Asset library which can be easily shared with others

What do you think guys?

2 Likes

I am trying out geometry nodes for more architectural type of modeling and just having the flexibility to combine geometry pulled from different objects and continue with the modifier stack of all objects combined seems to be super powerful. Some questions:

  • It seems that there always needs ot be a group output, but to create a group output one needs to create a group and then ungroup it? We should have a default output in the same way that making a new shader has a new default output.
  • How come there is no way for geometry nodes to pick up geometry from its own object? Or is there?
  • Can a vertex group be passed on from an imported object into the current object that has a geometry nodes modifier? I would then like to use a hook modifier and move vertices only belonging to the vertex group.

When you create a new nodetree, by adding a geometry node modifier, or clicking new on the nodegraph. You get one input connected to one output, like other editors. How comes you don’t have them by default ?

It’s the case, in the input the geometry socket is the mesh data. You can also add a Object Info node to access object transforms.

You can’t transfer attributes from one object to another.

I don’t know which version of blender you’re using, but it’s worth testing 2.93 because every weeks comes with a bunch of new improvements.

1 Like