Basically, I want the exact functionality of Transform.RotateAround() (object A rotates around object B along specified axis by x degrees), except I want to specify the angle in absolute terms, not relative terms.
Presently, if you do something like transform.RotateAround(Vector3.zero, Vector3.up, 20), the object would rotate around the world position 0,0,0 along the Vector3.up axis by 20 degrees every time that the method is called. So if I ran the above code 5 times, object A’s final angle would be 100 degrees greater than its starting angle.
Instead, I want it to take the angle in absolute terms, so if I ran transform.RotateAroundAbsolute(Vector3.zero, Vector3.up, 20) five times, the angle of the rotated object would still be 20.
I haven’t been able to find a direct method that will do this, though I’m aware I can use Quaternion.LookAt() to do part of the required functionality: getting the rotated object A to always face the object B that it’s rotating around, but how do I actually make object A physically position itself around object B based on an inputted angle?