Javascript 在Babylon.js中,如何获取/设置免费摄像头';旋转还是平移角度?

Javascript 在Babylon.js中,如何获取/设置免费摄像头';旋转还是平移角度?,javascript,babylonjs,Javascript,Babylonjs,我试图捕捉自由摄影机的位置和平移角度或旋转,以便稍后可以使用完全相同的视图重新定位摄影机 (我正在使用碰撞示例的更改版本,位于) 我似乎能够得到camera.position.x、camera.position.y和camera.position.z,但camera.cameraRotation.y总是为零。根据 使用上向量: camera.noRotationConstraint=true; camera.upVector = new BABYLON.Vector3(1, 0.2, -1);

我试图捕捉自由摄影机的位置和平移角度或旋转,以便稍后可以使用完全相同的视图重新定位摄影机

(我正在使用碰撞示例的更改版本,位于)

我似乎能够得到camera.position.x、camera.position.y和camera.position.z,但camera.cameraRotation.y总是为零。

根据 使用上向量:

camera.noRotationConstraint=true;
camera.upVector = new BABYLON.Vector3(1, 0.2, -1);
游乐场示例:

我想出的一种似乎行之有效的方法是首先收集各种相机统计数据:

var firstPosition=camera.position.x.toFixed(2)+"/"+camera.position.z.toFixed(2)+"/"+camera.rotation.x.toFixed(2)+"/"+camera.rotation.y.toFixed(2)+"/"+camera.rotation.z.toFixed(2);
我将其存储在数据库中。然后,在需要时,我通过以下方式获得相机位置:

var firstArray=firstPositionL.split("/");
var firstX=Number(firstArray[0]);
var firstZ=Number(firstArray[1]);
var firstRx=Number(firstArray[2]);
var firstRy=Number(firstArray[3]);
var firstRz=Number(firstArray[4]);
然后在重新创建场景时,我在场景创建的最后添加了这个。我将其放入一个延迟函数中,为场景提供建立自身的时间:

var myVar = setInterval(function(){ myTimer() }, 1000);
function myTimer() {            
  camera.position.x=firstX;
  camera.position.z=firstZ;
  camera.rotation.x=firstRx;
  camera.rotation.y=firstRy;
  camera.rotation.z=firstRz;
  clearInterval(myVar);
}