日志

Blend4Web 16.10 发布

2016-10-27



我们很高兴向您们展示一个新释放的 Blend4Web - 一个创建 3D 网络体验的开源框架。以下是本次版本的重要功能: 使用导航网格达成 pathfinding路径搜索 功能,新的逻辑节点用于切换摄相机运动样式,Project Manager 更新,和更多的优化!

Navigation Meshes导航网格 和 Pathfinding路径搜索

这将会是网上购物商场,虚拟博物馆,互动地图和开放世界游戏开发者,非常赞赏的功能。我们已经实现了经典的 A* 演算法,使您现在可以很容易地实现,走在墙壁和其他障碍物的位置间,并找到最短路径。

Pathfinding路径搜索 是基于所谓的 navigation mesh导航网格(又名 navmesh),来决定哪一领域可由玩家和非玩家角色访问。您可以手动创建 navmeshes ,或如果您想偷懒些,也可使用由 Blender Game Engine 所借来,专为产生 navmeshes 的工具。

用于构建导航网格的工具。

要用一个物件作为导航网格,只需在其物理属性中选择相应的选项。注意 Blender 会立即将好看的颜色应用于它。

Navigation mesh 选项被指定到物理标签页面下。

编程方面,包括物件所属 navmesh 部分的ID检索(navmeshes 可以由独立的区块所组成):

var island = m_phys.navmesh_get_island(navmesh_obj, pos);

...和计算路径(当成座标阵列)在起点和终点之间的部分:

var path = m_phys.navmesh_find_path(navmesh_obj, start_pos, dest_pos, island);

此外,计算出的路径通过应用所谓的 string pulling technique拉弦法 进一步平滑。然而,它可能使用的是路径所连接的三角形中心,而不是纯粹的 A-star 演算法。其他支持的参数,可以在 API reference参考中找着。

You can study the full listing in the corresponding code snippet - run the example now!

以节点为基础的逻辑编辑器

新的逻辑节点,Set Camera Move Style设置相机移动方式,顺应我们的用户要求所增加,是一个非常有用的功能。一个典型的场景,这个节点可以用在公寓建筑,室内和室外视图间的转换。现在这项任务可以由艺术家自己来完成,没有任何编码!看看下面的例子。

另一个重要的更新:就是 JS Callback回调 节点,是一个用于在程序代码的节点树中,调用 JavaScript 函数功能 ,现在变得更加先进。如果回调函数立即回复 true真 ,节点将被设置为 "冻结模式"。它不会沿着逻辑树进行处理,并将继续调用回调函数,直到它返回 false假。我们使用这个功能演示一个令人兴奋的任务游戏,将首先在 Blender Conference 2016 会议上透露。不要错过啊!

JS 回调节点将呼叫 move_to_target() 函数 将物件传递给它的输入端。

优化

连续第三个月,我们一直专注于优化部分。首先,frustum culling视锥体裁简 因 bounding volumes包围体 而更适合于旋转物体,在计算上更有效率。

我们所采取的另一个措施是几何数据格式,它用于在 .bin 场景文件和 GPU 内存中,存储顶点信息,现在被完全改编。大多数数据的精度(例如,法线,(bi)切线,顶点颜色和其他)我们降低正确 3D 模型必要显示的最低水平。这降低了内存带宽,提高性能,也减少了导出的场景文件大小。请记住,应用此更新后,您的场景项目需重新导出(您可在 Project Manager 里边,按一个键处理)。

在检验了负责生成阴影和头发粒子批次代码后,我们设法减少他们的数量,根除了大量多余的绘制调用。

不用说,从我们传统生动的农场演示,上所检测的结果,所有这些措施得到了相当好的帧速率收益。

项目经理

这种 web-based基于网络 的工具,慢慢变为组成 Blend4Web 工作流的核心部件。因此,我们决定从 "global全局" 列表中移除 Scene Viewer场景视图,因为场景项目列表(连同从它产生的 assets.json 文件)已包括在 Project Manager项目管理器中。

还有更多的变化,即使其他部分相对重要,但妆点门面也是必须的。目前的应用程序,blend 文件和项目资源在新的浏览器选项标签中被打开,因此,让主选项标签与项目经理保持不变。

compile project编译项目 命令被重新命名为 build project建立项目,因它不仅仅是编写程序代码而已。

其他可能的操作列表。

这是一个繁琐的任务,但它必须被完成:SDK 中的许多资产文件移动到新的地方,所有的项目,从大型应用程序的小教程,按照统一的文件结构,由项目经理所提供。

同时 Project Creation Wizard项目创建向导 使用了更多功能和直观的使用。 Engine Binding Type引擎绑定类型 现在包括一个名为 None无 的新选项,即项目管理器在创建阶段不会更改您的专案。此外,Update更新 选项 已被删除,因为这种类型现在已由 Copy复制 选项 覆盖并部属在项目管理器中。

项目创建选项。

其他改进

在先前版本所介绍的切线着色功能,现在也可在几何体上藉由编辑法线使用。

Blender 世界里边现存的丰富混合形式纹理,现在 Blend4Web 都已支持。

Sphere球体选项 现在支持 Point点Spot聚光灯 去指定光降到零的距离强度。

新的 API 函式 get_fog_params()set_fog_params() 已添加到scenes module场景模块中。这些功能,根据我们的用户要求而来,允许控制场景中雾的参数,包括它的强度,深度和分布。

ULTRA quality mode超高质量模式 中采用了更为精确的伽马校正公式。简化函数不能产生足够精确的颜色,在黑暗地区的影响是很明显的。

为了您的方便,世界背景的可见性切换按钮,已被添加到 World世界 标签上(之前,只能使用 3D View window 的右侧面板完成)。在视图中使用这些按钮,来预览实际天空的颜色。

用这些按钮,您可打开和关闭,指定背景的能见度。

结语

从这个版本开始,我们还将提供所谓 "lite精简版" 的下载选项,这是由我们一些用户所要求,亦支持 PRO 和 CE SDK 版本。这些版本删除了所有的演示和教程,以及 Bullet physics engine子弹物理引擎 的源文件和相关文献。因此,Lite版本,比 SDK 版本更加轻巧,且同时完好保持大部分的功(除非使用 Bullet子弹 补丁或生成文档),因此,非常适合用来快速升级您的项目。

像往常一样,您可以在 SDK 的例子文件中找到相关文章。完整改变和修正的完整列表,请参阅发行说明

还有,那些将要参加阿姆斯特丹所举行 Blender Conference会议的朋友,我们也邀请您出席,由我们队友们于月二十九日,本星期六所主持的精彩报告游戏开发专题讨论会。期待在#bcon16见到您!

评论
注册登录 后发送信息。