I’ve been trying to make a function that rotates an actor around an offset pivot point, say to rotate a character around the feet or their heads without changing their actual pivot point (which you can’t do on a character as I understand).
The function takes an offset vector, reorients it to the actor’s rotation (base), adds it to the actor’s location (pre), then takes the intended rotation and applies it to an inverted base (post), then sets the actors location to the combined offsets (pre + post), then sets the rotation to the actor’s rotation plus the intended rotation. The end result as shown here is so far perfect and does exactly what its supposed to.
But this only works when rotating the actor based on its current rotation (Repivoted Rotate Actor By), I need to figure out how to set it to a fixed or world rotation (Set Actor Repivoted Rotation/Repivoted Rotate Actor to) and my attempts so far, mostly by getting the delta between the actor and intended rotation and inverting it, have not gone well. Some rotations work, but others, particularly when rotating all axes at once causes and imperfect new location so the pseudo pivot doesn’t work.
How do I make this system work for rotating to an absolute rotation instead of a relative one?