Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 两个场景可以使用一个摄像头吗?_Javascript_Three.js_Scene_Perspectivecamera - Fatal编程技术网

Javascript 两个场景可以使用一个摄像头吗?

Javascript 两个场景可以使用一个摄像头吗?,javascript,three.js,scene,perspectivecamera,Javascript,Three.js,Scene,Perspectivecamera,你好:)我正在尝试渲染两个不同的场景。使用在两个渲染器中同时以相同方式移动的摄影机 要解释我想做什么: 我希望在两个不同的场景中渲染两个不同的点云,但我希望不同场景中的摄影机在两个场景中的移动类似 所以我想知道,我怎样才能有效地做到这一点 我尝试了两个渲染器、两个场景和一个摄像头,但似乎不可能。在将球体添加到每个场景后,我出现了以下错误: three.js:21528 Uncaught TypeError:无法读取未定义的属性'length' 我被迫使用两台摄像机吗?或者可以用另一种方式吗? 也

你好:)我正在尝试渲染两个不同的场景。使用在两个渲染器中同时以相同方式移动的摄影机

要解释我想做什么: 我希望在两个不同的场景中渲染两个不同的点云,但我希望不同场景中的摄影机在两个场景中的移动类似

所以我想知道,我怎样才能有效地做到这一点

我尝试了两个渲染器、两个场景和一个摄像头,但似乎不可能。在将球体添加到每个场景后,我出现了以下错误: three.js:21528 Uncaught TypeError:无法读取未定义的属性'length'

我被迫使用两台摄像机吗?或者可以用另一种方式吗? 也可以使用同一个对象并将其添加到两个不同的场景中吗?(这似乎是不可能的,因为当我将对象添加到另一个场景时,它会从第一个场景中删除该对象)


感谢您的帮助:D

我的理解是,相机或网格对象在任何给定时间只能指定给一个场景。这是因为“添加”(赋值方法)创建了一个child:parent对象关系,并且一个子对象在任何给定时间只能有一个父对象

理论上,您可以使用单个摄影机,并将其从一个场景重复移动到另一个场景,并且仅当每个场景包含摄影机时才渲染每个场景。还可以在场景之间穿梭一个或多个网格对象。但是我不知道如果你有很多东西在场景之间穿梭,并且你也在寻找一个高帧速率,这会有多好的效果


更安全的方法是为每个场景创建一个摄影机,然后确保两个摄影机以相同的方式移动-即在渲染每个帧之前同步它们的.position和.rotation值。同样,对于希望在两个场景中显示的任何网格对象,请创建每个网格对象的多个副本,并同步其.position、.rotation或其他属性的任何更改。

不必将摄影机添加到场景中,因此可以使用摄影机渲染多个场景。必须将摄影机添加到场景的唯一时间是摄影机是否有子对象,例如子对象灯光

单个渲染器可用于渲染不同的场景

对象(如网格或点云)只有一个父对象,因此一次只能将其添加到一个场景中

3.js r.75