updateUserCamera method
void
updateUserCamera(
- Camera camera,
- ArrayCamera cameraXR,
- Object3D? parent
Implementation
void updateUserCamera(Camera camera, ArrayCamera cameraXR, Object3D? parent ) {
if ( parent == null ) {
camera.matrix.setFrom( cameraXR.matrixWorld );
}
else {
camera.matrix.setFrom( parent.matrixWorld );
camera.matrix.invert();
camera.matrix.multiply( cameraXR.matrixWorld );
}
camera.matrix.decompose( camera.position, camera.quaternion, camera.scale );
camera.updateMatrixWorld( true );
camera.projectionMatrix.setFrom( cameraXR.projectionMatrix );
camera.projectionMatrixInverse.setFrom( cameraXR.projectionMatrixInverse );
if ( camera is PerspectiveCamera ) {
camera.fov = 180 / math.pi;/// 2/// Math.atan( 1 / camera.projectionMatrix.elements[ 5 ] );
camera.zoom = 1;
}
}