我可以选择将Orbit控制切换到FirstPerson控件,但是切换时我的模型正在从场景中消失
我的代码在
之下controls = new THREE.FirstPersonControls( camera );
controls.movementSpeed = 70;
controls.lookSpeed = 0.04;
controls.noFly = true;
controls.lookVertical = false;
我需要从一个控件切换到另一个控件,对象应固定在当前位置
答案 0 :(得分:1)
与OrbitControl不同,在FirstPersonControl中,相机指向任意方向。因此,使用camControl.lon和camControl.lat来控制摄像机的初始方向。
camControl = new THREE.FirstPersonControls(camera);
camControl.lookSpeed = 0.1;
camControl.movementSpeed = 4;
camControl.noFly = true;
camControl.lookVertical = true;
camControl.lon = -90;
camControl.lat = 0;
还要确保你的鼠标不在窗户上,因为场景正在移动,因为正如另一张海报指出的那样,只要鼠标在模腔上,FirstPersonControl就会开始旋转相机。
答案 1 :(得分:0)
从three.js
R101开始,可以使用FirstPersonControls.lookAt()
。 FirstPersonControls.lat
和FirstPersonControls.lon
已被删除。
此外,在创建FirstPersonControls
时,现在已经考虑了相机的初始方向。