内容简介:作为面向艺术家与设计师的WebGL开发套件,Verge3D一直在可用性和易用性角度做出改进与升级。 Verge3D 3.3版显著加快了应用的加载速度及整体性能,另外为Max版本引入OSL着色器、噪波贴图和无光/投影材质,以及使用...
作为面向艺术家与设计师的WebGL开发套件,Verge3D一直在可用性和易用性角度做出改进与升级。
Verge3D 3.3版显著加快了应用的加载速度及整体性能,另外为Max版本引入OSL着色器、噪波贴图和无光/投影材质,以及使用拼图将Verge3D场景导出为glTF格式的方式,并实现了动态画布纹理。此版本还增加了一些新的拼图,支持了Woocommerce的全局产品属性。阅读下文,了解更多新增特性与性能改进。
OSL 着色器
从本版本开始,Verge3D支持开放式着色语言(OSL)贴图。这些OSL着色器在3ds Max从2019版开始得到支持,并可实时在视口中准确显示,目前支持以下贴图:大多数的Math Color、Math Float和Math Vector贴图,纹理和UV查找功能(例如Bitmap Lookup,UVW Channel,UVW Transform和UVW Matcap),以及多个过程和颜色校正贴图(例如Checker, 4-point Gradient, Simple Gradient,Noise, Normal等)。
上图渲染是使用了Simple Tiles贴图的效果。
噪波贴图和无光/投影材质
Verge3D现在支持Noise(噪波)贴图。
Matte/Shadow(无光/投影)材质在Verge3D中已实现。
加载速度
基于用户的关注,此版本我们将优化的重心放在优化加载效率方向。着色器编译通常是加载过程中的瓶颈,经过新版本对此执行的一系列优化,场景的加载速度有了显著地提升(部分场景达可3倍)。
这些优化措施包括:
- 引入了并行着色器编译,(在着色器逐个编译之前)若存在KHR_parallel_shader_compile WebGL扩展,编译将更高效;
- 优化了代表环境光的着色器;
- 优化了与实时阴影有关的着色器;
- 优化了材质着色器;
- 重组了加载流程,整个加载过程更为平滑和快速;
其中一些优化嗨提高了Verge3D的渲染性能,尤其是在低端硬件或移动设备上。
从应用中导出
现在可以以glTF格式导出对象、对象组或整个场景到.gltf或.glb(二进制)两种格式。
此拼图可用于保存应用中的配置好的物体。
为了获得最佳效果,以及创建可由第三方glTF查看器(如Microsoft Windows 10的默认glTF查看器)打开的标准glTF文件(不带Soft8Soft/Verge3D扩展名),我们建议您使用与glTF兼容的材质。
摄影机补间轨迹
您现在可以在tween camera(摄影机补间)拼图中选择球形轨迹了。球形轨迹意味着摄影机将围绕中心轴,以插值距离作为半径,旋转到新位置。
当新的视点位于模型后面时,此功能尤其有用。对于轨道摄影机,球面轨迹更为自然,可以防止摄影机在移动途中与模型发生交叉现象。
另外,tween camera(摄影机补间)拼图现在可以使用附近物体的坐标,坐标可以用列表或向量方式提供给拼图。
动态画布纹理
HTML画布现在可以作为材质纹理使用了。可以使用新引入的HTML拼图create canvas elem来创建<canvas>
元素,并如之前一样为材质指定纹理,即使用replace texture(替换纹理)拼图。
一旦创建好,画布即可通过JavaScript进行绘制。您可以在以应用名开头的js文件(your_app_name.js)的runCode()
功能更新画布。为此,请在此处使用拼图中指定的ID来检索画布纹理:
var canvasTex = v3d.puzzles.canvasTextures['my_canvas'];
之后,您可以按如下方式访问HTML画布元素:
var canvas = canvasTex.image;
您可以使用可用于在HTML画布上绘制的标准方法。例如,如下代码即在白色背景上画了一个蓝色的笑脸:
var ctx = canvas.getContext("2d"); ctx.fillStyle = 'white'; ctx.strokeStyle = 'blue'; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.beginPath(); ctx.arc(75, 75, 50, 0, Math.PI * 2, true); // Outer circle ctx.moveTo(110, 75); ctx.arc(75, 75, 35, 0, Math.PI, false); // Mouth (clockwise) ctx.moveTo(65, 65); ctx.arc(60, 65, 5, 0, Math.PI * 2, true); // Left eye ctx.moveTo(95, 65); ctx.arc(90, 65, 5, 0, Math.PI * 2, true); // Right eye ctx.stroke();
最后,如果您希望更新在3D渲染中立即可见,则应该将画布纹理标记为动态:
canvasTex.needsUpdate = true;
新拼图
将拼图库中的Misc(杂项)类重命名为了Advanced(高级),并在此类中新增wait promise和promise value拼图。
可以使用这些拼图取回来自JavaScript promises 中检索的数据,这些数据由generate normal map(生成法线贴图)和export glTF(导出glTF)拼图返回。
部署了新的Material(材质)拼图:get color(获取颜色)和get value(获取值)先前可用的set color(设置颜色)和set value(设置值)拼图在一起。
拼图get object transform(获取对象位移)现在可以使用列表同时检索三个坐标系信息。
这个选项可以用于直接为矢量拼图提供输出。
JavaScript 应用程序接口
现在在JavaScript方法 Geometry.fromBufferGeometry()
中可以正常使用顶点色了。
新版提供了之前仅在企业版中提供的Verge3D运行时(run-time)变体v3d.module.js。这一方式修复了运行示例代码时遇到的大部分问题。
如果需要在JavaScript代码中导入声明,,可以使用此运行时。这个模块也简化了您在自己的编程项目中嵌入Verge3D代码的过程。
更多特性
在Verge3D WordPress插件中支持了WooCommerce的全局产品属性。
为3.2版本中引入的高级代码合并功能做了进一步的改进、加速和稳定性优化。
为引擎着色器代码做了一些代码清理和重构。
在稳定中做了各种小的改进,包括修复失效链接、缺失的媒体文件等。
故障修复
修复了应用管理器中与应用更新功能相关的一些错误,同时提高了更新的稳定性。
修复了退出应用时的内存泄漏的问题。
修复了论坛中上报使用JavaScript为对象指定自定义材质时的崩溃问题。
修复了论坛中上报的create environment(创建环境)拼图出现的翻转问题。
立即升级
一如既往,在Verge3D最新发行版下载一文中获取最新预览版的百度盘分享链接吧!欢迎通过论坛、微信公众号、QQ群、电子邮件提出建议与意见!
发布时间:2020年7月28日
下载地址:https://verge3d.funjoy.tech/get-verge3d
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 原 荐 JavaFX 11发行说明
- Verge3D 3.3.1 发行说明
- 图数据库 Nebula Graph RC1 发行说明
- Verge3D 3.3 for Maya 发行说明
- Verge3D 3.4 for Blender 发行说明
- SDWebImage中文说明
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。