Jump to content
Andy Nicholas

RBDs and Field Forces

Recommended Posts

Hi all,
Hopefully a simple question... how can a single RBD object get affected by a Field Force in such a way so that it spins?
 
See attached hip file for the following discussion...
 
I've set up a vector volume with vectors that push in the +ve x direction in the lower half of the box, and in the -ve x direction in the upper half. I've used this volume to create a Field Force. In the middle of that, I've placed a single RBD box. There's no gravity or ground plane. When I simulate, as far as I can tell, the rigid body only samples the Field Force at its center of gravity as it just starts to drift in position slightly. I would have expected the box to rotate a lot!

 

I have a few questions: 

  1. Is there a way of getting the RBD box to add up contributions across its surface to respond correctly to the field force? I should be developing a lot of torque on the box from this field.
  2. I tried playing with the Sampling parameter. Switching between Point, Circle, and Sphere, but they don't make a difference. How is this parameter supposed to be used?
  3. The Field Force node seems to respond to any SOP Vector Field I plug into it without worrying about the name of the volume I create in SOPs. So what's the purpose of the "Force Attribute" and "Torque Attribute" name parameters? How can I add torque?

Think that about covers it. Thanks for any help you can give :)

 

Ta!

Andy

 

field_force_test.hip

Share this post


Link to post
Share on other sites

Hi,

switch RBD Solver from Bullet to RBD, and set Sampling Parameter on the Field Force to Circle or Sphere.

Share this post


Link to post
Share on other sites

Aaah! Okay, thanks for that Pezetko. So seeing that the majority of the work I do uses the Bullet solver, is there a way to get this to work in that?

 

If not, I'll use the opportunity to see if I can implement it myself.

 

Cheers,

Andy

Share this post


Link to post
Share on other sites

Maybe Pop Spin by Volume? (I didn't try that one.)

 

Usually for Bullet I work with Packed RBDs, so each RBD is represented by single Prim/Point so I can affect them like particles directly.

 

Cheers,

Petr

Share this post


Link to post
Share on other sites

Hi Petr,

Okay, that's worth investigating further. Thanks for the suggestion.

 

It's worth mentioning that with some further work, I did manage to get a regular bullet RBD to be affected by the Field Force in a physically correct way. Basically I pulled in the geometry into a SOP network and looped over all the points, summing up the force and torque experienced by the object at that point in the field. I then used an expression to apply the total force and torque vectors using a Uniform Force DOP.

 

It works well, but the method breaks down when you try and use something like a Fracture RBD object because I've not yet found a way to apply force and torque data to each individual RBD point. Maybe I can just apply it as an attribute, I don't know. The expectations of the DOP solvers on the incoming data is all really poorly documented - it's so frustrating! Just need to do more testing and experimentation.

 

Cheers,

A

Share this post


Link to post
Share on other sites

Hi Petr,

After a bit of playing around with the POP Spin By Volume, as an act of desperation I plugged the POP Solver into the Pre-Solve input of the RigidBody solver to see what would happen and it actually worked!

 

Well... to a point. What the POP Spin By Volume seems to be doing is analysing the gradient of the volume field at the center of gravity to deduce a torque. So it's going to miss all the local variation of the field over the surface. Not a bad approximation though, and definitely a useful node for particles. Will dig into it to see what it's doing to the DOP objects.

 

After playing around with all of this, what I'm finding frustrating is the fact that the fractured RBDs are implemented in a different way to regular RBDs. That means that any DOP otls you write have to support both ways of managing the data - none of which is particularly well documented. I'm keeping my fingers crossed that at some point they'll unify a lot of this to make it play together nicer!

 

BTW if you or anyone reading this has a good "go to" source of information for getting into the guts of DOPs, then please post here!

 

Thanks again for your help.

A

Share this post


Link to post
Share on other sites

I guess it just comes down to which solver you choose to use. It's the old classic accuracy vs speed conundrum. I think fractured RDBs are implemented the same either way, it's just the solver that treats the data differently.

Bullet is designed for games after all, so it's not too surprising that it doesn't fully sample Houdini forces across the surface of the object. Agreed, it would be better if the full limitations of the solver were documented.

 

btw, have you tried using packed RBD objects? They make the fracturing workflow quite a lot simpler and since each piece is available as a single point in DOPs, the whole suite of POPs/SOPs tools are available to control the sim.

Share this post


Link to post
Share on other sites

Hey Ciaran!

Thing is, it's not too hard to implement proper field evaluation for Bullet RBDs, so I'm frustrated that it's not supported out of the box. 

 

Frustrations are compounded by the fact that there's no obvious information in the documentation about what is supposed to work with what and zero UI feedback about when you're changing a parameter and it isn't working. The whole thing feels unfinished to me. It's like trying to play with someone else's half finished set up.

 

It seems the only way is to reverse engineer DOPs to understand what's going on, and that p***** me off when I'm in a hurry!

 

I guess I just expect better.

Share this post


Link to post
Share on other sites

I totally feel your pain! I probably just have lowered expectatoins these days. To be honest, I wouldn't have expected this to work, simply based on past experience with different implementations of Bullet.

I'm curious if the bullet SOP plugin fares any better?

Share this post


Link to post
Share on other sites

Hello Andy,

 

Looks like you and I ran into a similar problem. I'm currently trying to figure out how get a RBD Fractured Object (glued, Bullet Solver) to play nice with different fields and constraints but I'm finding it's harder than it looks. I did try switching the solver type and that does help in some ways. However, in does present other issues—all which of I'd rather avoid for my particular scene. It's funny you mention plugging things into the rigidbody node itself because I tried that too.

 

Considering I'm coming from Maya and I'm not all that familiar with Houdini yet, I thought I would be able to find some sort of out of the box solution (at least by digging in the shelf). But like you. to my knowledge there really isn't a well documented reference for approaching this type of thing... Any chance have you found any sort of solution for using POP Forces along with RBD Packed Objects? Just wondering.... if so, I'd appreciate any input. Thanks!

Share this post


Link to post
Share on other sites

Hi Bryan,

I'm not going to be in front of Houdini for a few days, so I'll have to get back to then.

 

Cheers!

Andy

No sweat, Andy. I appreciate the response. :)

 

If and when you can elborate on any sort of solution, I would be extremely grateful. Thanks!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×