在三个js中移动相机并更新其orbitControl

时间:2018-10-02 11:10:06

标签: javascript three.js

我正在尝试更改代码中的摄像头位置,并在此基础上更新控制器。

我轻松运行:

camera.position.x = 20;
controls.update();

但这根本不起作用!

controls.update()重设相机位置!

webgl_decals为例,只需在init()函数中声明控制器(以便可以在控制台中调用它),在控制台中运行:

camera.position.x = 20;
controls.update();

相机位置将重置,并且不会更改其位置!

这是更改相机位置的正确方法吗?

任何解决方案吗?

2 个答案:

答案 0 :(得分:1)

如果您使用的是OrbitControls,并且希望通过编程方式设置相机位置,则可以使用以下模式进行设置:

controls.enabled = false;

camera.position.set( 10, 10, 10 );
camera.lookAt( controls.target );

controls.enabled = true;

three.js r.97

答案 1 :(得分:0)

好吧,我找到了解决方案,我试图通过更改camera.position来更新相机,相反,我更改了controls.target,它可以正常工作!

进行更改后,请考虑通过controls.update()更新控制器。