34

对于开发交互式 3D Web 应用程序,推荐使用哪种引擎?

我知道 WebGL 已被宣布在不久的将来(1~2 年)成为所有浏览器的标准。

恐怕通过在 Unity 等专有游戏引擎上投入时间,一旦出现无插件开源 3D 引擎(webgl、JavaScript for 3D),扭矩就不会很大。

担心这是一件愚蠢的事情吗?我应该从 Unity 开始吗(它的演示和工具令人兴奋)。

4

17 回答 17

21

WebGL 并不是失败的。像失败一样说话表明这些人的无知。

也就是说,如果您刚刚开始,请探索您的选择。如果您正在寻找的不仅仅是 Windows 用户,请远离专有解决方案。微软的主导地位不再像人们想象的那样大。由于其荒谬的编码,IE 正在逐渐消失。

在所有平台上运行,使用开放标准。

于 2010-02-05T22:02:14.120 回答
19

Unity 存在三个巨大的问题。首先是他们在他们的 API 中无偿地密封类。这意味着如果您不想“以他们的方式”做事,就不能覆盖它们的功能。其次,除了 API 的最顶层之外,它们不公开任何东西。(例如,他们公开了他们的物理系统,但没有公开它所基于的 PhysX API。)这意味着您不能剥离他们的 API 层来构建自己的功能。最后,如果你想要源代码,这样你就可以按照他们告诉你的方式做事,根据我与之交谈的 Unity 销售人员的说法,它的成本“高达 6 位数”。

一位智者曾经说过,工具可以让简单的事情变得简单,让复杂的事情成为可能。另一方面,玩具使简单的事情变得容易,而使复杂的事情变得不可能。按照这个标准,Unity 是一个非常好的玩具,但仅此而已。

另请注意,任何要求用户安装插件的技术都不能在用户没有管理员权限的学校、图书馆或其他公共 Windows 系统中使用。在今年的 GDC 上,Unity 提出了一个将部署到 Flash 以解决这个问题的版本,但是关于这个产品有很多未解决的问题,包括性能(Flash VM 很烂)和物理(没有适用于 Flash 的 PhysX API。 )

WebGL 有一个巨大的绊脚石,那就是微软。MSFT讨厌OpenGL,因为它与 Direct3D 竞争。在他们在 IE 中支持它之前,这可能是一个寒冷的日子,这取决于你想相信谁的统计数据,它仍然是浏览器市场的 30% - 60%。我们最大的希望是,MSFT 会发布一个“WebDX”,而一些有进取心的 Javascript 场景图制造商会构建一个在其中一个上运行的层。

O3D 已死。就是这么简单。据我今年在 GDC 上交谈过的谷歌人员称,谷歌没有人力。他们重新关注 WebGL 并希望其他人编写场景图。如果 thaqts 你想进入的方向,Copperlicht 看起来很不错。

Torque3D 以有缺陷而著称,并且再次需要插件才能在 Web 浏览器中运行。

到目前为止,Papervision 的性能非常低。我们说的是一些平坦的阴影多边形,仅此而已。新的 Flash 3D 加速可能会有所帮助。就我个人而言,我也对它们的功能印象深刻,但你自己看看他们的 API。

所以你的问题真的没有很好的答案,对不起。除了微软的问题,我会把钱押在 WebGL 上,这是一个大问题。

编辑:我已经开始关注 Away3D 4,到目前为止我印象非常深刻。遗憾的是,他们的 Webgl/Javascript 版本是两个版本,但您始终可以将他们的 Flash 引擎包装在 Javascript API 中。我实际上正在考虑做的事情...

于 2011-03-14T04:08:38.150 回答
7

WebGL 有机会,因为它不是中间件,你们中的许多人应该记住,插件通常会导致性能和安全问题。由于 WebGL 是原生的,并且默认情况下会在所有值得使用的浏览器中使用,因此它的市场渗透是自动的。它所需要的只是一些好的内容,许多公司都会使用这些内容。

此外,它还得到了 nVIDIA、AMD、英特尔、Mozilla、Opera 和 Apple (Safari) 等的支持。这足以知道它会去某个地方。

于 2010-01-31T07:30:55.023 回答
4

如果您的 3D Web 应用程序是今年或明年,请使用 Unity3D。它提供了一个快速的高质量开发环境,很少有引擎可以与之竞争。通过选择 Mono 来满足他们的脚本需求,他们基本上做到了“选择你自己的语言”。目前支持的开箱即用语言是 Boo、C# 和 JavaScript。

如果您需要 Linux 支持,请加入论坛,并加入寻求 Linux 支持的人们的行列。Unity 似乎实际上听取了他们的用户关于他们应该添加到 Unity3D 的内容。一年前我开始使用 Unity 时,他们没有基于 Windows 的编辑器。他们听取了客户的意见,现在他们这样做了。Unity3.0 正在为播放器获得 Android 支持,正如您所知,Android 是基于 Linux 的,因此与 Unity3D 的桌面 Linux 版本相距不远。Unity 在 Linux 上最害怕的是 Linux 风格的 IDIC。不保证 Linux 上的二进制文件可以在每个发行版上运行。

但是,如果您的 3D Web 应用程序可以使用 5 年,那么 WebGL 或 Google O3D 可能已经足够成熟,可以满足您的需求。但我不会指望它。WebGL 只是 VRML 的长线故障的下一个实现。它在 15 年前是成功的,在 15 年后不太可能成功。至于 Google O3D,我玩过它。它可以做需要做的事情,但是出现了意外的半秒锁定。我确信谷歌会或已经修复了锁定问题。但是如果没有针对它的 IDE,开发将会很慢。再加上必须使用 JavaScript,您的应用程序会失去 CPU 所能提供的最大速度。更复杂的 3D 应用程序需要强类型语言来实现 CPU 的最大速度。

我没有玩过 Torque3D,所以我不能就这个主题提供有根据的意见。

于 2010-04-09T13:14:45.353 回答
1

我是最初的问题创建者。

更新:我现在完全专注于 Unity3d,因为他们宣布他们将为 Flash Player 11 添加导出选项。是的,他们可能不包括物理,但现在一切都很模糊。没有什么是一成不变的。Unity 附带了一切让游戏更容易制作的东西,或者至少他们宣传它。我会发现的。

于 2011-03-16T01:07:31.323 回答
1

要查看这篇文章和相应的链接,请前往我的论坛阅读。包括 10 多个 WebGL 库链接

我建议使用 C3DL,我目前正在使用它来开发业余爱好者游戏。它处于开发的早期阶段,但 WebGL 也是如此,并且在我看来也是领先的 WebGL 库。有一些错误等等,因为,这项技术仍然被认为是“测试版”而不是标准。你可以用它做很多事情,而且它可以大大缩短你的开发时间。此外,对于“pqnb”,IE 并不占据浏览器的市场份额。Firefox 确实如此,然后是 IE,chrome 紧随其后,并且还在上升,我预计到明年 chrome 将超过 FF 和 IE。另请注意,DirectX 仅在 Windows 上。因此,如果你想吸引最多的人,并制作一款浏览器游戏,我会使用 WebGL 并在 FF 和 Chrome 上进行测试。主要是因为当您完成游戏时,它将成为标准且功能齐全的游戏。给定平均游戏的开发时间线等。这也是没有人真正看过的一件事。他正在询问使用哪个引擎,因为它是一个基于浏览器的游戏,他应该已经在 HTML CSS JS 和 XML 方面有一些经验。WebGL 是大多数 Web 开发人员可以选择和运行的唯一语言,因为它是基于 Javascript 的。Flash 你会有一个 Actionscript 的学习曲线,当然其他人也有他们的语言,我没有这方面的经验,所以我不会对它们进行任何语言讨论。WebGL 是大多数 Web 开发人员可以选择和运行的唯一语言,因为它是基于 Javascript 的。Flash 你会有一个 Actionscript 的学习曲线,当然其他人也有他们的语言,我没有这方面的经验,所以我不会对它们进行任何语言讨论。WebGL 是大多数 Web 开发人员可以选择和运行的唯一语言,因为它是基于 Javascript 的。Flash 你会有一个 Actionscript 的学习曲线,当然其他人也有他们的语言,我没有这方面的经验,所以我不会对它们进行任何语言讨论。

WebGL 优点

  1. 基于 Javascript,快速学习曲线
  2. 不是基于插件的,并且在浏览器中本地运行。整体速度更快,因为不需要第三方插件
  3. 它的 OpenGL,已经有数百个教程可以轻松转换,就像 NeHe 教程一样,已经
  4. 大量库可供选择:C3DL(推荐)、Copperlicht、EnergizeGL、GLGE、SceneJS、SpiderGL 等

WebGL 缺点

  1. 它仍处于测试阶段,一切都处于早期开发阶段。
于 2010-12-15T07:05:24.527 回答
1

终于找到答案了。

自从我大约 2 年前提出这个问题以来......我一直在等待,每天都在等待观看不断增长的 flash3d。

不管怎样,unity3d 刚刚公布了他们的 flash 11 导出功能的预览版。

即使是物理学,在 unity3d 上运行的所有东西显然都可以在 flash 上运行......

http://blogs.unity3d.com/2011/09/01/unity-and-flash-a-sneak-peek/

于 2011-09-15T09:58:50.443 回答
1

http://iewebgl.com/我认为这个.. 毫无疑问可以使用 WebGL

于 2011-08-29T12:16:50.483 回答
1

根据我的阅读,WebGL 的 Chrome 实现在 Windows 上使用 ANGLE/DirectX。我认为隐藏源代码将成为一些开发人员的问题。这些开发人员可以使用 Flash 11 或 Silverlight。我不认为 X3D 会被抛在后面,因为有 X3DOM 和 XML3D——不确定 VRML 是否会成功——也许它会被翻译成 XML。

于 2011-03-18T22:40:54.647 回答
0

WebGL 包含在最新版本的 Chrome 和 Firefox 中。

如果您还不确定 WebGL 是否出色,请在夜间构建的 Firefox 中启用 WebGL 并访问此网页:http ://www.iquilezles.org/apps/shadertoy/

以下是如何在 Firefox 中启用 WebGL:http: //blog.vlad1.com/2009/09/18/webgl-in-firefox-nightly-builds/

我会选择 WebGL 并使用 Papervision 或 Sandy 3D 回退到 Flash。

于 2010-01-13T14:32:59.827 回答
0

我说Flash 11

  • Unity3D - 只有 70% 的用户接受下载(根据 MIGS 2010 上发布的统一数字)
  • Google O3D - 已被 Google 弃用(现在是一个 javascript 库)
  • WebGL - 除了 Chrome 和 Firefox 中的 beta 版本外,尚不可用。

Flash 11 尚未发布,但

  • 有一个简单的 API
  • 将拥有出色的第三方包装器,例如 Alternativa、Away 3D
  • 推出后几个月内将获得 90% 的渗透率

因此,如果您开始您的项目并且在一个缓慢的自制时间表上,那么是的,您可以接受这个赌注。我个人是。

于 2011-03-16T19:44:10.090 回答
-1

我会在 Flash 中选择 Away3D。显然,您无法比较 flash 和提到的插件之间的性能,但可以查看http://www.syerit.com以了解 flash 现在可以实现多少 3d。我也同意之前的帖子。Adobe 应该开始在 flash 中推动严肃的 3d 否则他们会失去很多游戏开发者(事实上,它已经开始了)

于 2009-11-21T17:43:51.123 回答
-1

这取决于你想做什么。是游戏吗?

我选择了 WebGL。它现在在 Chrome、Safari 和 FF 版本中。当然,暂时不会对公众开放。

于 2009-11-21T17:51:25.743 回答
-1

WebGL 已经在除 IE Web 浏览器之外的所有夜间版本中工作。MS肯定会拿出自己专有的解决方案,但是webgl相关的人肯定会为IE提供一个插件。检查 WebGL 已经可以做什么,例如这里: http ://www.spidergl.org

干杯,RB

于 2010-04-21T12:39:30.827 回答
-1

我说,没有

原因:

  • Unity3D - 不适用于 Linux,市场渗透率低
  • Torque3D - 尚未推出
  • Google O3D - 虽然是一个好的开始,但它没有很好的市场渗透率
  • WebGL - 尚不可用。

我的解决方案:

Papervision3D - 基于 Flash - 具有95%的市场渗透率,将确保“几乎”每个人都能玩您的游戏。

Flash 也非常成熟,拥有很多游戏开发库,例如物理的jiglib、原生 mp3 播放支持、视频等等。

于 2009-11-14T00:01:49.750 回答
-2

我将 Unity3D 与 Torque3D 进行了比较。Unity3D 环境的一切都好得多(文档、脚本(Javascript 和 C#)、教程、支持和功能)。Torque3D 漏洞百出,几乎毫无用处。你肯定需要源代码,因为你必须修复他们的错误。不要使用 Torque3D 二进制文件,因为您将无法使用它来构建游戏。不要听信炒作或根据您在他们网站上看到的漂亮图片做出决定。

我在几个小时内使用他们的一个教程构建了一个完整的游戏,它看起来很棒。我使用了他们的资产。在同一时期,我在 Torque3D 上一无所获。它一直在删除我的地形,并且不会保存更改。

于 2009-12-12T10:10:48.820 回答
-5

firefox 或 chrome 做什么真的无关紧要,因为大多数 PC 游戏市场由 Microsoft 和 Direct X 统治

除非 WebGL 有微软加入,否则它就是失败的。我 100% 确信微软将通过 Silverlight 推动 3d 硬件加速,而不是按照微软最好的文化来公开赠送东西。

于 2010-01-15T04:26:18.063 回答