Set Constraint Reference nodes explanation?!

For the love of God. Can someone explain how to use those 3 nodes please? I am going nuts here… Set Constraint Reference Frame/Orientation/Position how on earth can I use these?? 2 people have asked about this and ZERO answer was given(one of them got banned for rudeness I guess)… does everyone else know how to use them besides me? Or is it some sacred matter which should not be discussed in public?! Please someone at least give a direction towards the answer if you know :frowning: I have tried reading source code but still have no freaking idea about how to use it properly D: And yes I need to use it, because I see what it changes. But it is almost impossible to understand how to use it properly. It… it just doesn’t make sense: Primary axis?? Secondary axis? what? O.o

1 Like

It is no different from what is written in engine. I think have made my question clear, it is: how to use them? Not what they do. For example, if you change PriAxis and SecAxis in Set Constraint Reference Orientation you will see some kind of change in rotation of object but I have no idea how it changes rotation based on two vectors. I hope this makes my question even more clear.
Thanks for help :slight_smile:
I guess this question will also get lost in the dark void of ConstraintReference world :frowning:

Nicat, did you figure this out? The reference position is working as expected (just an offset from the frame’s matrix). But the orientation is mind boggling. I’m getting unexplained results.

I think I figured it out. Pri Axis is the X axis, and Sec Axis is the Y axis. Given those two, the Z can be computed internally. I use Make Rotator and then get its Forward Vector and Right Vector, and plug those into Set Constraint Reference Orientation, where Pri Axis = Forward Vector, and Sec Axis = Right Vector. Then, I can simply plug values into the Rotator’s Roll, Pitch, and Yaw to orient the constraint relative to the frame of reference it’s attached to.

I kind of understood “Set Constraint Reference Frame/Position” but I gave up and has been working on something else. I’ll get back to it later.
I couldn’t even get close to getting close to understanding “Set Constraint Reference Orientation” :\

Wow that was fast. I think I understood what you mean. If it really is like that, then I would like to find out why those are called Pri/Sec Axis instead of Forward/Right Vector.
Btw doesn’t it work same as “Set…Frame” node’s “Ref Frame Rotation”?
I’ll give it a try tomorrow as I’m extremely tired right now. Hopefully I can use that node… finally. Thank you for letting know :slight_smile:

Do you mean the “Set Constraint Reference Frame” node? That node takes a “Ref Frame” parameter, which is just a UE4 Transform (including translation, rotation, and scale).

Yeah that is what I mean. If I remember correctly changing “Ref Frame Rotation” changes the rotation of reference. I mean, if I use “Angular Orientation Drive” after changing “Ref Frame Rotation” orientation will change relative to “Ref Frame Rotation”.
However, I might be remembering it wrong. I have bad memory :slight_smile:

I think so too. But I really want to know why on earth those are called Pri Axis and Sec Axis, it is bugging me.
I feel like we are still missing something important about the mystery of “Set Constraint Reference…” node :\

That may be, but I haven’t tried using the angular drive after modifying the frame rotation. But AFAIK, Set Constraint Reference Frame is just a shortcut for setting both Ref Pos and Ref Orientation at the same time.

Yeah, not sure about that. Maybe because PhysX is a cross-platform physics system, and different platforms use different axis systems. Not sure, though.

As sranck said:

I think I figured it out. Pri Axis is the X axis, and Sec Axis is the Y axis. Given those two, the Z can be computed internally. I use Make Rotator and then get its Forward Vector and Right Vector, and plug those into Set Constraint Reference Orientation, where Pri Axis = Forward Vector, and Sec Axis = Right Vector. Then, I can simply plug values into the Rotator’s Roll, Pitch, and Yaw to orient the constraint relative to the frame of reference it’s attached to.

Pri Axis is Forward vector, Sec Axis is Right vector of frame.