Convert from ArcRotateCamera, pos + alpha, beta, radius to pos + quaternion

I have stored position and rotations in my database as

and we have been using an ArcRotateCamera for most things.

But we now want to change the camera to the UniversalCamera.

I want to be able to position the UniversalCamera in the exact same position that we have stored in the database.

I was able to copy the world position and rotation from an existing ArcRotateCamera using

const arcRotate = new ArcRotateCamera(...)
const pos = arcRotate.globalPosition.clone()
const rot = arcRotate.absoluteRotation.clone()

const universal = new UniversalCamera(...)
universal.rotationQuaternion = rot

but this means I need to instantiate an ArcRotateCamera just to be able to do the math.

How would I implement the function below?

function convertToUniversalCamera(target: Vector3, alpha: number, beta:number, radius: number): { position: Vector3, quaternion: Quaternion } {
  /// how?

To simplify I would utilize getFrontPosition() like here:


Hello @Leon just checking in if you need any more help?

I was able to solve my problem, so thank you :slight_smile: