Please help me understand DOP network connections

   754   6   0
User Avatar
Member
373 posts
Joined: June 2023
Offline
This is a simple RBD solver DOP:



It works properly. However, the more I think about it, the less sense it makes. Why does it even work? The ground plane object is not connected to RBD Solver. How does RBD Solver know its existence? Why does RBD Solver know its a collider?

And even more confusingly, they all eventually connect to a Gravity DOP. Then why the RBD Object is affected by gravity, but the ground plane isn't?

Attachments:
Screenshot 2024-07-06 181835.png (981.5 KB)

User Avatar
Member
130 posts
Joined: Aug. 2017
Offline
Just open inside ( unlock) Ground Plane and Investigate how its Build.
Conservation of Momentum
User Avatar
Member
373 posts
Joined: June 2023
Offline
cncverkstad
Just open inside ( unlock) Ground Plane and Investigate how its Build.

Well... I suppose the reason that it's not moved by RBD Solver is Active Value DOP? But I still don't get why it's processed by RBD Solver at all at the first place. My intuition is a solver processes objects that are connected to its first input port, but it doesn't seem correct.
User Avatar
Member
247 posts
Joined: Jan. 2008
Offline
In simple terms...
DOPs work differently then the SOP context.

Dops is collecting data its then trying to solve in each timestep using a... solver.
If you look in your geometry spreadsheet when in DOPS. You will see your objects and the assigned data.

kodra
The ground plane object is not connected to RBD Solver. How does RBD Solver know its existence? Why does RBD Solver know its a collider?

If you look at the merge node. Its set to create a collision relationship between the connected objects.

kodra
And even more confusingly, they all eventually connect to a Gravity DOP. Then why the RBD Object is affected by gravity, but the ground plane isn't?

The ground plane doesnt have a solver attached to it. You will see this if you expand the objects in the geometry spreadsheet.
Each type of DOP object also got different types of data attached to it by default, wich you can see if you dive inte the rbd or ground plane nodes. You cant just plug any solver to any object, since you most probably will be missing data for the solver to work on..

So much is simplified around DOPs now adays and some of the hacks you had to do to minipulate these data tree to get what you wanted was crazy.
I think there are a few really old threads + hips from jeff wagner with examples and explanations floating around here or on odforce if you are interested.
User Avatar
Member
8723 posts
Joined: July 2007
Offline
What can help understanding how DOPs attach and process the data you can read the dynamics docs [www.sidefx.com] and all the subpages under it's learning section
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
373 posts
Joined: June 2023
Offline
tamte
What can help understanding how DOPs attach and process the data you can read the dynamics docs [www.sidefx.com] and all the subpages under it's learning section

I did read them... but honestly the more I read the more confused I am.

For example, the document says:

The orange flag marks the “output” or “endpoint” node of the network: only nodes above and including the node with the Output flag will be part of the simulation. There can only be one node with an active Output flag per network.

However, this works:



This is the official example of Ripple Solver. But the document just clearly states only the nodes connected to output node will be processed. Then why this ripple simulation works when Ripple Solver isn't connected to the output node? Why doesn't it need to be merged in?

EDIT: Well these two nodes don't actually work at all. The "real" ripple solver is in another network. So yeah the document is correct. Not sure why the official example has these two nodes that do nothing.
Edited by kodra - July 6, 2024 15:11:17

Attachments:
Screenshot 2024-07-07 030253.png (1.1 MB)

User Avatar
Member
42 posts
Joined: Sept. 2019
Offline
My admittedly imperfect understanding is that solvers determine how objects are processed as the data flows toward the output. The ground plane is merged with the RBD solver in your first example, so it is colliding with the RBD simulation but is not itself processed as an RBD object. If you merged the ground plane and sphere into the RBD solver, both would be processed as RBDs. If you wanted to Vellum simulate cloth on an animated figure, you'd similarly merge the figure (as a "static" object) underneath the Vellum solver.
  • Quick Links