我的任务是在浏览器中渲染和操作3d对象,并且真正想要一个强大的应用程序。我所做的研究显示了两个主要选择。我可以在html5中使用新的webgl工具。或者我可以使用一个浏览器插件,例如unity3d(我确定还有其他人,对于这个问题,它是等效的)。 (我还缺少其他选项吗?)我对应用程序的需求是相当标准的,但是,这些是焦点:
(1)最重要的部分是场景的分辨率。我想要尽可能多的多边形/点数。我希望,希望有100万个多边形/点,1000万个多边形/点,5000万个多边形/点?什么是现实可能的?
(2)场景基本上是静态的,我会加载我的场景然后我只是想绕过它并探索那种方式。我不需要不断改变我的场景。
权衡利弊,我认为webgl的缺点是没有IE支持(尚未)。并且使用Unity会给用户带来不便,因为他们强迫他们安装插件(我认为这是一个巨大的障碍)。如果你拿走那些,两者之间是否有任何性能差异?一个人会给我更多的多边形吗?我认为它们是相同的,因为它们都可以直接访问机器上的相同硬件。
非常感谢任何有关此事的经验或想法......
答案 0 :(得分:5)
只要您智能地绘制它,WebGL就能完全呈现lots的lots和geometry。 Unity也是如此。多边形计数将成为一个非常没有问题的问题,特别是如果您的场景是静态的。
除了渲染速度之外,您真正想要考虑的是工具链和用户可访问性等因素。 WebGL有一个快速发展的社区,但对成熟工具的方式并不多。如果您需要商业支持,Unity可能会更好。正如您所指出的,WebGL也缺乏IE支持,但即使在支持它的浏览器上,如果您的视频卡是blacklisted,也可能无法访问它。也就是说,如果由于某种原因你决定避免使用插件,那么你的选择已经完成了,不是吗?
WebGL具有无可否认的“令人讨厌的酷”因素,但可能会完全失去目标受众。同样值得考虑的是Unity将以游戏为中心,根据您的需求,这可能是也可能不是好事。 WebGL更通用但更低级别。
就其他选择而言,Flash 11有Stage3D,我听说它非常有能力,而Silverlight有Molehill,我听说它几乎没有(抱歉!)。显然两者都是以插件为中心的,但如果你处于困境,他们可能至少值得一看。
答案 1 :(得分:2)
Unity将为您提供比WebGL更多的开箱即用功能,即使在性能方面也是如此。这是因为Unity已经对绘制大型场景(剔除,批处理)进行了优化。在WebGL中,您可能需要手动编写大部分内容(除非有一些我从未见过的可靠的WebGL库)才能获得相同的性能。获得兼容的型号和与WebGL相比,Unity中的纹理也更容易(这是关于工具的成熟度)。
关于需要插件的缺点,Unity在不久的将来会在某个时候发布Flash 11 exporter,这将消除对Unity插件的需求(取决于你的场景)。
答案 2 :(得分:1)
你看到Burster Plugin了吗?它是开源的,它的工作方式就像团结一样,但它打开了Blender的文件 - 最好的3D编辑器:)这里是网站:http://geta3d.com