Blend4Web 16.09 发布
2016-09-29
现在我们很高兴发布新的 Blend4Web - 一个开源,创建互动式 3D 网络体验的平台。您会发现在GPU 端优化的改进,支持 Blender 2.78 的功能,新的材料库项目和与 Blender 同步的各种变化。
坐标系统
这是应用程序开发人员的一个非常重大的转变:我们清算 Blend4Web 坐标系统之间的差异(“典型的”的 OpenGL 方案)和 Blender(Z轴朝上)-后者较受青睐。
差异源于 Blend4Web 刚开始发展的时候,纯粹的 WebGL 库,并没有整合在整个 Blender 当中。坐标的不确定性给应用程序开发人员带来了许多麻烦,尤其是新手。我们相信,轴线重合证明了,现有应用程序使用新 Blend4Web 版本工作的不便。这些应用程序由逻辑节点替代 JavaScript API 所建立,并不受到影响。
其他好处包括某些代码路径的简化和因简化所获得的效能提升。
Blender 2.78 的特点
由于这篇文章写在前,Blender 2.78 发行 - 在后,期待已久的这个开源的 3D 封装版本 - 即将被发表。我们的开发人员在开发新的,作用显着的功能,为了在 Blender 视图中让我们 Blend4Web 的用户,更方便的进行工作。在此,我们将提及最明显,本次主要的更新特点。
首先,环境照明在视图中可见,艺术家可以看到实际的照明条件而不需离开 Blender。
另一件大事是,cube maps立方体贴图:a)可用于节点材质,和 b)亦可在视图中见着。
而且,当然,在此介绍 ,我们先前在 Blend4Web 16.06 LTS 发布版本中,所提到的 World Space Shading世界空间着色方式,现于 Blender 2.78 已可使用。这也是引擎本身在世界空间的一致性上的一个重要一步。如果您想在视图中和 Blend4Web 里边,看到同样的结果,启用此选项是必要的。这最终将支持于浏览器中打开 Blender 的 Cycles 光线追踪引擎里边,某些功能之路。
添加在 Render渲染 标签 底下,我们必须注意到一个新的魔术按钮,即,Set Recommended Options设置建议选项,它将执行浏览器和 Blender 视图之间的几个开关,并将最大化两者的一致性。单击此按钮后,
- 上边提及的 World Space Shading世界空间着色方式 将打开,
- 材质模式切换到 GLSL,
- 视图着色模式切换到 Material材质 且
- 主相机设置为 Vertical垂直。
一切瞬间完成,您不再需要通过 UI界面 搜索和手动切换这些选项!
最后但并非不重要的是,法线贴图节点(支持以前的发布)现在可在 Blender 视图里边正确地执行,如下面的截图。
总结一切所述,Blender 的新功能,我们相信这是我们构架发展的一个巨大进步。 Blender 和 Blend4Web 的网路友好经验,提供无限的 3D 创作能力,组成一个强大的,用于创作互动式 3D Web 内容的完整解决方案。
材质库
一些新的项目添加在 PRO-only 版本材质库中:有焦散的水,毛和鳄鱼皮(这可没动物受伤啊)。
GPU优化
從上个月开始,我们持續追求性能。现在我们专注于 GPU 的部分。首先,我们在輸出端,以對 GPU 缓存有幫助的方式,分類網格頂點。接著,在隨著着色代码的一些优化(如基于向量矩阵运算转换的计算等)。
现在有可能通过减少,模糊阴影贴图样本的程度,以牺牲质量为代价来提高阴影的性能(位于 Render 标签下)。指令只有在需要时才被插入到着色代码中 - 这减少了着色组合的数量和相应的编译时间,并加速加载。
自动质量检测现在可以通过指定 JS 代码的 P_AUTO 品质外型达到,所以 app 将依照硬件规格,运行在低或高品质中:
m_app.init({
canvas_container_id: "main_canvas_container",
callback: init_cb,
quality: m_cfg.P_AUTO
});
这样的情况下,一个微检测将运行,以确定用户的硬件能维持相对性能水平(详见 SDK 索引的最上边)。在图形吃重的应用程序中,使用这个参数是很有意义的(所以我们在Farm农场演示中应用上了)。
PVRTC WebGL 的延伸,对各代 iPhone,iPod Touch,和 iPad 装置以及基于安卓的PowerVR-based,在这些系统上,利用纹理压缩,从而更好地管理视频内存,也提高性能。如何使用 PVRTC-compressed压缩 纹理转换规定及操作指南,请见用户手册。
注释,基于HTML的 2D 框信息,显示在3D物体旁,是利用 translate3d CSS 属性,让硬件加速更快。当应用到动画对象时,他们现在移动得更流畅了。
最后,我们的艺术家使用更少的材质节点和纹理查询,重新设计最复杂的材质。
正如您所看到的,本月很多努力都是朝着优化的方向进行。结果,在我们最重要Farm农场演示里,我们已取得了一个令人印象深刻,30-40% 的增长速度。现在,它甚至可以运行在一般移动设备上(这推动我们想为触摸型的控制版本制作演示)。
更多功能
Web Player 网页播放器,在新浪微博上获得了一种新的社交分享按钮,在中国流行的微博服务。此外,您现在可以通过使用相应的 URL attribute属性,配置 Web Player 的 UI 用户界面,显示这些按钮集合的布置和组成(或完全禁用它们)。社交网络的代码字母很容易记住:f 为 Facebook, v 为 VK, t 为 推特, w 为 微博 和 g 为 Google+。
在 16.06 中,check modules检查模块命令被添加到 Project Manager项目管理器 中,用于检查应用程序的完整性。这是非常有用的,当您更新到新版本 Blend4Web 可以检测缺失或多余的引擎模块。更令人兴奋的是,现在您可以自动 linking连接/removing移除 JavaScript 文件到您应用程序的 HTML 代码中,去修复所有发现的问题(只需点击 Update Modules更新模块 按钮)!
我们考虑到类型和用户之间的普及,还重新安排了 Render渲染 标签 下的所有面板,使用户 UI 界面更直观些。
结语
虽然旧的 2.76 和 2.77 版本亦可工作,但我们推荐使用 Blender 2.78 这个版本来搭配 Blend4Web。完整变化列表和错误修复可在发布笔记中看到。我们将很高兴收到以上对您如何的应用及反馈!
此外,请考虑参与创造心中期待的,将成为大车库的开源复古车模型。我们新的7000元奖项大赛,在短短几天内正式开始!