我打算写一个基于 WebGL 的 3D FPS 游戏。
- 我应该使用一些 WebGL 框架吗?
- 当今最活跃、最流行的 WebGL 库是什么?它是否支持 LOD、Heightmaps、COLLADA 和一些材质系统?
谢谢。
我打算写一个基于 WebGL 的 3D FPS 游戏。
谢谢。
惊讶的没有人提到Three.js。它背后有强大的社区,定期添加新功能。您可以在 WebGL 操场上试用并使用它:
新项目有一个 Three.js 模板。
是的,您绝对应该使用 WebGL 框架,它将为您节省大量工作。
WebGL 生态系统目前处于快速变化的状态,以至于很难选择一个特定的库。但是,在我见过的所有库中,我建议使用 Copperlicht,因为它似乎特别针对 FPS 游戏。现在发布的完全开发的 WebGL 游戏太少了,很难说哪个库很受欢迎。
您可能还想看看 GLGE 和 SceneJS。正如利亚姆所说,目前还没有成熟的领导者,但据我所知,这两个和 Copperlicht 是讨论最多的。特别是 SceneJS 有一个非常活跃的邮件列表。
我最近一直在研究不同的 WebGL 库。
SceneJS 是迄今为止我试验最多的一个。它是轻量级的,只专注于场景图的创建和操作。场景图对象和数据是在 JSON 中定义的,我发现使用起来很愉快。图形节点稍后会通过 ID 找到并且可以对其进行操作。
提供了全面的文档 - 尽管有一些明显的漏洞。通过 Google 群组提供良好的社区支持。
与 GLGE 和 Copperlicht 相比,它的功能严重不足。没有骨骼动画,没有碰撞检测,没有粒子系统,甚至没有环境光!
未来我将关注 GLGE、C3DL 和 CubicVR 的 WebGL 端口。
有一个名为 Babylon.js 的 WebGL 库专注于网络游戏设计和实现。 http://www.babylonjs.com
它的强大优势在于它在库中提供了大量的渲染效果,您只需调用这些函数即可。
当然,Three.js 是 WebGL 的基础库,一切都可以通过它来实现,只是游戏设计可能比较耗时。但我建议你先从 Three.js 开始熟悉 WebGL,然后再使用 Babylon.js 来做你的游戏。
自从第一次提出这个问题以来,出现了一些新的选择。
对于游戏来说,Turbulenz 是一个非常好的库: http ://biz.turbulenz.com/developers
Playcanvas 似乎也不错: https ://playcanvas.com/
根据您对下载大小的需求,Unity 也是一个不错的选择。有了它,您可以将游戏导出到几乎任何平台。唯一的缺点可能是它产生的文件相对较大。 http://docs.unity3d.com/Manual/webgl-gettingstarted.html
根据您的平台,如果您的 FPS 游戏在具有强大显卡和 CPU 的 PC 浏览器上运行,那么 unity3D 是您的最佳选择。
如果你的游戏目标是手机,也许你可以试试 THREE.js 或 SceneJS。
如果你的时间有限,而你的游戏有点复杂,我推荐你使用 LAYABOX,因为它完整的生态系统和丰富的工具,可以节省大量工作。希望能帮助到你。