我正在尝试更改代码中的摄像头位置,并在此基础上更新控制器。
我轻松运行:
camera.position.x = 20;
controls.update();
但这根本不起作用!
controls.update()
重设相机位置!
以webgl_decals为例,只需在init()函数中声明控制器(以便可以在控制台中调用它),在控制台中运行:
camera.position.x = 20;
controls.update();
相机位置将重置,并且不会更改其位置!
这是更改相机位置的正确方法吗?
任何解决方案吗?
答案 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()
更新控制器。