【发布时间】:2011-04-22 20:32:21
【问题描述】:
我打算编写一个基于 WebGL 的 3D FPS 游戏。
- 我应该使用一些 WebGL 框架吗?
- 当今最活跃、最流行的 WebGL 库是什么?是否支持 LOD、高度图、COLLADA 和一些材质系统?
谢谢。
【问题讨论】:
标签: frameworks html 3d webgl
我打算编写一个基于 WebGL 的 3D FPS 游戏。
谢谢。
【问题讨论】:
标签: frameworks html 3d webgl
很惊讶没有人提到Three.js。它背后有强大的社区,定期添加新功能。你可以在 WebGL Playground 上试用并玩一下:
新项目有一个 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,因为它具有完整的生态系统和丰富的工具,可以节省大量工作。希望对您有所帮助。
【讨论】: