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 中寻求更积极的角色,否则 Adobe 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....选择哪个? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章