ofer Posted March 9, 2007 Share Posted March 9, 2007 Hello! Im in the process of rigging a robot model I created. The robot is quite simple, and it consists of several parts and bearings connecting them. The bearing is something like a tube, with two sliders on it. I created a digital asset where I have a parameter for each slider's position (amount of rotation) on the tube. I want these parameters to be set by the degree between two bones. My problem is that when creating a chain with IK, moving the goal doesn't change any visible channels. My question is, what channel can I use, or is there a better way to achive what I want? Basically, what im looking for is a way to use bones with IK without capturing geometry. Quote Link to comment Share on other sites More sharing options...
michael Posted March 9, 2007 Share Posted March 9, 2007 you can get the bone rotations from your IK solver check out the chop() expression Quote Link to comment Share on other sites More sharing options...
ofer Posted March 9, 2007 Author Share Posted March 9, 2007 OK, Ill check it out. But is it the right way to rig a mechanical setup? Quote Link to comment Share on other sites More sharing options...
ofer Posted March 9, 2007 Author Share Posted March 9, 2007 Hi! I was wrong, and the bones rotations are set as expected, so I can simply do a ch("../../bone/rx") and works. Really cool. It seems like the right way to go. I do have a little problem though. I have two bones going through my bearing, each controls one slider. But I need the whole bearing to move with the bones. So what I did, was to add a transform SOP with the pivot manualy positioned at the chain's root, and then used bone1's rotations. It works well, but I don't like to manually set the pivot point. I couldn't find how to get the root's null object position with expressions. Any ideas? Quote Link to comment Share on other sites More sharing options...
edward Posted March 10, 2007 Share Posted March 10, 2007 It's hard to say what you're doing wrong unless you have an example hip file. Anyhow, you can always get the world position of any object using vtorigin("/obj/someobj", ""). To get the componenets, use [] notation like this: vtorigin("/obj/someobj", "")[0] vtorigin("/obj/someobj", "")[1] vtorigin("/obj/someobj", "")[2] Quote Link to comment Share on other sites More sharing options...
ofer Posted March 10, 2007 Author Share Posted March 10, 2007 OK thanks, I can also use the bounding box of the first bone. Ill try both methods. 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.