问题与答案

基本问题 商业许可证 长期支持(LTS) 开放源码许可证 性能 工作流程 Blender(三维动画制作软件) 编程和功能
基本问题
什么是Blend4Web?

Blend4Web是新一代的引擎创建3D图像以满足现代互联网需求。Blend4Web的主要特点是它能够正确工作在网页浏览器上不需要安装任何插件,不仅仅是渲染3D图像,还及成了逼真的物理与空间音频。它非常容易使用,因为它基于Blender可制作并直接导出3D场景,即使只是单一个网页。除了这些功能,它还有完整功能的开源版本与付费的商业许可证版本。我们引擎性能的演示在 演示页面。 框架的功能详细解释在 用户手册上

我需要具备那些专业技能才能使用Blend4Web创建3D网络解决方案?

您需要一个3D艺术家。有 Blender(免费的开源3D创作套件)的工作经验,这是建议但不是必须的。大多数的3D应用程序开发可以不需要任何编码。

创建3D图形可部署在网络站点上。不需要特别的技术,这意味着站长自己就可以搞定了(请参阅教程)。

复杂的交互式应用程序或是游戏,您需要一个具备网络开发或游戏引擎背景的程序员。失业的 Flash 程序员可能也适合。

这真的完全免费的吗?这里面到底有什么意图?

Blend4Web有开放源码与商业许可证两种版本 - 您可以自由选择适合您的版本。选择开源版本授予您完全免费开发任何复杂与优质的应用程序的机会,只要您能遵循GPL原则。开源版与商业许可证版给予您相同的功能。这两个选项具有不同的主要办法。首先,商业版包含了所有演示应用程序的源文件,开源版则无。其次,当您使用商业版本,您无须分享您的应用程序的源码。

如果Unity与虚幻即将要支持WebGL,为何我还需要用您的引擎?

历史告诉我们,大公司往往无法跟上不断发展的科技。他们的解决方案无法适应快速改变的情况而成为一种负担,主要的游戏引擎供货商仍旧将网络当作是众多可行的平台之一,我们并不同意这种看法;网络平台是最佳与最独特的。为此,我们引擎地源代码单纯使用JavaScript所写的,因而简洁又快速。

Blend4Web团队努力跟上时代的脚步。在快速变化的世界,开放的技术与独立的供货商变成基本的价值观时,不能完全独占私有的解决方案,这就是为什么Blend4Web 代码发在开源许可 GPL。 同时我们确保我们的客户的商业发展机会,并提供相应的许可证。

我们将我们的引擎结合Blender - 流行且开源的3D创作套件。因此我们去除多余的阶段,大幅度的简化管道,例如场景的调整与为个别的引擎设置材质。

重点是,我们也为用户们以俄语和英语提供技术支持和丰富的文件。

好吧!但是Unity与虚幻已经是免费的,为何我还需要去购买您的产品?

Blend4Web 是一个轻量级、 多功能引擎,较为理想创建典型网络应用程序,包括浏览器游戏。

Blend4Web有基于真正开源原则(GPL)所发布的免费版本。我们的开发环境最初是为了在Linux生态系统所创建的。工具链不依赖任何非免费的工具。同时,我们并不强迫使用开源组件。

我们的商业模式是透明的,在取得许可证后,我们不会提议购买缺少的组件。

这不就只是另一个像是P3D.in或是Sketchfab这类的的网页浏览器吗?

我们的工具根本是完全不同的:我们不绑定客户在任何网络服务。使用Blend4Web创建的应用程序与场景可以部署在您所拥有的网络站点。我们也提供方便的选项去分享您的3D内容 - 您可以导出您的场景到单独的HTML页面。

我的公司跟我有一个很棒的主意是关于很酷的3D网络项目。你何不就加入我们的开发团队吧?

我们的原则是不直接参与第三方项目。如果您想要您的项目有一个保障的成果,我们会建议购买 技术支持。 此外,我们可以将分配一个教练指导你的团队,甚至指派专家参加你的产品开发。

如果您的报价好的难以拒绝,那我们肯定会跟您合作。

我的应用程序开发要怎样才能得到协助?

您可以自由张贴您的问题在我们的 论坛 (这是首选) 或通过社交网络服务。 只有当你的事是关于隐私,你可以电邮我们您的问题。

商业许可证
购买商业许可证可以得到什么好处?

取得商业许可证您可以开发无数的应用程序并以自己的名义发布,我们自您购买后提供一年的技术支持,而且,商业版的SDK包含了完整的源代码与我们所有演示应用程序的模型。 你可以找到详细的许可证信息在 相应的网页

一套Blend4Web专业版可以装在几台计算机上?

商业许可证链接到个人开发者,不限制计算机数量。

更新的政策是什么?要花多少钱?

当您订阅技术支持,商业版SDK更新并不收取额外的费用。许可证包含了标准技术支持的费用,由您购证日开始提供一年的标准技术支持。到期后可依照您的意愿延长订阅。

商业许可证是一次性付款还是按年度订阅?

商业许可证是永久的,每位开发者我们只收取一次性费用。更替开发者名称每六个月可更换一次。

我为我的客户开发的应用程序且完工后将转移到他的独家知识产权。我们中的哪一个应该购买商业许可证?

商业许可证授予以下权利:第一是开发,第二是发布基于Blend4Web开发的应用程序。在这例子中,开发人员与客户都必须购买至少一张的许可证。

我们的工作室购买了商业许可证,并且运用Blend4Web开发的内容部署在我们的客户的网站,我们的客户是否需要购买Blend4Web许可证?

Blend4Web不能被再授权,部署您的客户端网站上的内容将包含 Blend4Web 编程代码,因此,您的客户端必须购买许可证。然而,我们仍然致力于开放与工作室的 伙伴关系计划, Blend4Web 许可证向您的客户提供很大的折扣。

我们公司聘请了一位自由业者来开发Blend4Web的内容,请问这位自由业者是否需要购买商业许可证?

您的公司可以购买许可证,并为指定的自由工作者注册为指定使用者。如果有需要,可以将许可证重新分配给另一个人,但是每六个月仅许一次。

长期支持(LTS)
LTS 版本和最新的 Blend4Web PRO 版本之间的区别是什么?

Blend4Web正在迅速发展,每月新增许多的功能和改进。这是有益于大多数用户,因为频繁的发布允许框架以适应不断变化的网络环境,并迅速作出反应的用户请求。

然而,这也证明繁琐,因为用户有时需要更新他们的应用程序和解决他们所产生的不兼容问题,引入了新版本中的代码和三维场景中可能出现的问题。

为了满足这些客户需要有一个稳定而保持Blend4Web PRO版本的需求,我们提供所谓的长期的支持(LTS)更新通道。这些更新从来没有打破兼容性,所以你可以很容易地保持应用程序在一个长时间内(即一年)。与此同时,他们确保您的业务解决方案,将始终运作无论任何变化在浏览器,GPU驱动程序,操作系统或新发布的移动设备上。

我应该使用 Blend4Web PRO LTS 吗?

如果你在你的应用程序的积极发展,那么紧跟当前Blend4Web版本需要很少的额外工作。这可以确保您获得最新的功能集,以及性能改进和错误修正。

然而,随着在线应用程序,它的维护已大大简化了如果你使用 LTS 通道,因为在这个频道的更新总是互相兼容。你永远不会需要检查和修复您的的代码或三维场景应用程序直到下一个 LTS 版本。

开放源码许可证
比方说,我选择了免费版的Blend4Web,我需要去分享我的模型的源文件吗?要知道,Blender也是基于GPL许可协议,但我就不需要分享我的blend文件。

一般来说,产品源自于 GPL - 授权的架构必须发布在相同的许可下。模型源文件必须导出与进一步加载到应用程序,因此是应用程序的一部分,因此模型必须是开源的等同于应用程序代码。

我们允许一种例外的情况,当导出场景播放使用Blend4Web 标准的网络播放器 (分开加载JSON文件而非独立的HTML文件):如果不改变介绍网络播放器界面或是逻辑,场景源文件不需要GPL许可。

我可以改变网络播放器的界面吗?(例如移除或置换标志)

你有权这样做。然而,使用该引擎的开源版本意味着你同意的所有条件基于 General Public License (GPL) 并负责发布修改过的网络播放器的代码。如果您购买商业许可证,你可以对网络播放器做任何你想要做的改变。

如果我使用免费版本的 Blend4Web 在我的网站上,我需要发布网站的源代码吗?即使是服务器端?!

GPL的条件之一的要求是自由散布公开获得的衍生产品的源代码。在一个网站的情况下,我们会研究网站不同的组件对于Blend4Web主要组件的运作有多重要,如果网站组件不被视为对Blend4Web重要的部分,那就是,Blend4Web主要组件可独立工作,您就不需要公开这些源代码。

性能
为什么你们网站的演示这么慢?在我的笔电及手机上ULTRA显示只有3-4FPS,图形质量媲美 YYYY 年,但我的计算机现在正超载。

图形的质量取决于认知,当然,实时图形不足以对比经过数小时高运算的效果,亦无法与渲染农场算出来的现代电影特效相比。

在网络浏览器显示3D图形有其商业价值,不同于使用游戏机与桌上计算机游戏技术。WebGL是基于移动API OpenGL ES 2.0(DirectX 9 等级),由于对浏览器的安全政策有额外的约束,此外,JavaScript(写引擎的渲染器的编程语言)不像编译语言那般快速,这就是为何WebGL应用程序工作通常比游戏机或桌上计算机慢的原因。

即使有这些缺陷,引擎的效能以及浏览器WebGL的效能与JavaScript会随着时间稳定提升。

至于ULTRA模式,是预计在高端计算机上显示最高质量的图像。

你们网站的演示程序加载速度太慢。

一些我们的大型演示一次加载大量的数据(农场 - 超过120MB)。如果您第一次启动这些应用程序,使用低速网络链接,那启动时间会延长。我们正在不断改进提升速度与加载程序。

工作流程
你们网站的演示程序无法加载完成。还是我的屏幕出了问题?

一些未知的错误发生,可能与您的计算机或设备的特殊配置有关。这也有可能发生在当你的软件是过期的测试版或非标准系统设置,您可能可以帮助我们修复这些错误,如果您告知我们您的操作系统、视频卡(或设备)和浏览器。如果您寄给我们的这个错误和/或截图说明,我们将不胜感激。

SDK 查看器用来做什么的?它甚至不能保存任何东西。

场景查看器 是非常方便调整场景中实时参数。经过调整,这些参数可以转给相应的blend文件永久存储。也它显示一些有用的场景信息并输出引擎的日志、 警告和错误到JavaScript 控制台 (可以用F12键打开)。许多模型和大型项目中间场景组件可以查看和作为目录检查。

我把我的场景导出到单一的HTML文件,但是无法正常运行(或是图片是错误的),尽管我还能运行您的演示。

在创建场景时有错误。要查阅这些错误是我们强烈建议使用打开的浏览器控制台使用场景台使用场景查看器。在我们这端,我们力求最佳的稳定性和可预测性的工作流程。

在场景上没有阴影、反射或其他特效。

引擎工作在低质量模式,这个模式可以由用户启用或是如果浏览器不支持某些重要的功能(例如深度纹理)时自动激活。在后一种情况,我们建议您尝试其他浏览器或是操作系统。更多的控制在低质量模式中材料的外观为一个特殊的节点LEVELS_OF_QUALITY(从14.09版)。

为何物体在导出到引擎后尺寸或比例改变了?

物体的缩放值必须相同于所有的XYZ轴。此外,缩放物理物体并不支持。Apply ScaleCtrl-A)可以将比例应用于物体的网格,当 Apply Scale的核选框启用后也可以自动应用到导出,在物体设定的标签下(从14.09版)。

Blender(三维动画制作软件)
如果我在工作中使用的是3ds Max或Maya,但我不想去学习使用Blender,是否还可以使用Blend4Web?

与Blender结合不妨碍使用其他的建模套件。您可以转换模型到Blender兼容的格式,例如OBJ或COLLADA。在后者的情况,您甚至可以使用动画。然而,您需要一些Blender的基本知识去执行最后的导出。

什么时候将支持BGE的视觉逻辑编辑器?

Blend4Web不是Blender游戏引擎的一个端口,他有不同的API与功能,然而,我们团队理解视觉逻辑编辑工具的重要性。自14.09版引擎可以在场景上添加简单的交互效果在Blender界面内,不需要编写代码。

此外,根据 Blender开发者的路线图中计划合并Blender主代码库中内建游戏引擎功能。因此,游戏引擎本身已经宣布弃用。相反的,它被拟执行视觉逻辑编程直接在建模环境中。当这些计划实现时,Blend4Web 将能够导出和播放Blender做的互动场景。

当我安装插件时出现错误信息,显示与我的系统不兼容(我使用的是Windows 7 64位)。

这个奇怪的错误发生一些我们的用户。我们试图复制它在我们的计算机上。同时,我们建议您安装Blender的32位版本。

我尝试导出时,会出现模糊的信息。我该怎么办?

当导出时,引擎要求场景设置的一致性检查。 请参照可能错误的完整说明。 我们计划达成工作流程的任何设置的稳定性。

为什么不支持Cycles的材质?如果我有很多这样的物体该怎么办?

Cycles渲染并非为实时工作所设计,因为它使用射线追踪演算法,然而,您可以烘焙您的Cycles材质成纹理到一般的材质中使用它。另一方面,Blend4Web 支持着色器节点(aka 节点材质)快速的性能于实时应用程序,同时也能够实现一种逼真的感觉。

然而,考虑到已经存在的大量Cycles内容和来自社区的持续请求希望在网页上共享他们的模型,我们决定开始工作在Blend4Web中支持Cycles材料。 查找更多

编程和功能
JavaScript 太慢,不适合重要的应用程序开发的设计。

多数的批判意见是在JavaScript首次出现时。现今的JavaScript是高性能的语言适合创建广泛的产品,从服务器框架到移动装置的应用程序,浏览器执行优化让JavaScript媲美Java与C#的性能等级。遵守一定的规则,可使垃圾回收器(可能导致代码执行停顿)的负载降到最低。

我们不是尝试将JavaScript转换成新的编程语言。我们亦不使用"类"(class)。相反的,我们实际上使用常见的JS式模块方法和强类型(Strong type)。我们也有基础架构为极简化引擎与应用程序代码使用 Closure Compiler

我试图使用API​​引擎去移动/旋转物体,但什么也没有发生。

物体必须是动态的,为了可以移动透过API,或者它们必须通过Force Dynamic Object设置启用。更多详细的信息请参阅 用户手册上

是否可能使用 Blend4Web 去创建 Android/iOS 应用程序?

Blend4Web在所有的操作系统与装置包含移动装置上的标准浏览器运作。然而,如果您需要创建一个原生的 Android 或 iOS 应用程序,您可以使用WebView组件用于网络内容集成到移动装置的应用程序并支持WebGL。

更新日志

[2014-09-16] 首次发行

[2014-10-29] 本次更新有鉴于论坛推出与Unigine拒绝推行WebGL支持。

[2014-11-13] 加入六个问题解答。

[2014-11-19] 加入三个问题解答。

[2014-12-29] 补充 BGE 相关答案。

[2015-03-05] 添加一个关于Unity与虚幻引擎免费的问题。

[2015-09-14] 更新Cycles与物体转换API的问题。

[2015-10-14] 免费的 Blend4Web 的使用条款修正更为准确。

[2016-02-18] 许可证问题分为两个部分,添加两个问题到商业许可证部分。

[2016-04-25] Blend4Web 支持各种 HMD 设备 (Oculus Rift, Cardboard) 自15.12 版删除虚拟现实问题。

[2016-10-10] 添加了 LTS 部分。

[2016-11-30] 补充 Cycles 相关答案。