TAngra multiphysics node base engine for Blender

I’m in the beta phase of my multiphysics node base engine for Blender which will allow the users to do complex simulations easily in Blender using a node base environment.
Tangra currently supports these solvers: MPM-MLS, Grangular, FLIP, SPH, PIC, APIC, Phyx, and Bullet physics.
It is capable of creating dynamic fractures in real time, based on events or internal collision systems.
It has an internal Ragdoll system that can be activated based on time or events like a collision with an object.

you can find more examples and follow the progress on my discord server: https://discord.gg/zZHSG5nYSM or Instagram: https://www.instagram.com/tangrafx

The crowd system is in development and will be added soon.
here are a few tests that we simulated using TAngra in Blender.

Cup_low
SDF
MesherSDF
MegaFlood-p02
Fracture_Collision_01
Cloth-tearing-04
RagDoll_Variation_low
CopyCat

I should mention I have a few issues that I need to get help from devs for it.
First I’m already able to update blender UI from Python with GIL lock, is there any way to update blender UI and objects in multithreaded or faster in C/C++ because i know blender UI in not thread-safe and i think it can be updated only using python using a single thread?
second is there any way to not compile the whole of blender and add data manipulation nodes in Geometry nodes?

10 Likes

Are you planning this as an add-on? Because I think if you want to integrate physics into Blender it has to be done inside Geometry Nodes, so that it interacts well with rest of the system, not as a separate node editor.

sorry to say that but Geometry nodes is not in a state that can do this kind of simulation efficiently and properly. i had a huge talk with devs and also you can search it, at the moment manipulating huge data is not planned in GeoNode.
I’m doing my node-based system it is much simpler and way easier to work with. input objects → solver → output results. Done.
I’m not sure why you said Musg be in Geometry nodes as we all know geometry nodes at the moment is not capable of doing this kind of sttufs.

4 Likes

I’m not saying it is capable of doing that. I’m saying when physics solvers are implemented in Blender they have to be in Geometry Nodes. That’s why I’m asking whether this is supposed to be an add-on or not. Because if your plan is to integrate this in core Blender I think first thing would be to MAKE geonodes capable of that.

thank you for the suggestion that, my question is when it can not be done how should I do that?
Maybe I did not explain it correctly. “This is not possible in the current state of Geometry Nodes”

You’re second person in last two days who presents physics solvers and refuses to answer whether he wants to implement it into core Blender or not. This must be some sort of record.

Nodes & Physics module has physics solvers in geometry nodes in roadmap. As you say Geonodes isn’t capable of handling this now, but plan (as far as I’m aware, I’m not part of the module) is to make Geonodes capable.

So, IF your plan is to integrate node-based physics solvers in Blender, I think first thing you’ll be asked is to help out with making Geometry Nodes capable of handling solvers. Again, not a member of the module, so you can take this as my personal opinion based on past contributions in this field.

i do not get that, do i need to do that or I can create plugins for it? there is a must?
can you explain what will I receive to do it in the blender core? and what will I receive to do it as a addon/plugin?

I’m not sure where this sentiment comes from. It’s absolutely the plan for geometry nodes to be capable of this sort of thing. It’s just a matter of finding the time to do it with limited resources and many other priorities.

Partly that’s why it’s great to see motivated people stop by who have background in this area. If we could work together to improve the possibilities in geometry nodes it would have so many benefits.

18 Likes

Respectfully, it was planned 6 years ago and still not single development happened, I already have our product ready for publication and I’m just one person I don’t think they going to update this kind of complex simulation in Geometry nodes as soon as you think. in this age of AI every single day is matters.
i hope they doing it but not sure if it’s going to happens in a few years.
The geometry node was the node base simulation particles system at the beginning and all the team was moved to the Geometry node and they stop developing it in the benefit of Geometry nodes.


just read it move to the geometry node at the top and look at the date

1 Like

That’s not really true, the entirety of geometry nodes was created in the last three years, with this idea in mind.

In my opinion, if you have the time and motivation and experience, you “should” work to improve geometry nodes to make this possible, rather than adding yet another system. That’s the plan for physics in Blender.

17 Likes

if you explain to me what will I receive if I do it and work on Geometry internal code I believe it can motivate me more.
because i need to earn something too.
The geometry node was the node base simulation particles system at the beginning and all the team was moved to the Geometry node and they stop developing it in the benefit of Geometry nodes.


just read it move to the geometry node at the top and look at the date

3 Likes

So, what is your goal? Intergate physic solver into blender or get the money?

This post was flagged by the community and is temporarily hidden.

2 Likes

This post was flagged by the community and is temporarily hidden.

1 Like

As a community member, if you contribute code to Blender you recieve nothing other than your name in the credits for Blender’s code, and whatever benefit you personally get from having that code in the main branch of Blender.

There is the possibilty that you could be employed as a developer at the Blender foundation, given a development grant to fund your contributions, or you could seek a third party to fund the development. Then you could make those changes and get paid for it. However, I’m not the right person to talk to about this, and I’m not sure who the right people are to talk too.

9 Likes

@Omid_Ghotbi Can you please elaborate why you created this thread? Do you plan to contribute code to Blender or do you merely like to advertise your add-on?

Devtalk is a place for Blender developers, who like to contribute to Blender or to ask questions about the code. It’s not the place to advertise add-ons.

6 Likes

Assuming that I am the first person … I do not refuse anything, I keep asking “what is the recommended path”. But people keep insisting that the answer depends on the path taken. Which is confusing and does not compute for me, because facts are facts, no matter what we do. Perhaps we can figure this out with this one, as Omid_Ghotbi is much further along in the process with blender than I am.

Very interesting work in any case.

6 Likes

I suppose the path would work along these lines (I am not a dev but I am an active lurker :))

  1. you evaluate your intention: do you want to contribute to Blender or do you want to create an external add-on?
  2. if the answer is the first, you evaluate what currently exists in Blender, what works and what doesn’t.
  3. you get in touch with the module that is responsible for nodes and physics. They have a channel in Blender’s chat. Talking to the devs there can help, as it can be faster and less formal.
  4. in the meantime, you familiarize with Blender’s codebases and standards. Probably starting small, checking out small bug fixes. I guess the devs can point out where to start.
  5. once that is done and you are more familiar with it all, you’ll be able to more clearly see how to proceed with regards to expanding Blender’s physics system.

I think this in general can work for any open-source project, more or less. I think it is easier to proceed this way than doing the opposite and coming with a pre-built framework that one tries to fit to a different project.

8 Likes

Note: This is purely from my personal perspective.

I think the main reason why people ask about intentions is because the goal of the Blender project is to be a full-featured, generally self-contained 3D software.

The position of commercial addons is… complicated in the project and community. From the user and addon developer side, there is often the perception that having commercial addons is perfectly natural and there obviously must be some way to have them.
However, from the project perspective, the goal from above applies. Blender is GPL-licensed, and that makes creating commercial addons very complex (not impossible, see e.g. external render engines). That’s not an unfortunate accident, but rather supports the goal.

Often, there seems to be the perception from commercial addon developers that they’re doing Blender a favor by developing addons for it - after all, having powerful addons gives Blender users more tools, lets them create better results and makes Blender more competitive, right?
Well, remember the goal above. It may be convenient for users, but it does nothing to improve Blender, the open-source project, itself. In fact, for various reasons (too many to go into here), it arguably makes the open-source project itself worse.

Making sure that Blender is competitive with other 3D software if you spend $1000 on addons is not the goal. Making Blender a platform to build commercial addons on is not the goal. Making Blender itself better is the goal (to be precise: making the ecosystem of open-source 3D software better is the goal).

Because of this difference in perspective, it’s a fairly common occurrence that people go into Blender development spaces (like this one), ask for help to create commercial addons, and then are surprised/offended when people aren’t enthusiastic to help them out - and the perception gets even more complex because there might also be lots of users who are enthusiastic about the prospect of the given commercial addon.

Don’t get me wrong - there’s nothing inherently wrong with developing commercial software. But this is not the space for it, and people here probably won’t be particularly willing to help with it - especially not with modifying Blender to make it easier to develop commercial addons, which is a very common request.

And the request to provide a high-performance API is generally seen as being commercial-addon-specific, because if you’re developing open-source software, you don’t need an API - you can just grab the source code and add whatever you want directly.

24 Likes

This post was flagged by the community and is temporarily hidden.