Geometry Nodes

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

Sorry for the late reply, I wanted to get further in development and give some concrete numbers. As of the current WIP build/test file on a Intel 4.20 GHz i7-7700K (not the best CPU cache but pushed to 4.40 GHz) :

  • Volume grid distribution there are 73,209,675 (~73.2 million) points in 1534.05ms (~1.5 seconds)
  • Volume random distribution there are 88,751,081 (~88.7 million) points in 9.6212 seconds (~10 seconds)

You probably don’t want to instance anything on this…

2 Likes

Damn, that’s a lot of points. But it shouldn’t be a problem for Cycles in terms of polycounts, unless there’s an issue with generating that many instances. Maybe the new pointcloud rendering feature would be more fitting, if you wanted to render a dust cloud, for example, with volume scattering.

1 Like

The point cloud rendering in cycles would absolutely be needed here since trick is to have the polygon count be zero :slightly_smiling_face:. Maybe eevee could also benefit from some sort of stochastic “splat” rendering technique.

How did you manage to get those instances colored that way based on the falloff? I didn’t know that there was any way to pass color information to instances for shading as yet.

Its just different material on top and bottom

2 Likes

Aha, that would explain it, as the screenshot was misleading! Just checking that I hadn’t missed a recent commit, as I am really looking forward to being able to color instances.

image

Okay, those two default nodes. What if I delete one of them by mistake, how do I add them back?
There’s no entry in the Add menu for them.