I have same problem in cesiumjs 1.99 .0 when sceneMode is SceneMode.COLUMBUS_VIEW
BY modify cesium\Source\Scene\Camera.js at 960 line can solve this problem
heading: {
get: function () {
if (this._mode !== SceneMode.MORPHING) {
const ellipsoid = this._projection.ellipsoid;
//=============mymodify ==================
var backposition = Cartesian3.clone(this.position);
var backdirection = Cartesian3.clone(this.direction);
var back_direction = Cartesian3.clone(this._direction);
var back_directionWC = Cartesian3.clone(this._directionWC);
var backup = Cartesian3.clone(this.up);
var back_up = Cartesian3.clone(this._up);
var back_upWC = Cartesian3.clone(this._upWC);
var backright = Cartesian3.clone(this.right);
var back_right = Cartesian3.clone(this._right);
var back_rightWC = Cartesian3.clone(this._rightWC);
//=============mymodify ==================
const oldTransform = Matrix4.clone(this._transform, scratchHPRMatrix1);
const transform = Transforms.eastNorthUpToFixedFrame(
this.positionWC,
ellipsoid,
scratchHPRMatrix2
);
this._setTransform(transform);
const heading = getHeading(this.direction, this.up);
this._setTransform(oldTransform);
//=============mymodify ==================
Cartesian3.clone(backposition,this.position);
Cartesian3.clone(backdirection,this.direction);
Cartesian3.clone(back_direction,this._direction);
Cartesian3.clone(back_directionWC,this._directionWC);
Cartesian3.clone(backup,this.up);
Cartesian3.clone(back_up,this._up);
Cartesian3.clone(back_upWC,this._upWC);
Cartesian3.clone(backright,this.right);
Cartesian3.clone(back_right,this._right);
Cartesian3.clone(back_rightWC,this._rightWC);
//=============mymodify ==================
return heading;
}
return undefined;
},
},