Geometry Nodes

Can we please get Group Input and Output on the add menu? I accidentally deleted my output image

3 Likes

Yes we can!
i did a rapid prototype nodegroup using some simple Pythagoras and itā€™s completely feasible
( Note that to truly making it work we need some python scripting, to support camera switching & link to the active camera fov angle value)

also iā€™m quite affraid that doing a lot of attr math when scattering a ton of particles will drastically slow down the viewport? some benchmarks are needed

6 Likes

Looks nice. Does it work with cycles interactive rendering? I tried to do a simple distance based culling but Blender crashes as soon as I move the camera.

It doesnā€™t start, it keeps forever loading with a black screen until blender freeze.

It is under review already: https://developer.blender.org/D10241

3 Likes

One thing that would be very useful and that I often miss when making shaders is to be able to call a node and its result from another place. To be able to first simplify the hierarchy of nodes and also to be able to be used in other places without direct connection. Maybe at this point in the geometry nodes is not so useful because you can only call nodes within your own tree. But it would be useful in an everything nodes to be able to call from an object the intermediate result of another node tree.

Maybe a ā€œimpostorā€ node that allow call the output of other node with a ID reference?

3 Likes

get_object(ā€œfooā€).get_attribute(ā€œbarā€)

@BD3D That is genius!!

Now if we could only get access to Python scripts I think we can open a whole Pandoraā€™s box of possibilities to fast / insane workflow!

@dfelinto can we get a ā€œscriptā€ node pretty please??! :slight_smile:

2 Likes

Unfortunately Python is way too slow to work with hundred of thousands of particles
we need a faster solution imo, for example, reading pre-compiled libraries of nodes that can be imported exported easily by user

2 Likes

Yeah, I like that idea!

I have been getting around Python speed issue with ctypes and C++. Only problem not all data can be exported and imported quickly, foreach_get/set method is very helpful.

Using Geometry Nodes to help to create a styleframe for a client. Iā€™m distributing some collections like arrays and generating a character made of points/particles.

It would be really, really nice to pick collections randomly.

9 Likes

But also to set probability(ratio) for each collection or object in a collection.

7 Likes

Indeed! This canā€™t come soon enough.

Youā€™re doing a good job, team. Congrats!

Canā€™t you create collection instances and put them inside your main collection + random sample option?

The fun would be use only Geometry Nodes. :smiley:

Some whining about GN.
There is still no few fundamental/basic things, that can rule almost all:

  1. Distribute points inside volume for making complex structures with 3d-textures
  2. Generate exact amount of points (to make insane arrays)
  3. Produce/fill attribute-array with function, like Ā«Xn=sin(n*2)Ā» or any custom rule for making structures with math.
    I hope this will be developed once.

Now GN do not allow to create custom array (even circular or spiral array) because 2 and 3

1 Like

Camera clipping node prototype available here
itā€™s still WIP, Iā€™ll stop here because I think the idea canā€™t work within nodes but if anyone like the idea and wanā€™t to take a look; the file is below

Problem / Unfinished:

  • first method works by comparing Z angles, it will cause flickering problem when angle switch from 359d to 0d
  • second method works by comparing directional vectors with a threshold value representing the FOV. It is still unfinished, every direction length should be equal to 1, and i donā€™t know how to do it.
  • still needs to support render ratios & camera shift
  • Overall working in XY plane wonā€™t work, as looking down will not be accurate
  • Overall working in 2D wonā€™t work, as camera YRoll wonā€™t be supported

https://pasteall.org/blend/9ced3ad89cac4eecac4ccf535c8b3a26

If the attr proximity would support a ā€œvolumeā€ option, this would make things much more easy, as the only step required would be to create a camera cone

also, maybe some frustrum culling technique are possible within nodes
thatā€™s the proper way to do itedit*

edit*
found some interesting formula, yeah too advanced for a nodegroup i think
http://www.songho.ca/opengl/gl_projectionmatrix.html

3 Likes

Guys, is it possible to control radius attribute from Volume nodes using Vector Attributes? Iā€™ve tried to create some deformed mesh, scaling on the Z axis, using Points to Volume and Volume to Mesh but it doesnā€™t appear to work.

I ran into a few brick walls while trying to create this effect.

Maybe not a GN issue but baking animated textures? Maybe Iā€™m missing something but I ended up manually baking diffuse direct lighting textures for 100 frames. If baking an image sequence was possible then that opens up a load more options for effects like this. Better still if you could just raycast live and store as vertex weights in real time.

Anyway, I got to a point with baking those textures and feeding back to GN.

Next task was to make flowers and my initial thought was make a flower object open and use a shape key to close it. Then when it was instanced across the sunny patch, the sunlight attribute could be used to control the shape key amount. I wasnā€™t able to get this working.

So then I thought that I should make some flower-ish objects inside geometry nodes. The sunlight attribute was inside my emitter node tree so I made a rudimentary flower with a 0-1 slider to control openness. However, you canā€™t push a geometry socket through the point instancer so I couldnā€™t instance the flower Iā€™d made.

I created a new object for the flower using the group Iā€™d made already and then I could instance that new object. However, now thereā€™s no way for me to access that attribute that was in the other object afaik? Also, manually changing that opening value just effects all the flowers at the same time. Then I realised that even though I had the attribute, I couldnā€™t pull a scalar value to control the flowers.

Iā€™m a little bit out of ideas so any insight from others would be very welcome! I may well just be missing big parts of GNā€™s functionality.


Little wishlist:

  • Ability to instance geometry generated by Geometry Nodes.
  • Ability to pull scalar values from attributes.
  • Ability to use attributes as drivers to control things outside GN eg Shape Keys etc
  • Baking image sequences / read surface illumination (Shader to RGB node kind of does this?)
  • Script node so we can compliment GN by talking directly with Sverchok and Animation Nodes.
9 Likes

I think what you are looking for it is not instancing objects. For achieving such effect each flower should have unique geometry. So GN should be able to generate array of meshes and place them in appropriate points in a scene. Such approach is much less efficient than instancing objects because each object should have real mesh. But in cases like that it has sense to be able to do such things. Iā€™m not sure that GN is close to implementing things like that.

1 Like