[–] [S] 7 points 1 week ago (1 child)

The node basically simulates (just like cloth simulation) a 1D manifold (a thin cloth if you will) and spits out the simulated mesh (at each frame). What you do with it is up to you. Like in the cover image of this post, i chained a couple more geo nodes to make it into a proper rope.

So for something like a chain, you could add another geo node after the RopeGN (like in the attached image).

Spiderweb is an interesting case, but it won't work with this modifier, because it inherently has internal loops. I think a cloth simulation would be much more feasible for that. And this is deliberate: the whole point of only doing for 1D objects (single loop is ok) is it allows to simplify and speed up the XPBD by quite a lot (for the nerds: the Jacobian is sparse if you only have nearest neighbor connectivity).

For the barbed wire -- I'm actually not sure. You can probably tweak the parameters to get something that resembles it, but I think a barbed wire also has lateral elasticity which normal ropes do not, so it won't properly model their dynamics.

  • source
  • parent
  • context
  •  

    Blender doesn't provide a built-in simulation capabilities for 1D objects such as ropes. One could fake that with a narrow-mesh cloth simulation, but the result is not good enough. RopeGN implements the XPBD algorithm (also used in Blender's cloth simulation) with some tweaks and sauces specific to 1D manifolds which makes it more effective, accurate and much faster.

    Here's the master repository from which you can download this node group, and where I'll be adding more stuff in the future: https://github.com/haykh/GeometryNodes

    Post the cool stuff you've done with this in the comments : )

    PS. Also, I'm not really distributing this through any other channels, since most markets request for payment info even for free assets. So if you like this and can -- please spread the word!

    PPS. There are some example simulations which I couldn't attach to this post in the README of the subdirectory: https://github.com/haykh/GeometryNodes/tree/master/RopeGN

    [–] [S] 1 point 1 month ago (3 children)

    yep, that's the same idea! i'm happy to share the code once i clean it up a bit, and you should feel free to transfer any of the functionality. there are few features i added which i really like, such as a support for LSP and type hints in an external IDE, plus an ability to write the code outside, while the add-on auto-regenerates the node-group if a file is changed. another cool thing is you can inline functions, i.e.:

    # these two are automatically inlined (i.e., nodes added to the active group)
    @inline
    def foo(x: float, y: bool):
      return x**2 if y else x**3
    
    foo = lambda x, y: x**2 if y else x**3
    
    # while this becomes a reusable node group
    def foo(x: float, y: bool):
      return x**2 if y else x**3
    
  • source
  • parent
  • context
  • [–] [S] 1 point 1 month ago (5 children)

    looks nice! i wanted something more code friendly, so mine actually parses math expressions, if statements, lambda functions, loops etc and decides internally what nodes it needs to put together (hence the horrible looking node sausage). so you literally write a python logic, which it then transpiles and compiles into a node tree. in other words, you never actually have to think in nodes.

  • source
  • parent
  • context
  • [–] [S] 2 points 1 month ago

    :D thanks! i actually already added support for towers and will add other adjacent buildings soon too. the plan is to also have a gatehouse and generative arcs. I'm currently trying to work out the general topology with all the edge cases and then will add decorative elements.

    it follows a custom edge which doesn't necessarily lie in a single plane, so it's trivial to add a shrinkwrap or another node to make it follow a terrain. texture input is a good question. uv of this thing might be totally messed up, but a generative material should work ok.

    for the battle scene - it does produce a well treated topo, so you could chain another destruct modifier. )

    will be happy to share once it's more mature.

  • source
  • parent
  • context
  • [–] [S] 2 points 1 month ago

    agree, the whole advantage of writing this python library is that debugging a code is much easier than a noodle of nodes (especially when doing conditionals, math etc). it also supports factorization into functions. and since it produces ultimately a geometry node group, it's as fast and customizable as if it was made by hands. i'll post the add-on as soon as it's ready if people are interested (free ofc).

  • source
  • parent
  • context
  • [–] [S] 7 points 1 month ago* (13 children)

    believe it or not, it does reuse many nodes. sim/repeat won't be of much help here, there're no repetitions. I'm testing an addon I've been creating which converts regular Python logic into geometry nodes. this is like ~500 lines of Python code converted into nodes. It's making a procedural full-quad wall with crenellations from an edge. unsurprisingly, most of the nodes are to correctly treat edge cases/self intersections, removing stray edges/faces etc.

  • source
  • parent
  • context
  •  

    hi guys, as a practice, i made this shield model using some geometry nodes magic and a bunch of modifiers. the issue is i can't figure out a good way to make materials for it.

    there are essentially 5 different materials i want to make:

    1. the main wood obviously (the one on the screenshots is just a placeholder)
    2. the outline metal (i managed to make something which looks half-decent, but would like a bit more roughness and details)
    3. the central metal (i want to give it a bit more of a rough bronze look)
    4. the wooden handle (more weathered look)
    5. leather inside the hemispherical inlet.

    i was wondering if you have any ideas on what resources i could use. or any specific techniques to make it look more realistic. i like making procedural materials, so anything along those lines would be a big kudo!

    also of course, any comments on the overall set (lights/environment map/rendering settings) are also more than welcome!

    PS. also, of course, would be happy to share the blend file if you're curious (although i don't think it's too complex of a model)

     

    It was a rainy weekend, and after brewing a mugfull of coffee I sat comfortably and opened my laptop that I powered off yesterday after running an sudo pacman -Syuu yesterday to keep my Arch up to date. I like keeping things nice and up-to-date you know. The first red flags came when my fingerprint recognition wasn’t working when I tried to log in – but that’s fine, I can fix that later, not a biggie. Then the bluetooth was not seeing any devices; after 20 minutes of twiggling, reinstalling, restarting services, it did ultimately find, but didn’t cast audio through that. That’s ok, we’ve been there before, right? Wait why does my dGPU not turn on? Ok, let’s try reinstalling the drivers and cleaning some of processes, restarting. Ok now my bluetooth doesn’t work again – odd. Wait dGPU also still doesn’t work, let me remove the drivers completely… oh wait you also want to remove HIP SDK? But I need that for work… I mean, sure, ok I’ll install it again.

    Morning slowly drifted to late afternoon, while I realized I have not spent a minute of that time on what I originally intended to do – recreational coding (that’s what all the normal people do on weekends, right?). After ultimately fixing all my issues I sat silently staring at my laptop, realizing I’m now roughly where I left things yesterday evening, except I burnt through a good fraction of my weekend scrolling through the Arch wiki and oftentimes toxic forums, the recurring suggestion from which was “if you can’t handle it, maybe you shouldn’t have used Arch to begin with.”

    Well… maybe I shouldn’t have. ...

    view more: next ›