Verge3D 4.0 for 3ds Max发行日志
15 六月, 2022 作者
Verge3D 4.0 for 3ds Max发行日志
Verge3D中国

Verge3D 4.0 for 3ds Max发行日志

经过6个月的磨砺,Verge3D 4.0版本终于发布了。这是一次重大的更新,在此版本中新增了大量的功能,对引擎核心、文件格式都做了彻底的更改。这次更新使得Verge3D成为更加专业、便捷、健壮的WebGL框架,提供了友好易用的用户体验,助力艺术家与设计师创作3D网页交互体验。

安装方式、应用目录与演示案例的改变

Verge3D 4.0中最大的变化是将用户自有应用目录、用户设置与安装目录分离开来。安装后首次启用应用管理器时会弹出初始设定窗口,包含了工作目录与系统主题选项。在Windows中工作目录的默认位置通常位于 文档 目录中,您可以将其修改为任意路径,该目录将存放您的自有应用及拼图收藏。主题风格可设置为“Light(浅色)”或“Dark(深色)”。两个选项都可以在App Manager设置中再次更改。

Verge3D - 初始设置 - 用户工作目录

为自有应用单独指定工作目录,使更新Verge3D引擎的操作更加简单,这样您也可以把不同DCC版本(Blender、Maya、3ds Max)的Verge3D应用放在同一个文件夹下了。

另外,安装好的Verge3D 4.0应用管理器中将不再默认包含任何官方案例(安装包也因此减小到100Mb左右)。取而代之,您可在应用管理器的资源库页面根据需求下载所需要的案例源文件。

Verge3D资源库

点击右侧按钮,可按官方演示案例、官方教程及材质库分类显示内容。我们计划在此资源库中添加更多简单的示例程序,以便您了解各种功能的实现方法。

最后,Verge3D软件本身是安装在系统目录中的(Windows系统默认在Program Files路径下),安装过程中需要管理员权限。如果您的Windows用户不是管理员账号,请将其安装到有写入权限的目录下,所有第三方Verge3D插件也需要复制到该目录中。

应用管理器的个人设置保存在另一个系统目录中(Windows系统默认为 AppData/Roaming/Soft8Soft ),可为Windows系统中的多用户提供不同的设置。

纹理压缩

以下是本次更新最重要的功能之一。纹理压缩技术可有效减少显存的使用(4~6倍),并通过更高效的内存访问方式加快了实时渲染速度。对于硬件性能受限的Apple设备,这一功能尤为重要,因为内存不足是导致iOS中大场景崩溃的主要原因。

如果启用相应选项,则在导出场景时会自动执行纹理压缩。

Verge3D for 3ds Max - 启用纹理压缩

在您通过Verge3D 4.0新建应用时,应选中 Texture Decompressor(纹理解压缩器) 选项。

Verge3D应用管理器 - 创建新应用时启用纹理压缩

Verge3D部署了两种压缩算法,您可以手动切换:

🔷 UASTC 是一种提供最佳效果的现代化方法,适用于法线贴图、ORM纹理等;

🔷 ETC1S 提供了最佳压缩比,生成文件体积最小。但这种方式可能会破坏纹理,因此仅可用于非对比度图像(例如草、木、砖等)。

每个纹理都可以单独设置压缩算法,以便于在质量和效率之中做调整。

Verge3D for 3ds Max - 为单独图片启用纹理压缩

但通常情况下您无需手动选择算法,当前默认的选项 Auto 将使用UASTC算法(未来可能会调整)。

除了纯粹的纹理压缩外,所有的HDR图像都可启用LZMA压缩(与对GLTF文件的压缩方式一致)。这可将HDR文件缩小4~6倍,注意这仅针对文件体积,并不会减少其所占用的显存。此功能可在“texture compression”选项设置为“Disable(禁用)”。

拼图 replace texture(替换纹理) 中已实现了纹理压缩功能可用。此外, print performance info(打印性能信息) 拼图(以及通过P-P-P快捷键)输出的信息中,包含了有关纹理压缩的信息。即,Verge3D在目标硬件内部中所使用的压缩格式(面向高阶用户)。

Verge3D - 打印性能信息 - 纹理压缩

对于官方案例,我们为资源库中的所有演示应用都启用了纹理压缩设置。我们还通过从图形中删除 ICC profiles 方式优化了PNG纹理。这一点非常重要,因为ICC设置会增大文件体积,并组织使用纹理压缩。当您从Photoshop等软件输出图像时,请勿勾选“嵌入颜色配置文件”选项。

Verge3D for Max演示案例

新增演示案例 Light Probe ,并附带同名教程,演示了如何使用反射平面与立方盒反射灯光探头。

新增 🐇 Transparency 案例,以演示引擎支持的所有类型的透明度。

Verge3D演示案例 - Transparency - 透明度

新增 🫖 Gltf Compat 案例,演示了采用glTF 2.0标准的高级GLTF兼容性PBR材质。

Verge3D演示案例 - Gltf兼容性PBR

我们还添加了一个名为🫖 Gltf Compat采用与Gltf 2.0标准兼容的先进PBR材料。

演示案例 Industrial Robot 案例添加了动画时间线。

新增了 🖼️ Canvas Texture 案例,演示了使用HTML Canvas API实时创建图像的而功能。

Verge3D演示案例 - Canvas Texture - Canvas纹理

应用升级与设置

为简化从旧版Verge3D应用升级到新版的流程,默认情况下,所有可用的JavaScript模块都将复制到应用目录中。尤其是如果启用了4.0版的纹理压缩功能,即使应用最初是使用老版本Verge3D创建的,现在也一样可以运行。如果不需要这些模块,可以在更新对话窗口中取消勾选。

Verge3D应用管理器 - 升级应用

使用标签样式重新设计了应用管理器 ⚙️ 设置界面。

Verge3D应用管理器 - 设置UI

同步Three.js库

Verge3D的底层WebGL依赖Three.js库已同步至r137版,对于Verge3D用户来说,重点功能包括:

  • 无限变形目标(适用于支持WebGL 2.0的浏览器)。在此版本之前,Verge3D中最多只可用6个变形目标。
  • 有赖于基于硬件加速的sRGB纹理(属于WebGL 2.0规范的一部分)提供的高级纹理过滤,渲染质量进一步提升。
  • 升级了glTF加载器,支持了更多扩展。如果您使用第三方glTF导出器(非Verge3D导出器)提供的文件,这将会非常有帮助。支持的完整扩展列表包括: KHR_draco_mesh_compression, KHR_lights_punctual, KHR_materials_clearcoat, KHR_materials_ior, KHR_materials_pbrSpecularGlossiness, KHR_materials_sheen, KHR_materials_specular, KHR_materials_transmission, KHR_materials_unlit, KHR_materials_volume, KHR_texture_basisu, KHR_texture_transform, KHR_mesh_quantization, EXT_texture_webp, EXT_meshopt_compression 。

此外,导出到usdz拼图现在使用最新的Three.js库中提供的USDZExporter类,为透明材质等特性提供了更好的支持。

同步Google Blockly

与最新版的Google Blockly框架同步,升级了 🧩 拼图编辑器,提高了在大场景中工作的效率和稳定性。

此外,现在场景中所有过时的拼图现在都将使用 🟥 红色突出显示。

Verge3D拼图 - 过时拼图突出标记

旧版的过时拼图,如 play animation(播放动画)replace scene(替换场景)texture from text(从文本创建纹理)external call(调用外部函数)load sound(加载声音)physics body params(物理实体参数)physics apply vector(应用矢量), 和 ssao(屏幕空间环境遮蔽) ,都将突出标记出来。在Verge3D 4.0版本之前,这些拼图都带有 ⚠️ 警告标志,请确保在升级您自己创建的应用中弃用这些过时拼图,或替换为新的可用版本。

Verge3D拼图 - 过时拼图警告信息

同步 Electron.js

更新同步 Electron.js 至19.0.4版,为其转制的桌面版独立应用程序提高了稳定性,并添加了一些新特性。

glTF格式

重构了Verge3D的glTF文件格式,使其更符合glTF规范,对S8S扩展大幅修整。此外,glTF兼容材质将不再包含S8S扩展。我们建议您在场景更新至Verge3D 4.0版本后重新导出所有场景。

浏览器兼容性

我们从引擎中移除了所有历史遗留兼容模块,即IE浏览器兼容与Legacy VR兼容。此外,浏览器必须支持 WebAssembly ,因为它是物理模块及其他一些功能的必备基础。这一变化只会影响极少数仍然在使用IE11浏览器或者在iOS 11(发布于2017年)中使用Safari浏览器的用户。如果您的用户仍然坚持使用这两个浏览器,您可以继续使用Verge3D 3.9.1版本创作对应的应用。

🧩 拼图

新增 get procedure(获取函数) 和 call procedure(调用函数) 拼图,可用于将函数保存到变量中并在其他位置调用。这可以用于实现回调函数以更好构建拼图。

Verge3D拼图 - 获取函数与调用函数

默认情况下,摄影机在垂直方向的旋转是受限的,现在可以在全360°模式下旋转了。请在 set camera param 拼图中选中 orbit allow turnover 选项以启用此特性。感谢 用户建议 。

Verge3D拼图 - 为摄影机开启全360°旋转

在 create object(创建对象) 拼图中新增了预设对象 plane with texture(纹理平面) 。

Verge3D拼图 - 创建对象拼图的预设选项:纹理平面

为拼图 check performance(检查性能) 中的信息同步了上游硬件数据库。

为拼图 play animation(播放动画) 的高级选项 from , to 和 speed 添加了默认的占位符。这样在需要播放动画片段时,您不用每次都去手动添加 Number(数字) 拼图了。

Verge3D拼图 - 播放动画

拼图 check AR mode(检查AR模式) 现在有了3个插槽,以便于直接使用Apple的USDZ查看器(无需额外添加拼图逻辑)。关于该拼图的使用方法,请查看资源库中的演示。

Verge3D拼图 - 检查AR模式

拼图 create CSS rule 中新增 @media 选项,以匹配 set style for CSS rule(创建CSS规则) 拼图中存在的此类选项。

Verge3D拼图 - 创建CSS规则

拼图 get event property(获取事件属性) 添加了 targetTouches 事件。其中, touches 表示触摸屏幕的每个手指的信息列表;与之相对, targetTouches 只过滤那些在同一HTML元素中开始触摸的事件。此功能在 Snowballs VR 案例中用于实现移动端的多点触控事件,以便于在拼图中用于区分左手和右手。

Verge3D拼图 - 获取事件属性

新增拼图 set animation speed(设置动画速度) ,可用于调整动画速度或反转播放动画,甚至可在播放过程中实时调整。感谢 用户建议 。

Verge3D拼图 - 设置动画

拼图 show(显示) 现在也可用于预先隐藏的多材质对象了。

3ds Max专属特性

Verge3D现已支持3ds Max 2023版,不再支持2019版且不推荐使用。

支持新出现在3ds Max 2023版中 glTF Material 材质,包括其所有设置。

3ds Max - glTF material

支持对样条曲线的线框渲染,可用于实现诸如线框、物理绳索等图形效果,并可在设置中为线条调整颜色和宽度。

Line render in 3ds Max

当3ds Max语言为中文版、德语版等时, 控制器节点 也可以在Verge3D中正常运行了。

支持 物理材质 的 裁切(不透明度)贴图 参数。

3ds Max - Cutout (Opacity) input of Physical Material

支持变形目标动画。

支持为摄影机启用 Viewport Fit 选项(Vertical 与 _Horizontal_),可用于基于用户屏幕分辨率自动调整3D UI元素的位置。感谢 用户建议 。

为方便用户查找和使用,默认情况下3ds Max中的所有Verge3D选项都处在卷起状态。感谢Autodesk开发人员就如何正确实现这一计划已久的功能向我们提供的建议。

3ds Max - Verge3D options rolled up

修复了默认光源强度的bug。

修复了纹理中的各向异性不可用的问题。感谢用户们在论坛上的反馈。

可以为用于gltf兼容性材质的ORM生成纹理指定正确的色彩空间了,因此此类模型的照明不再受到影响了。

修复了由骨骼系统导致的导出崩溃问题。

其他改进

通过将图像异步分配给纹理的方式,优化了图像加载。

通过使用WebAssembly加快了LZMA解压器的速度,占用内存更小。

Verge3D网络的目录结构已简化,路径中不再包含"application"目录。

Verge3D应用管理器 - Network directory

所有基于场景播放器(player-based)的案例都强制添加了一个 .html 文件,使其与常规应用相似,以避免引起用户混淆。

剪切平面工具现在可以正确剪切包含骨骼动画的对象了。该建议通过企业技术支持渠道提出。

企业版及旗舰版用户的Verge3D DevKit开发者工具包现在可以通过运行Python脚本 utils/keymanager.py 来自动更新引擎和应用了。

如果本地服务器关闭无法访问,应用管理器中将显示一条描述性提示,而非由浏览器默认提供的“无法访问此站点/本地主机拒绝连接”提示页面了。

Verge3D应用管理器 - connection error

资源库中的条目实现了渐进式加载,这在网络速度较慢时非常有帮助。我们还为演示案例提供了更为详细的标题与描述信息。

现在,您可以通过在浏览器中访问 localhost:8668/reset 来清除用户设定了,这可用于重置应用管理器的设置(包括:工作目录设置、拼图收藏夹和已验证的授权信息等)。

故障修复

🐞 修复了不能组合 not 和 in list check occurrence 拼图的问题。

Verge3D拼图 - not and find in list

🐞 修复了由动态环境光遮蔽引起的带状渲染伪影的问题。

🐞 修复了拼图编辑器中无法在新选项卡中使用场景中所创建的函数的问题,同时修复了删除选项卡导致的一些错误,提升了创建选项卡的速度。

🐞 修复了拼图编辑器的上下文菜单选项“Jump to Procedure Puzzle(跳转到函数拼图)”不起作用的问题。

Verge3D拼图 - 跳转到函数拼图

🐞 修复了在拖动一组拼图(例如从收藏中拖出)时出现的拼图自动分解的问题。

🐞 修复了退出AR会话时导致的崩溃问题。

🐞 修复了拼图 remove physics body 拼图不能正确清理物理数据的问题。

🐞 修复了当动态环境光遮蔽(GTAO)与反射一起使用时的错误,感谢 用户反馈 。

🐞 应用管理器现在可以在没有互联网连接的情况下正常运行,但未联网时将无法使用资源库(Asset Store)和云存储(Verge3D Network)。

🐞 修复了环境光遮蔽在AR/VR模式下不工作的问题,感谢 用户反馈. 。

🐞 修复了因iOS 15.4中的bug导致的WebGL故障,感谢 用户反馈 。

🐞 修复了少数情况下, Verge3D应用无法在微信内置浏览器正常运行的故障。此问题通过企业技术支持渠道反馈。

🐞 修复了拼图编辑器偶尔在删除拼图时报错的问题,感谢 用户反馈 。

🐞 修复了因文件名大小写问题导致的极少数崩溃问题(仅在Windows系统中)。

🐞 修复了反射平面类型光照探头的法线映射问题,该问题因光照探头缩放比改变导致。

🐞 有赖于WebGL 2.0的24位深度缓冲区,修复了在部分非Windows系统中出现的 z-fighting(z缓冲冲突) 问题。

🐞 修复了Windows系统特定的多行文本行尾自动添加换行的问题。

🐞 修复了一类特殊场景导致的拼图错误,情境某对象同时包括以下属性:A)变形;B)剪切平面;C)多重材质。此问题通过企业技术支持渠道反馈。

🐞 修复了初始化空场景中,在运行时中添加模型后,照明不正确的问题。

🐞 修复了Verge3D WordPress插件中指定产品ID错误的问题。

文档更新(中文文档修订中)

📝 制作了链接到Verge3D资源库的演示,调整了文档样式,提高了手册整体可读性。

📝 新建或重大修改了以下文档章节: 纹理压缩 , AR/VR开发 , 开发者工具包 和 个性化Verge3D应用 。

📝 基于 Three.js 最新文档同步了 开发者参考 。

立即升级!

请阅读 Verge3D 4.0 迁移指南 了解如何正确升级应用。欢迎您在论坛!中告诉我们您对此版本的想法、建议和意见!

Verge3D 4.0 for 3ds Max发行日志
Verge3D中国
15 六月, 2022
存档