Geometry nodes merge geografts doesn't work in latest release

Issue #2150 resolved
Calibrator created an issue

Hey, I just downloaded the latest release 10 minutes ago and it seems that geometry nodes merging is broken. It only adds a geometry nodes modifier that’s empty. Used on 4.2

AttributeError: 'GeometryNodeCaptureAttribute' object has no attribute 'data_type'

Comments (12)

  1. Thomas Larsson repo owner

    Geometry nodes seem broken in Blender 4.2. Either that, or I’m missing something fundamental. E.g. a lot of sockets are missing from the Capture Attribute node, and when the plugin tries to use those sockets an error occurs.

  2. Calibrator reporter

    Yeah you are missing something and so was I until now. I didn’t even know they changed this. Here’s how it works now.

    you plug stuff on the empty socket and it'll automatically copy the data type from that.

  3. Calibrator reporter

    Thank you very much! I’ll update in a bit and get back to where I left off yesterday. I really appreciate the quick fix!

  4. Calibrator reporter

    I like how you turned them all into separate node groups instead of 1 where they potentially conflict each other, however this idea can be improved, or well even perfected. They can still be only 1 main geometry node modifier with switches. For example let’s say I have breastacular and NGV8 on a model. You can make it so the deletion of the original geometry and addition of new geometry is toggleable together with a switch for each graft.

    I’m trying to work out the details right now but I’m held back by the addition of the join geometry node so early in the node group. I’ll get back to you once I figure out a way but I leave this to you in the hopes that you figure it out before me.

  5. Calibrator reporter

    Actually I think I got it. If you can make it create a setup like this it can be done.

    I just don’t know if there are any problems with you automating this with your addon. The idea is, if all of the geografts can be added separately here, before being joined with the body with the join geometry node, they can also be toggled. Then add a switch node in this geometry node for each of the additions and link it to the part where geometry gets deleted.

    This is how you switch the deletion, I tested this and it works.

    And this is how I did it with the geograft node group. I tested it and it also works, shouldn’t cause any problems since it’s just skipping all the nodes if it’s toggled.

    In the end I got this node group. The Geograft node group was created by the operator for each individual graft, I Just grouped it and added it here.

    This is how I set it up in the end and it seems it works fine.

    I hope you like this solution, cause it ends up with only 1 clean geometry nodes modifier. Also if possible, you should set the distance to 0.001 automatically, but I have a feeling since you haven’t done that already that there’s an issue with it.
    Now hold my beer while I go and make another report about a dependency cycle lol.

  6. Calibrator reporter

    Damn it, I missed an error in the comment and I don’t get how editing works on this site. Ignore the 1st sentence and the 1st image of the previous comment. You are probably better off by duplicating the node group like I did in the end instead of doing the multiple grafts in 1 “Geograft” node group.

  7. Thomas Larsson repo owner

    I agree that putting all geografts into a single modifier makes more sense. Implemented in last commit. It works fine in Blender 4.1 and 4.2, but some links are missing in Blender 3.6. However, that is probably not important so I will leave it at that.

  8. Calibrator reporter

    Awesome! Thanks!

    For 3.6 you could probably keep the initial method that you had, before 4.2 daz importer version. You can still add the switches to that probably. I can’t remember when they were added. But yeah I don’t think many if, any people will care. If they still use 3.6 they are probably not interested in geometry nodes very much.

  9. Calibrator reporter

    After checking it out, I only have 1 thing to mention. The implementation before 4.2 limited which vertices get merged and which don’t. That was a very useful feature. Currently unwanted vertices can merge if the number is set a bit higher, which can be useful for sculpting. Everything else is perfect.

  10. Log in to comment