I`m struggling to understand how the APEX set Point transforms node is supposed to work. In my limited trial and error experience with APEX this node does not seem well constructed, as it requires an explicit name inside the node that can't be exposed. So no reusable compounds can be factored out of it. But moreover, I don't understand how to use it I made a simple scene to illustrate my problem. Can somebody help, please?
The set point transforms node is very handy everythin on a run time setup (aka your resulting rig) where performance is key. It will set all the tranform values for a given skeleton in one go. The given variadic input ports need to match with their name the given joint that the xform is supposed to affect. You are right though in case of a component script you actually need a different node. You can use can achieve the same right now with 2 nodes. skel::FindJoint --> that one gives you the joint num based on a given name string. That one can be easily promoted as a component script input. then you use the ptnum that you just got together with skel::UpdateJoint. Here you can now now update your xform value
I will add to our todo list that we add a single skel::SetPointTransform callback that allows to set a sing transform based on a name input, just to be in symmetry with skel::GetPointTransform and to make those steps a bit more convenient.
thank you for your help! I tried to follow your description. But unfortunately it still isn`t working as expected. Could you take a look at the simple example scene I attached? I want to create a component script that offsets a joint, for starters.
I have another question: How would I change your setup to have a constraint? for example between the positions of the other two points? Thanks for your help!
Basically you have to connect the output xform of the parent TransformObject to the input xform of the child TransformObject. If you want to child to keep its position when constraining you have to compute the local transform between the parent and child and add that offset beween them.