Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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 如何在WebGL中在一个世界中创建多个场景?_Javascript_Webgl_Scene - Fatal编程技术网

Javascript 如何在WebGL中在一个世界中创建多个场景?

Javascript 如何在WebGL中在一个世界中创建多个场景?,javascript,webgl,scene,Javascript,Webgl,Scene,我想创建5个场景,使相机在场景中设置动画并自动移动。我希望摄影机在每个场景中设置20秒的动画,然后在20秒后移动到另一个场景,以便在100秒内全部完成。我希望所有的场景都是同一个世界的一部分。所以,基本上我想创作一些电影。如何在WebGL中实现这一点?我在网上找不到任何类似的代码段或教程。请注意,我需要一个完全基于WebGL的解决方案,而不是像three.js这样的任何其他库。这里是一个关于使用three.js设置相机动画的示例讨论这里是一个关于使用three.js设置相机动画的示例讨论听起来你

我想创建5个场景,使相机在场景中设置动画并自动移动。我希望摄影机在每个场景中设置20秒的动画,然后在20秒后移动到另一个场景,以便在100秒内全部完成。我希望所有的场景都是同一个世界的一部分。所以,基本上我想创作一些电影。如何在WebGL中实现这一点?我在网上找不到任何类似的代码段或教程。请注意,我需要一个完全基于WebGL的解决方案,而不是像three.js这样的任何其他库。

这里是一个关于使用three.js设置相机动画的示例讨论

这里是一个关于使用three.js设置相机动画的示例讨论

听起来你基本上是在要求这样的东西

在你的例子中,你把一堆物体放在世界上不同的地方。你决定5个摄像机的位置。你可以在两个地点之间来回走动

例如,假设这些字母中的每一个都是世界上的一组对象
C1
C5
是瞄准的摄影机,它们只能看到其中的3个对象

D E F       G H I      J K L      M N O      P Q R

 \  /       \  /       \  /       \  /       \  /
  C1         C2         C3         C4         C5
你只需要在相机C1->C2,C2->C3,C3->C4等之间进行lerp。最简单的方法是使用大多数3D数学库所具有的相当标准的
lookAt
函数
lookAt
接受3个参数<代码>眼睛,
目标
向上
。因此,对于每一个相机,你需要一个目标,眼睛,上升值。Lerp/tween两台摄像机之间的3个值,然后将它们输入
lookAt
以获取移动摄像机


您的需求与上面链接的示例之间的唯一区别是上面的示例是动态计算相机位置。在你的情况下,你应该硬编码你的相机位置。

听起来你基本上是在要求这样的东西

在你的例子中,你把一堆物体放在世界上不同的地方。你决定5个摄像机的位置。你可以在两个地点之间来回走动

例如,假设这些字母中的每一个都是世界上的一组对象
C1
C5
是瞄准的摄影机,它们只能看到其中的3个对象

D E F       G H I      J K L      M N O      P Q R

 \  /       \  /       \  /       \  /       \  /
  C1         C2         C3         C4         C5
你只需要在相机C1->C2,C2->C3,C3->C4等之间进行lerp。最简单的方法是使用大多数3D数学库所具有的相当标准的
lookAt
函数
lookAt
接受3个参数<代码>眼睛,
目标
向上
。因此,对于每一个相机,你需要一个目标,眼睛,上升值。Lerp/tween两台摄像机之间的3个值,然后将它们输入
lookAt
以获取移动摄像机


您的需求与上面链接的示例之间的唯一区别是上面的示例是动态计算相机位置。在您的情况下,您需要硬编码您的相机位置。

是的,这一个使用three.js,但我需要一个使用纯WebGL的解决方案。没有任何其他库。是的,这一个使用three.js,但我需要一个使用纯WebGL的解决方案。没有任何其他库。是的,我需要类似的解决方案。谢谢。是的,我需要这样的东西。谢谢