Robot Arm IK

Issues concerning rigging & Face Robot...
Pooby
Posts: 501
Joined: 27 Aug 2010, 20:25

Re: Robot Arm IK

Post by Pooby » 22 Jul 2011, 15:00

Heres a version that I think should work the same as Lightwave. it only uses one direction constraint.

It may seem that Lightwave is superior because it does this natively in its IK solution, but I would choose Softimage over LW everytime for rigging. Its constraints and IK work in a far more sophisticated manner allowing for a lot more flexibility and complexity.
You do not have the required permissions to view the files attached to this post.

azurecgi
Posts: 171
Joined: 12 Jul 2011, 10:11

Re: Robot Arm IK

Post by azurecgi » 25 Jul 2011, 11:08

Thanks for the sample files Eric and Pooby.

I really appreciate the effort, but I'm afraid your rigs are a little 'wobbly' to emulate fixed mechanical rotations!

I dug into my memory for the trigonometry I learned at school, and using expressions I came up with something that sort of works.

Move the 'diamond' null (named "effector") around and see what you think. It has some drastic limitations, for example if you move the effector into a negative X position, it breaks, but this could be fixed quite easily by using a SCOP which utilised an 'if' statement.

The only thing that's really causing me a headache is if the shoulder is rotated into an arbitrary angle, which it would be if attached to a character. What I really need here is to be able to extract the XYZ positions of the effector relative to the 'local' coordinate system of the main shoulder null. I'm thinking this may require the raycasting abilities of ICE!

Anyone?
You do not have the required permissions to view the files attached to this post.

azurecgi
Posts: 171
Joined: 12 Jul 2011, 10:11

Re: Robot Arm IK

Post by azurecgi » 25 Jul 2011, 12:59

I've just been thinking, and maybe Raycasting with ICE is a bit drastic.

When you parent an object to another with 'Child Compensation' on, the child object becomes relative to the parents coordinate system whilst maintaining it's location in relation to the 'Global' coords, so there must be a function or routine that calculates this compensation. That's what I need, the compensation location, without having to actually carry out the parenting function.

Once again......... anyone?

EricTRocks
Moderator
Posts: 754
Joined: 25 Nov 2009, 00:41

Re: Robot Arm IK

Post by EricTRocks » 25 Jul 2011, 13:11

There are functions within the SDK that allow you to remap a transform into another object's local space.
Eric Thivierge
Lead Kraken Developer, Fabric Engine
http://fabric-engine.github.io/Kraken

azurecgi
Posts: 171
Joined: 12 Jul 2011, 10:11

Re: Robot Arm IK

Post by azurecgi » 25 Jul 2011, 13:22

EricTRocks wrote:There are functions within the SDK that allow you to remap a transform into another object's local space.
I don't suppose you could be a little more specific? I'm rapidly running out of time on this project, and I've barely started, due to trying to get this problem solved!

Cheers

EricTRocks
Moderator
Posts: 754
Joined: 25 Nov 2009, 00:41

Re: Robot Arm IK

Post by EricTRocks » 25 Jul 2011, 13:36

Try looking up "XSIMath.MapWorldPoseToObjectSpace" in the SDK documentation. Other related methods may be what you need precisely so look at the XSIMath object's other methods.
Eric Thivierge
Lead Kraken Developer, Fabric Engine
http://fabric-engine.github.io/Kraken

azurecgi
Posts: 171
Joined: 12 Jul 2011, 10:11

Re: Robot Arm IK

Post by azurecgi » 25 Jul 2011, 16:13

Thanks Eric!

I think I've cracked it :)

I ended up using "XSIMath.MapWorldPositionToObjectSpace" as rotation isn't important for my trig functions, only position!

I don't have time right now, but I'll try and put up an example or tutorial in the near future, as this problem seems to have caused some interest.

By the way, I downloaded a trial version of 3DS Max to see if it magically solved all my problems, and the answer is "no, it didn't".

I also feel the need to express how non-intuitive and clunky I found the 3DS Max interface and workflow compared to Softimage. Autodesk really don't seem to understand what a gem they are hiding away from 3D animators, and it's an insult to package it up like a glorified plug-in for Max or Maya!