Verge3D 2.10 for Blender 发布,WebGL 应用构建框架

Verge3D 2.10 Blender/3ds Max 发布

经过潜心月余持续对预发行版的改进,现在我们正式为大家发布Verge3D 2.10 for Blender/3ds Max!这个版本中,我们增加了许多新特性:试验性VR支持,自动更新应用程序,部署第一人称控制,增加动态加载拼图,截图,通过网络发送接收数据,增加对一些Max新贴图的支持,增加对Blender EEVEE节点的支持等等。

Virtual Reality - 虚拟现实

在最新版中我们引入了实验性VR支持,即开发中的浏览器技术WebXR(Web上的eXtended Reality),它允许创建增强现实(AR)和虚拟现实(VR)在线体验。

目前在WebXR堆栈中,虚拟现实特性较为稳定。鉴于此,我们在Verge3D中暂时只添加了VR拼图,待WebXR规范稳定后再推出AR拼图。

我们强大的工业机器人demo现已升级为VR演示器。通过使用注视点控制的方法,为无控制手柄的VR设备(例如Cardboard)执行对3D对象的交互。

截图自三星S6 Edge手机Cardboard演示,当前注视点正在触发按钮#1

对于有控制手柄的VR设备(例如HTC Vive, Oculus, Google Daydream等),交互控制则通过手柄来实施。

截图自三星S8手机Google Daydream演示,当前控制手柄的激光指针正在触发按钮#2

因此,您可以使用标准when hover(光标移入)when clicked(光标点击)拼图来处理用户事件。关于场景设置和使用VR功能的详细信息,请参阅用户手册。

应用管理器改进

新版应用程序创建对话框已进行重新组织设计,现有2个应用程序模板:基于拼图的标准应用模板,和为喜欢JavaScript编程的用户提供的基于代码的应用模板;另外还添加了启用Internet Explorer 11和旧版VR模块兼容的选项。

创建新应用面板

简化了应用程序更新过程。您现在不仅可以方便地更新引擎模块,还可以更新HTML / CSS / JavaScript模板。请务必在更新前备份项目,因为此功能会覆盖文件!

一键更新应用程序

为使用基于物理特性的工作流,Blender和Max的默认应用模板一并进行了升级。当前模板使用了中等多边形模型,删除了法线贴图,从而使默认项目更加简洁。

新版默认立方体

新模板中包含了HDR环境纹理,您可以在项目中重复使用(官网最新教程系列中有详细介绍)。

第一人称控制

现在可在Blender与3ds Max项目中开启第一人称控制功能。您可以为地板指定用于进行碰撞检测的材质 ,从而实现在场景中行走的功能。

3ds Max(左侧)和Blender(右侧)中的第一人称控制选项

Blender版本中的城市Demo已更新,现可允许进行第一人称控制。

启用了第一人称控件的城市Demo

动态加载

现在可以通过Puzzles或JavaScript支持在替换和追加模式下加载场景以及卸载场景。此功能是创建具有大量场景或高多边形模型的应用程序的关键,现在可以按需加载(定制器,游戏关卡等)。

加载新的gltf文件并将其附加到主场景

可以指定预加载器来显示加载进度。摄像机和灯的加载是可选的,默认情况下禁用,以防止浪费内存和处理能力。

通过JavaScript启用功能

感谢用户的贡献,我们实现了暂停和恢复渲染的可能性,以及通过JavaScript降低帧速率,如下所示:

app.disableRendering();
app.enableRendering();
app.setFrameRateDivider(2); // enables maximum 30 FPS instead of 60

具体使用方法,请参阅3ds Max和Blender版Verge3D中提供的名为“Load Unload”演示应用。

此外,实现了用于释放CPU和GPU资源的JavaScript方法dispose()。如果您的网站创建并动态删除了Verge3D应用程序实例,此方法非常有用。

例如,如果用户单击某个页面上的某个按钮或标签以导出3D应用时,而无需重新加载整个页面,只需呼出

app.dispose();

这样引擎不会将加载的场景保留在内存中,也不会在后台进行渲染。

更多拼图

除了上面提到的VR和场景谜题之外,还增加了一堆新的谜题,包括:

  • is visible – 用于检查对象是否可见或隐藏

  • get material – 用于检索对象的材质

  • screenshot – 用于捕捉品目截图并以data URI(统一资源标识符)格式返回

  • all variable names – 返回一个包含全部已使用的变量的名称列表

  • variable value by name– 作为标准变量值使用的拼图,但没有下拉列表

新的变量拼图

所有对象,材质和动画拼图现在都可以使用Text拼图指定名称。如果要按需加载场景,当对象选择器下拉列表中没有其他场景中的对象名称时,这将非常有用。

使用选择器或文本拼图指定对象。这两种形式都可以正常运行

另一项改进涉及tween camera(补间相机)拼图,适用于飞行摄像机类型。

Puzzles Editor(拼图编辑器)现在在所有活动选项卡及编辑器选项卡中的缩放比例、视图中心多会在保存时保留下来,以便再次开启式恢复上次编辑状态。你一定会喜欢这一项功能。

还有更多的拼图

添加了通过拼图保存和恢复应用程序状态的实验性支持。例如,此功能可用于实现自定义程序的“撤消”按钮。

Save state和undo state拼图

在执行您希望能够撤消的某个操作(例如隐藏对象)之前,使用save state拼图保存该对象的状态。之后,你可以使用undo state拼图撤销隐藏。这些拼图也适用于动作序列,因此您可以像在3D编辑器中一样撤消多个动作。

添加了Dictionary(词典)(又名map,地图)数据类型到拼图。它可用于方便地存储和检索基于键值的数据。

添加了以纯文本或JSON格式通过网络发送和接收数据的实验性支持。这对于以RESTful方式与网站后端进行交互非常有用。

上述特征可用于可视化从远程网站检索到的数据。例如,在访问网站http://ip.jsontest.com特定的词典时,可返回如下的IP地址:

{"ip": "77.91.80.242"}

因此,您可以通过检索“ip”键的值来检测3D应用程序中用户的IP地址。

使用拼图轮询远程服务器

图形性能改进
【仅3ds Max】因以下新特性的支持,材质预设现在可以更好地支持Verge3D了:位图贴图(Bitmap map)的输出贴图(Output map)和输出面板(Output panel),以及物理材质的粗糙度不可见开关(Roughness Invisible),(此开关使粗糙度表现为光泽度)。

位图贴图(Bitmap map)的输出贴图(Output map)和输出面板(Output panel)

物理材质的粗糙度不可见开关(Roughness Invisible)

【仅Blender】实现了对多个EEVEE / Cycles节点的支持,其中包括Refraction BSDF, Glass BSDF和Wave Texture。 此外也可使用Principled BSDFTransmission输入,及NoiseTextureDetail输入。

EEVEE的Wave Texture可以产生各种图案

新支持的EEVEE节点将用作即将推出的珠宝材质库的基础。

即将发布的珠宝材质库的一些宝石

其他特性

在教程系列中创建的名为“Simple Configurator”的完整应用已添加到包含入门文件的3ds Max和Blender版本中。

为学习目的而创建的简单配置器应用

Verge3D Network的缓存超时减少到15分钟(之前为1小时)。这可能有助于更新部署的应用程序。

现在安装后无需配置路径

【仅3ds Max】自动配置选项已添加到安装程序(默认启用)以自动设置Verge3D插件路径。

【仅3ds Max】现在可以为对象提供Rendering order(渲染顺序)frustum culling(视体体剔除)选项。

【仅Blender】现在可以使用对象选择器方便地设置摄像机目标,并且可以相应地更新视图方向。

现在更容易定义相机目标

WordPress插件

Verge3D的WordPress插件现在支持以JSON格式发送的订单,并且现在还支持自定义通知邮件(使用templates/order_email_body.php)和管理页面(templates/order_admin_form.php)。要在WordPress中启用这些模板,请将它们复制到WordPress主题的verge3d文件夹中。

Bug修复

  • 【仅Blender】修复了使用Child Of约束时Blender 2.8中的崩溃问题。还修复了由最近的Blender 2.8更新后由透明材质引起的崩溃。

  • 解决了启用透明背景时别名的问题。

  • 现在可以在Verge3D应用程序中加载由第三方导出器创建的gltf场景。

  • 修复了Firefox移动版上的黑屏渲染问题。

  • 修复了SSAO效果在启动时产生像素化效果的问题。

  • 修复了错误阻止克隆非轨道相机的问题。

  • 修复了点击拼图不能使用Flying相机类型的错误。

  • 修复了使用变换拼图缩放对象的错误。

  • 【仅Blender】隐藏了Blender UI中不相关的对象属性。

  • 【仅Blender】修复了在Blender 2.8中打开具有旧版GLSL材质的场景时导出崩溃的问题。

结语

这是一个大版本更新!非常感谢我们积极主动的社区用户,在过去几周内下载和测试我们发布的4个预发布版本,并提出宝贵的建议。一如往常,期待您留下评论或论坛中提供的反馈和建议!

Yuri Kovelenov撰写,FunJoy Tech中文化

猜你喜欢

转载自www.oschina.net/news/104557/verge3d-2-10-for-blender-released