gpt4 book ai didi

three.js - 使用相同的控件控制多个摄像机

转载 作者:行者123 更新时间:2023-12-04 02:07:00 25 4
gpt4 key购买 nike

我有两个不同的threejs场景,每个场景都有自己的相机。我可以使用相应的 TrackballControls 单独控制每个摄像头实例。

是否有一种可靠的方法可以将这些控件“锁定”或“绑定(bind)”在一起,以便操纵一个控件会导致相同的相机在另一个控件中重新定位?我目前的方法是添加 change监听器并更新两个摄像机以进行任何一个更改,但这不是很整洁,因为其中一个,两个控件可以同时更改(由于阻尼)。

最佳答案

我相信如果您将第二个摄像头的矩阵设置为第一个摄像头的值并禁用两个摄像头的自动矩阵更新,它应该可以工作:

camera2.matrix = camera1.matrix;
camera2.projectionMatrix = camera1.projectionMatrix;
camera1.matrixAutoUpdate = false;
camera2.matrixAutoUpdate = false;

但是现在您需要在渲染循环中手动更新矩阵:
camera1.updateMatrix();

该调用将采用 position 的值。 , rotationscale (已由控件更新)并将它们组合成 camera1.matrix ,之前的每个分配也用作第二个相机的矩阵。

然而,这感觉有点hacky,可能会导致各种奇怪的问题。我个人可能更喜欢您已经实现的更明确的方法。

问题是您为什么还要使用两个相机和控件实例?只要没有将相机添加到场景中,您就可以使用同一个相机渲染两个场景。

关于three.js - 使用相同的控件控制多个摄像机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38579626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com