rich_lord Posted June 19, 2012 Share Posted June 19, 2012 (edited) I made this video along time ago in Maya, and am trying to come up with ways I can make this sort of thing more dynamically in Houdini I`m really struggling to reproduce similar motion in Houdini. The lack of motor constraints is a big problem. As a test, I thought I could simply make a cube and use a SOPsolver to rotate it 5 degrees each frame to see if it could handle the change in geometry well. I got a really strange, unexpected result so either this is a terrible idea, or i`m misunderstanding something. I tried all the different rigid body engines and got odd results out of all of them. Here`s my super simple test setup. If you turn on collision geometry, you can see its scaling and doing all sorts of wired things. Help! (thankyou) AnimationAndPhysics.hipnc Edited June 20, 2012 by rich_lord Quote Link to comment Share on other sites More sharing options...
Guest mantragora Posted June 20, 2012 Share Posted June 20, 2012 Here`s my super simple test setup. If you turn on collision geometry, you can see its scaling and doing all sorts of wired things. It works better if you attach the file. Quote Link to comment Share on other sites More sharing options...
rich_lord Posted June 20, 2012 Author Share Posted June 20, 2012 It works better if you attach the file. Haha! Oops! Ive attached it now.... Thanks for pointing that out mantragora..... Quote Link to comment Share on other sites More sharing options...
edward Posted June 20, 2012 Share Posted June 20, 2012 I think the multisolver is screwing things up because it's making the collision geometry no longer match the actual geometry? (I suck at DOPs) Taking it out and rotating it within the box object itself fixes it for me. For that type of animation, you'll want to turn on "Use Deforming Geometry" on the RBD Object DOP node (which I did *not* do in the attached .hipnc). Note that you you're simulating a 1 meter cubed box. AnimationAndPhysicsFixed.hipnc Quote Link to comment Share on other sites More sharing options...
rich_lord Posted June 20, 2012 Author Share Posted June 20, 2012 I think the multisolver is screwing things up because it's making the collision geometry no longer match the actual geometry? (I suck at DOPs) Taking it out and rotating it within the box object itself fixes it for me. For that type of animation, you'll want to turn on "Use Deforming Geometry" on the RBD Object DOP node (which I did *not* do in the attached .hipnc). Note that you you're simulating a 1 meter cubed box. Thanks for the idea edward. I tried that method. Rotating the object at SOP level before I bring it into DOPs, getting rid of the multisolver and checking Use Deforming Geometry, but the motion im getting is still very odd. The object travels down one of the axis in a very unexpected way. This could be just because i`m abusing the system a little bit I guess. Using SOPs to animate the geometry and then throwing a different collision hull at the RDBSolver every frame probably would be a little unpredictable. Still, I was hoping it would work better than it does... Maybe I should stick to animating the DOP geometry with forces, but that seems very tricky to setup for precise control. Quote Link to comment Share on other sites More sharing options...
rich_lord Posted June 20, 2012 Author Share Posted June 20, 2012 I think the multisolver is screwing things up because it's making the collision geometry no longer match the actual geometry? (I suck at DOPs) Taking it out and rotating it within the box object itself fixes it for me. For that type of animation, you'll want to turn on "Use Deforming Geometry" on the RBD Object DOP node (which I did *not* do in the attached .hipnc). Note that you you're simulating a 1 meter cubed box. Thanks for the idea edward. I tried that method. Rotating the object at SOP level before I bring it into DOPs, getting rid of the multisolver and checking Use Deforming Geometry, but the motion im getting is still very odd. The object travels down one of the axis in a very unexpected way. This could be just because i`m abusing the system a little bit I guess. Using SOPs to animate the geometry and then throwing a different collision hull at the RDBSolver every frame probably would be a little unpredictable. Still, I was hoping it would work better than it does... Maybe I should stick to animating the DOP geometry with forces, but that seems very tricky to setup for precise control. Quote Link to comment Share on other sites More sharing options...
edward Posted June 20, 2012 Share Posted June 20, 2012 Unexpected how? As I mentioned, you have 1 metre cubed box whereas the objects you have in the video are about 1/20th times the size. Quote Link to comment Share on other sites More sharing options...
rich_lord Posted June 20, 2012 Author Share Posted June 20, 2012 Unexpected how? As I mentioned, you have 1 metre cubed box whereas the objects you have in the video are about 1/20th times the size. Here's a scene that shows an object i'm rotating at SOP level with a $FF expression, then bringing into DOPs with the Use Deforming Geometry flag checked. It way it slides along is what I wouldn't expect. It looks like its being pulled along by something. But then I guess this is a strange thing to give a physics solver. I could be expecting the wrong thing. I thought I would be able to give the cube more friction and it would almost stick to the floor and push itself over, but it doesn't no matter high high I have friction set. AnimationAndPhysicsSlide.hipnc Quote Link to comment Share on other sites More sharing options...
Guest mantragora Posted June 20, 2012 Share Posted June 20, 2012 I don't have working solution but there are couple things I noticed. This is for last file: 1. You don't need StaticSolver for groundplane. 2. Turn on "Show Collision Guide Geometry" and look how your collision field behaves. From the start it doesn't match your rotated box, and then thru rest of the simulation it fluctuates. It doesn't rotate with your geo. Probably you need to revert to "Ray Intersect" collision method for situations like this. This is for your first post: 3. You can plug RBDSolved directly to second Multisolver input, just like SopSolver, instead of have it plugged after your RBDObject and into first Multisolver input. Quote Link to comment Share on other sites More sharing options...
Guest mantragora Posted June 20, 2012 Share Posted June 20, 2012 (edited) Something like this ? If you need to animate something it's better to do this in DOPS. You collision field thanks to this doesn't have to be generated each frame from scratch, it just rotates with your gemoetry. There are couple nodes that can be used for this. One is RBDState DOP. If you set some parameters on RBDObject DOP they are only initial values. With RBDState you can update them each frame. Another is Motion DOP. Never mind. johnm put a nice example two posts below. Edited June 20, 2012 by mantragora Quote Link to comment Share on other sites More sharing options...
gaurav Posted June 20, 2012 Share Posted June 20, 2012 (edited) i guess computing velocity of the rotating cube at sop level would be an option and use it to drive the cube. something like this, just need to constrain few things with rbd state for predictable behavior. Edited June 20, 2012 by vectorblur Quote Link to comment Share on other sites More sharing options...
johnm Posted June 20, 2012 Share Posted June 20, 2012 (edited) the key thing is to set the RBDSolver to use Point Velocity to compute collisions instead of Volume velocity (or nothing)... If you look at the attached file and display the collision volume in the AutoDop network, in wireframe, you'll notice that box_B slides away as you describe. From what I can tell, the volume representation of the collision geometry is behaving almost like a tractor tread and propelling the box along in the direction opposite to its rotation. Also, increasing the Rotational Stiffness had an impact on how much box_A was able to roll. -j ...attached file this time... rotating_box.hipnc Edited June 20, 2012 by johnm Quote Link to comment Share on other sites More sharing options...
gaurav Posted June 20, 2012 Share Posted June 20, 2012 ah.. forgot to attach hip ! rot.hipnc Quote Link to comment Share on other sites More sharing options...
rich_lord Posted June 20, 2012 Author Share Posted June 20, 2012 Thanks for all your help - ive learnt alot from it already! 3. You can plug RBDSolved directly to second Multisolver input, just like SopSolver, instead of have it plugged after your RBDObject and into first Multisolver input. Hi mantragora - Aha - I see. I did have that connected incorrectly. Once I fixed that, my collision geometry stopped behaving oddly. johnm - Im not sure how its working, I need to read up on the point velocity, but it looks very solid. The problem I noticed was that it acts oddly when involved with collisions with other objects. I put a cube in its path, and the rotational stiffness parameter prevented realistic gravity from acting on it. Lowering it improved the situation. Thanks for your input - really helped me understand a few DOP tricks im going to need. mantragora + vectorblur - Ive tried both the motionDOP and RBDState examples. They work well in collisons. Seems to be the way DOPS wants me to add animaion. Theres lots of nice RBD motion I get with these methods. The motion DOP creates freakouts pretty easily though, like in the attached file. Not sure what is causing that. So now I need to create a way to use either the Motion DOP or RBDState node to add an angular velocity to my rigid body ALONG the angle its currently traveling. Do RBDs have a forward vector or anything similar that I can use to find this? AnimationAndPhysicsMotionDOPfreakout.hipnc Quote Link to comment Share on other sites More sharing options...
kstrod20 Posted August 7, 2013 Share Posted August 7, 2013 Is this possible with pre-fractured geo? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.