Changing Up-vector of ChaseCamera

There are some problems with ChaseCamera because my target's Up vector can change over time and updating ChaceCamera's worldUp vector doesn't really work.

There are six possibilities for the up vector: UNIT_X, UNIT_Y(default), UNIT_Z and their negatives. Everything works fine with the default one but as soon as it changes or even if I set another one as the default, the camera's controls(mouselook) are messed up (the camera itself still follows the target nicely without any problems). E.g. If the mouse is moved left or right, the rotation is no longer around the up vector axis, but around some seemingly random axis or doesn't work at all.



I simply want the camera to rotate around a given axis, which can change, upon mouse movement. Any ideas? Am I forgetting something?


It's a known issue. It's better to not use directly the existing static vectors but create them instead.

Forte said:

I simply want the camera to rotate around a given axis, which can change, upon mouse movement. Any ideas? Am I forgetting something?


If you want to get up-vector when left-vector is fixed and know the direction vector,
then up = directon x left
When one vector is fixed, getting other vector is somewhat easy