【发布时间】:2011-06-23 04:31:45
【问题描述】:
我正在寻找一个 3-d 轨道飞行器,因此,我显然需要透视图、相机移动等。我还需要能够将纹理应用到几何体。考虑到复杂性,除了<canvas> 或 flash 之外,我没有看到这种情况发生。
据我了解,<canvas> 仅限于 2d,但您可以使用 JS 完成所有 3d 工作,只需将 2d 投影输出到画布中即可。我的理解就到此为止了,搞清楚这一切似乎相当复杂。
问题 #1: 有哪些 3d 图形库可以提供我需要的基本功能(3d->2d 透视投影、纹理、相机动画和平移的流畅用户输入、变焦、倾斜、推车等相机)?
问题 #2: 在提供此类功能的非专有库中,我可以自己找到(three.js 和 C3DL),它们似乎都需要 webGL。这种类型的事情是否需要 webGL,或者对<canvas> 的支持是否足够?如果不需要 webGL,如果我不做任何会拖累 CPU 的事情,还有什么理由使用它?
注意:除非有人另有建议,否则我将继续尝试学习 three.js 来完成这项工作。
【问题讨论】:
-
什么是 3D 轨道飞行器?听起来很有趣。
-
@LarsH 基本上是一系列导航控件,允许用户使用相机进行缩放、卡车/推车、围绕焦点旋转等——这些功能对于 3D 建模包很常见,例如作为 3DSMax、Maya 等。请参阅下面的 solarcoordinates.com 链接以查看我的滞后,但主要是第一次尝试。
-
所以,不一定是航天器模拟?我看到了您的第一次尝试,到目前为止看起来非常成功,但想知道焦点会显示什么。太阳系?
-
@LarsH 你可以用这样的引擎做各种各样的事情。例如,参见 mrdoob.github.com/three.js/examples/webgl_materials_cars.html 和 mrdoob.github.com/three.js/examples/… 。他们的摄像头导航能力较差,但尽管如此,仍有很多潜力可以制作出很酷的东西——游戏引擎,你可以说它。