来源:https://www.oschina.net/news/116926/verge3d-3-2-for-maya-released

Verge3D for Maya的最新版本已经发布。在3.2版中,我们实现了基于节点的材质!升级了实时阴影,添加并改进了一些拼图,例如视频静音/取消静音,选择活动摄影机;为性能工具增加了功能;在更新应用时启用了自动合并和备份HTML/CSS/JS文件;进一步扩展了用户手册,并做了许多其他功能和稳定性改进。您可以在以下阅读了解这此改进的全部内容。

节点材质

我们启动了节点材质的实现,这些材质可以与之前介绍过的符合glTF的着色器一起使用。目的是允许设计师创建任意复杂的自定义材质,类似于Blender和3ds Max版本那样。

mayapython代码生成(开源资讯Verge3D3.2)(1)

在此版本中,我们支持了近二十个节点,包括aiStandardSurface, StandardSurface, file, place2dTexture, shadingEngine, bump2d, aiFlat, Ramp, Sampler Info, Surface Shader, Lambert, aiMixShader, aiFacingRatio, aiNormalMap, Layered Texture, Blend Colors, Blinn, Phong, Phong E. 因此,现在Verge3D可以使用许多用在Maya示例中的技术了(例如下图所示)。

mayapython代码生成(开源资讯Verge3D3.2)(2)

利用上面所列出的节点,我们创建了一个新的演示案例——Swiss Army Knife(瑞士军刀),该应用包含在Verge3D发行版中。我们计划近期基于此应用创建一系列新的教程。

mayapython代码生成(开源资讯Verge3D3.2)(3)

其他Maya专属特性改进

Maya的材质相关有一些改进。特别是,法线贴图现在可以在gltf兼容材质中正常工作了。

以TGA, TIFF, EPS, PSD等格式提供的纹理,现在在导出时,将自动转换为对网络友好的PNG格式。这让您省去了手动转换的麻烦。

阴影升级

在Maya的Verge3D设置面板中,提供了各种类型的阴影。这些类型的阴影允许您在质量和性能之间进行权衡。

mayapython代码生成(开源资讯Verge3D3.2)(4)

全部共6个可用模式。一些之前已经部署,一些是新提供的:

PCF(Poisson Disk)和ESM技术可提供最佳质量,但以中等性能为代价。

mayapython代码生成(开源资讯Verge3D3.2)(5)

此外,通过更好的阴影体积计算,我们减少了伪影并提高了阴影质量。特别是,ESM模式下的大多数伪影都被移除了。

最终,显著扩展和更新了关于阴影的参考文档。这些章节现在包含了Troubleshooting(故障排除)信息,以帮助您摆脱阴影中的伪影(如下图所示)。详见此处。

mayapython代码生成(开源资讯Verge3D3.2)(6)

新的拼图

mute(静音)unmute(取消静音)拼图可用于声音和视频。 因此您可以使用这些拼图来自动播放视频,而无需用户直接操作(静音的视频可以自动播放)。

mayapython代码生成(开源资讯Verge3D3.2)(7)

现在number(数字)拼图使用0为默认值。

disable rendering(禁用渲染) / anti-alias(抗锯齿)拼图现在不再会导致注释的抖动,其运行速度也更快了,并且默认启用了抗锯齿复选框。

得益于引擎的大幅改进优化,when moved(当移动时)拼图现在更加灵敏。在此拼图中移除了period参数,delta参数替换为velocity(以每秒为计量单位)。

mayapython代码生成(开源资讯Verge3D3.2)(8)

新的active camera(活动相机)拼图对切换相机的情景很有帮助。

mayapython代码生成(开源资讯Verge3D3.2)(9)

性能分析工具

拼图performance profiling(性能分析)拼图现在可以显示更多信息。特别是关于纹理和渲染目标的尺寸将按顺序排列,以便于您识别最大的纹理并集中精力优化它们。同时,可以显示灯光、阴影信息和像素比信息,及场景中所有使用到的后期处理过程。

现在可以通过快速按需P键3次(即P P P)快速打印没有配置拼图的性能配置文件。

mayapython代码生成(开源资讯Verge3D3.2)(10)

FPS计数器可以用JavaScript API方法showFPS()来显示,用hideFPS()来隐藏了。FPS计数器也可以通过快速按下3次F键(即F F F)来显示。

安装程序

安装程序现在支持Unicode了,这允许您将Verge3D安装在以非拉丁字符命名的文件夹中。

安装文件夹的默认名称从verge3d更改为verge3d_maya。因此,在同一台计算机上安装不同版本时,您不再需要修改其为不同的名称。请确保为您的脚本等更新新路径。

升级与备份

若您的应用模板有任何修改,应用管理器现在将尝试自动合并您在HTML/CSS/JS所做的更改。这里使用了在git及其他版本控制系统中找到的算法。如果无法合并,算法将执行覆盖应用文件的操作。

mayapython代码生成(开源资讯Verge3D3.2)(11)

合并/覆盖机制已默认启用,但您可以在更新时取消勾选。所有在列的Verge3D官方示例应用都使用此功能进行更新。为防止在您更改了默认的HTML/CSS/JS文件后,自动合并失败所可能导致的数据丢失,现在更新应用时将备份文件到 your_app/v3d_app_data/update_backup 文件夹中。

同时,拼图编辑器的备份也移到了 your_app/v3d_app_data/puzzles_backup 文件夹。

警告:合并功能将在第二次更新应用时启用。首次更新时它将在覆盖模式下工作(仍将执行备份操作)。

其他功能

增强现实演示案例Augmented Reality工业机器人现在可以在iOS中的 Mozilla WebXR浏览器上运行。

mayapython代码生成(开源资讯Verge3D3.2)(12)

ECMAScript6版本的Verge3D运行时(v3d.module.js,仅供企业用户使用)现在可以在所有的Verge3D场景中正常工作了。

当关闭预览视窗时,注释不会再保留在界面中了。

着色器编辑回调现在可以添加到App.compileCallbacks数组中(类似于App.renderCallbacks)。建议在这些函数中启用后期处理或添加fog(每个加载的场景一个回调)。点击这里查看使用示例。

错误修复

修复了当拼图编辑器有多个标签页时,JavaScript生成顺序错误的bug。

修复了当变形目标与蒙皮结合在同一个对象中时导致的 “too many attributes” 崩溃。

修复了与从引擎导出glTF兼容材质相关的问题 (使用 JavaScript类 GLTFExporter 的方法)。

,