日志

为什么要使用 Web Player + JSON

2016-08-05

从 Blender 场景瞬间输出到 HTML 是 Blend4Web 引擎吸引初学者注意的一个杰出特点。一开始您可能会习惯,但后来发现,创建 Web 应用程序如没有这个快速和方便的方法,那根本是场洪荒之斗。然而,我经常听到,建议 framework 开发者 Web Player + JSON 捆一起使用。那么,秘密是什么?

老派的思维

当我们听到“player播放器”这个词时,我们通常会想象一个单独的程序来播放某些文件,这是正确的。 Blend4Web's Web Player 是一个用来查看 Blender 3D 场景并导出 JSON 格式的应用程序。

如果我们将一个网页浏览器在播放器的环境下,设想成像 Flash 或 Unity 插件的东西,这是不正确的。Web Player 不是浏览器的一个 add-on插件,而是一个经由网页加载的简单脚本。

无论我们选择什么样的方法来使用 Web Player(HTML 输出或 Web Player + JSON 束),它总是使用相同的应用程序。只有在一种情况下,应用程序和所有的数据被打包成一个单一的文件,而另一方面,您自己把数据导入到播放器上。

那么,为什么您可立刻得到的一个现成 HTML 文件,还需要额外的步骤?

事实# 1. 加载时间和空间消耗

乍看,它可能仿佛没有那么明显和清晰,但尝试用两种方法导出您的场景,并测量他们所消耗的空间 (别忘了添加播放文件到 JSON 文件里!)。我一直在用标准的 Blender 场景进行试验,并发现,有微妙的不同,只有几十KB。但当我比较了更复杂的场景时,却有显着的不同。例如,简单的太阳能系统介绍比用 Web Player + JSON 时,小了一个megabyte。所以我开始对这种影响感兴趣,接着我和一个 framework 开发者交谈过。原来,在输出的HTML文件,所有的资源,包括模型和纹理,都是编码的。这种方法,当然也会影响文件的最终大小。

正因为如此,不仅 HTML 文件加载比 Web Player + JSON 束慢,它的起动也没有那么迅速。这是因为应用程序已经多花了​​一些时间,把拆封后的资源加载到内存中。

事实# 2. 定制

有时,在一个项目上工作,您发现,Web Player 提供的创新功能对于您尚不足够。例如,您可能需要更改加载屏幕或在程序里边添加自定义按钮。

您需要知道的是,Web Player 只是一个链接脚本和资源的网页,本质上您可以没有任何限制地编辑。从本质上说,它是一个现成,用于构建任何复杂事务的应用程序。

所以,这是一个简单的事实 — 您只需透过一个独立的播放器,就可以完成所有的事情。HTML 导出应用程序后没有办法再让您修改。

事实# 3. 物理学

Framework 的开发者还没有“教”HTML的输出器与物理学一起工作。这主要原因是网络交通的经济性。并不是每一个场景都使用物理学,甚至一个简单的立方体导出都可以消耗额外的 megabytes。

但当您使用 Web Player + JSON 时,您不会受到任何限制。如果需要的话,使用 Project Manager项目经理,程序会自动插入物理模块。

总结

让我们尝试把所有这些事实结合成一个整体,并了解在各情况下,何种导出的方法最合适提供给我们的开发人员。

Blend4Web HTML 非常的适合显示您创建或演示的 3D 雏形模型。单一的一个文件不须任何依赖软件,就可以很容易地通过电子邮件发送或放置在一个网站上。

部署到服务器时 Web Player + JSON 的方法特别好。它更快,更简洁还有更大的可扩展性。别忘了它在服务器上多保存了一些磁盘空间,因为您不需要为每个 JSON 文件保留单独的副本。此外,您还可以让多个项目共享资产。并且另外一个相当重要的意义在于,整个 Project Manager 总是任您差遣。使用这个独特的工具,可以控制开发过程:方便地在应用程序浏览器中调整场景参数, 转化媒体来源,备份项目,并通过按一个按钮建立它们。

您可看见,Blend4Web HTMLWeb Player + JSON 只属于不同的种类。决定选择什么应该取决于情况,而在重大项目上,您应该使用 Blend4Web 架构的全部力量。

评论
24 aug. 2016 10:50
非常感谢!
09 may. 2017 14:45
注册登录 后发送信息。