【问题标题】:WebGL FrameworkWebGL 框架
【发布时间】:2011-04-22 20:32:21
【问题描述】:

我打算编写一个基于 WebGL 的 3D FPS 游戏。

  • 我应该使用一些 WebGL 框架吗?
  • 当今最活跃、最流行的 WebGL 库是什么?是否支持 LOD、高度图、COLLADA 和一些材质系统?

谢谢。

【问题讨论】:

标签: frameworks html 3d webgl


【解决方案1】:

很惊讶没有人提到Three.js。它背后有强大的社区,定期添加新功能。你可以在 WebGL Playground 上试用并玩一下:

http://webglplayground.net/

新项目有一个 Three.js 模板。

【讨论】:

    【解决方案2】:

    是的,您绝对应该使用 WebGL 框架,它会为您节省大量工作。

    WebGL 生态系统目前处于快速变化的状态,以至于很难选择一个特定的库。但是,在我见过的所有库中,我建议使用 Copperlicht,因为它似乎特别针对 FPS 游戏。目前发布的完全开发的 WebGL 游戏很少,很难说哪个库很受欢迎。

    【讨论】:

      【解决方案3】:

      您可能还想看看 GLGE 和 SceneJS。正如利亚姆所说,目前还没有成熟的领导者,但据我所知,这两个和 Copperlicht 是讨论最多的。特别是 SceneJS 有一个非常活跃的邮件列表。

      【讨论】:

        【解决方案4】:

        我最近一直在研究不同的 WebGL 库。

        SceneJS 是迄今为止我试验最多的一个。它是轻量级的,只专注于场景图的创建和操作。场景图对象和数据是在 JSON 中定义的,我发现使用起来很愉快。图形节点稍后会通过 ID 找到并且可以对其进行操作。

        提供了全面的文档 - 尽管有一些明显的漏洞。通过 Google 群组提供良好的社区支持。

        与 GLGE 和 Copperlicht 相比,它的功能严重不足。没有骨骼动画,没有碰撞检测,没有粒子系统,甚至没有环境光!

        未来我将关注 GLGE、C3DL 和 CubicVR 的 WebGL 端口。

        【讨论】:

        • 环境光将在下一版本的 SceneJS 中,但是骨骼动画、碰撞检测和粒子不在框架的范围内,它面向高细节可视化应用(工程、医学等) )。
        【解决方案5】:

        距您提出要求已经过去了大约一年,WebGL 现在已在 firefox 和 chrome 以及适用于 android 的 firefox mobile 中发布。

        如果我现在考虑这个问题,我想我会为 OpenGL 的新手选择 GLGE,SpiderGL 如果你已经了解 OpenGL,也许看看 PhiloGL 如果你是 ExtJS/Sencha 开发人员并且喜欢那种做事风格。当移动设备上的内置 webkit 与 WebGL 一起提供时,Sencha touch 对于 3d 应用程序将更有意义。

        【讨论】:

          【解决方案6】:

          有一个名为 Babylon.js 的 WebGL 库专注于网络游戏的设计和实现。 http://www.babylonjs.com

          它的强大优势在于它在库中提供了大量的渲染效果,您只需调用这些函数即可。

          当然,Three.js 是 WebGL 的基础库,一切都可以通过它来实现,只是它对于游戏设计来说可能比较耗时。但我建议你先从 Three.js 开始熟悉 WebGL,然后再使用 Babylon.js 来做你的游戏。

          【讨论】:

          • 我喜欢 Babylon.js,因为它是用 TypeScript 编写的,并且对 TypeScript 很友好。这是我在 Playground 上的带有动画的 TypeScript 示例:plnkr.co/edit/WEMBjkkJJbHgVPVJ?preview
          【解决方案7】:

          自从第一次提出这个问题以来,出现了一些新的选择。

          对于游戏,Turbulenz 是一个非常好的库: http://biz.turbulenz.com/developers

          Playcanvas 似乎也不错: https://playcanvas.com/

          根据您对下载大小的需求,Unity 也是一个不错的选择。 有了它,您可以将游戏导出到几乎任何平台。唯一的缺点可能是它产生的文件相对较大。 http://docs.unity3d.com/Manual/webgl-gettingstarted.html

          【讨论】:

            【解决方案8】:

            根据您的平台,如果您的 FPS 游戏在具有强大显卡和 CPU 的 PC 浏览器上运行,那么 unity3D 是您的最佳选择。

            如果你的游戏目标是手机,也许你可以试试 THREE.js 或 SceneJS。

            如果您的时间有限,并且您的游戏有点复杂,我推荐您使用 LAYABOX,因为它具有完整的生态系统和丰富的工具,可以节省大量工作。希望对您有所帮助。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2016-02-22
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多