Jump to content

Apply force in local frame of object


Recommended Posts

Hello Community,


Been looking and exploring nodes for a while now and I cannot find the answer to this problem.


How to apply a force to an object in it's own local frame so even when I do rotate that object, the force is applied let's say in the y axis.


To give you guys some context, I want to model a quadrotor, and have the guy have 4 propellers in which I want to put uniform forces to each of them to drive a point in the quadrotor. Then, by modifying the values of the propellers, I could eventually model it's yaw, pitch and roll with just forces and torques.


But all the force nodes I seem to explore are in the GLOBAL frame and you apply it to the absolute y of Houdini and not to it's local y.

Any idea how I can solve this??


Thanks a lot once again!


Link to comment
Share on other sites

I'm sorry I cannot understand you. I have spent since your post inspecting the POP force and it seems everybody uses them for particles, and needs a POP source input.
I'm looking to have 4 different forces applied to each vertex of a same "cube".
I know your answer is probably correct and I'm the one that doesn't understand it... haha. So, I have prepared a file so that maybe you can help me out in what is it than I'm doing wrong.


I attach here a file with a quad which is just hovering with 4 uniform forces of a quarter of the gravity. I'm trying not only to apply them in a certain point (which I "can" do with the point force node), but also to keep on exerting force in the local frame as the cube rotates. Any help is really welcome!

Thanks a lot!





Link to comment
Share on other sites

I was referring more to newer, bullet based workflow, where you can use POP forces to affect RBDs, however those forces are applied on the centroid of the RBD, just noticed that there is actually POP Local Force that does what I described


to apply force to points outside of centroid, you may try to use Point Force and get the point positions through point() expression from geometry of current $OBJ and multiply force by rotation matrix gotten from Position data of current $OBJ

  • Like 1
Link to comment
Share on other sites

Thanks a lot for the replies.


I have been working for some days now, and I finally could not get the Local POP to work with my RB. I watched the Bullet Masterclass and tried to work it out but could not.


In the end I created my own vopforce to do the math inside the vop, and that works fine. The problem now is that I cannot seem to find how to apply this force in a certain point offset of the center (kind of what point force does).


So I was looking at two solutions that I need some help with if possible:


1) Bind Export the value of the force in the world frame as calculated by the vop force and use that in a Point force node (cannot seem to get hold of the bind exported parameter outside the vop. Don't know how to call it)


2) Implement inside my vopforce, a local offset to apply the force to.


3) If you can put an example of the local pop force in a RBD object that would surely help I believe.


Any help you guys can provide would be awesome.

I leave here the file I'm using to test all this.


Thanks again!




Link to comment
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...