Unity、Torque3D、Google O3D、WebGl....选择哪个? [关闭]

Posted

技术标签:

【中文标题】Unity、Torque3D、Google O3D、WebGl....选择哪个? [关闭]【英文标题】:Unity, Torque3D, Google O3D, WebGl....which to choose? [closed] 【发布时间】:2009-11-13 23:52:08 【问题描述】:

对于交互式 3d 网络应用程序的开发,推荐使用哪种引擎?

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

我担心在 Unity 等专有游戏引擎上投入时间,一旦出现无插件的开源 3D 引擎(webgl、javascript for 3D),扭矩就不会很大。

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

【问题讨论】:

这个问题被关闭了,真可惜。堆栈溢出有时真的很奇怪。无论如何,看来我们最终会通过 webgl 实现一些标准化,因为 ie11 最终至少部分支持它 它的 2019 年,Unity 允许为 webGL 导出,这很容易。 【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

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 并希望其他人编写场景图。如果选择你想要的方向,Copperlicht 看起来很不错。

Torque3D 以有缺陷而闻名,并且再次需要插件才能在网络浏览器中运行。

到目前为止,Papervision 的表现确实很低。我们说的是一些平坦的阴影多边形,仅此而已。新的 Flash 3D 加速可能会有所帮助。就我个人而言,它们的功能也让我印象深刻,但请自行查看它们的 API。

所以你的问题还没有很好的答案,抱歉。我会把我的钱押在 WebGL 上除了是因为微软的问题,这是一个大问题。

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

【讨论】:

优秀答案....我现在就购买 Away3d 书并开始....多久才能支持大众支持 Flash 11? 地狱里寒冷的日子似乎已经到来;) 确实有。这让我非常震惊,这表明 MSFT 的互联网地位已经变得多么薄弱。 我还说 Unity 在过去的一年半到两年里有了很大的改进。他们仍然有一个问题,即他们在很多方面都是一个密封的盒子,但就您可以使用脚本执行的操作而言,它们比 UDK 更好。他们现在已经导出到 Flash,并且正在开发导出 WebGL。 UE4 现在只需每月 19 美元就可以让您访问源代码,并且还支持 Webgl。【参考方案3】:

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

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

【讨论】:

是的,但是 IE ?肯定会想出他们自己的专有解决方案......考虑到 IE 仍然拥有很大的市场份额,市场渗透率将受到“其他人”的严重限制【参考方案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 网络应用程序在未来 5 年都可以使用。到那时,WebGL 或 Google O3D 可能已经足够成熟,可以满足您的需求。但我不会指望它。 WebGL 只是 VRML 的长线故障的下一个实现。它在 15 年前是成功的,在 15 年后不太可能成功。至于 Google O3D,我玩过它。它可以做需要做的事情,但是出现了意外的半秒锁定。我确信谷歌会或已经修复了锁定问题。但是如果没有针对它的 IDE,开发将会很慢。再加上必须使用 JavaScript,您的应用程序会失去 CPU 所能提供的最大速度。更复杂的 3D 应用需要强类型语言来实现 CPU 的最大速度。

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

【讨论】:

为什么你认为 WebGL 是新的 VRML? VRML 是一种静态场景描述语言,不仅缺乏实现,还缺乏视觉。 WebGL 是大获成功的 OpenGL 规范(实际上是“ES”)的网络端口。我看不出任何关系,只是两者都试图以标准化的方式将 3D 引入网络。 不要将 VRML 与 WebGL 进行比较。他们几乎没有任何共同点。【参考方案5】:

要查看这篇文章和相应的链接,请前往我的forums 阅读。包括 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 专家

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

WebGL 缺点

    它仍处于测试阶段,一切都处于早期开发阶段。

【讨论】:

【参考方案6】:

我是最初的问题创建者。

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

【讨论】:

【参考方案7】:

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

【讨论】:

【参考方案8】:

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

【讨论】:

【参考方案9】:

终于找到答案了。

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

无论如何,unity3d 刚刚发布了他们的 flash 11 导出功能的预览版。

甚至物理,在 unity3d 上运行的所有东西显然都可以在 flash 上运行....

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

【讨论】:

是的,我自己一直在玩它,它有希望。但它还远未完成 Unity 功能。 Unity 仍然存在“密封引擎”问题,但这可能令人沮丧。我正在从头开始用 C# 构建我自己的字体引擎,只是因为他们没有在他们的字体类中公开我需要的所有字体信息:/ 我也将不得不编写自己的导航网格类,因为类似的原因。【参考方案10】:

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。

【讨论】:

【参考方案11】:

我说的是 Flash 11

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

Flash 11 尚未发布,但

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

因此,如果您正在开始您的项目并且按照缓慢的自制计划进行,那么是的,您可以接受这个赌注。我个人是。

【讨论】:

【参考方案12】:

我说,没有

原因:

Unity3D - 不适用于 Linux,市场渗透率低 Torque3D - 尚未推出 Google O3D - 虽然起步不错,但市场渗透率并不高 WebGL - 尚不可用。

我的解决方案:

Papervision3D - 基于 Flash - 即95% market penetration,它将确保“几乎”每个人都可以玩您的游戏。

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

【讨论】:

啊是的。我遗漏了papervision 3d。这也引起了我最初的担忧。 Adobe 迄今已将 3d 开发留给社区,并且没有在该领域担任任何领导角色。随着 WebGL 等开源解决方案的出现,Adobe 将如何保持竞争力?我看过 Papervision3d 和其他一些 flash 3d 引擎,但它并不是最适合生产 Unity3D 之类的东西。这当然不是一个公平的比较,但如果 3d 网络应用程序的复杂性类似于 Unity3d 的复杂性,那么除非他们在 3D 中寻求更积极的角色,否则 Adob​​e flash 的未来看起来并不光明。 在推出 Web3D 支持之前,我会说这是一个临时解决方案。 Papervision 3D 的性能仍然是个问题吗?在 Flash 10.1 中怎么样?我没有任何基准,但个人经验表明 Unity3D 在性能方面表现出色。【参考方案13】:

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

【讨论】:

【参考方案14】:

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

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

【讨论】:

【参考方案15】:

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

干杯, RB

【讨论】:

【参考方案16】:

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

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

【讨论】:

【参考方案17】:

firefox 或 chrome 的功能并不重要,因为大部分电脑游戏市场都由 Microsoft 和 Direct X 统治

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

【讨论】:

以上是关于Unity、Torque3D、Google O3D、WebGl....选择哪个? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用Open3D进行PCD拟合平面的Python代码示例

Google 登录接入之Unity

Unity/Firebase 如何使用 Google 进行身份验证?

如何在Unity 3D中设置Google AdMod

unity--google支付

Google Firebase Unity接入的坑