内容简介:发布时间:2020年7月27日 下载地址:https://verge3d.funjoy.tech/get-verge3d 作为面向艺术家与设计师的WebGL开发套件,Verge3D一直在可用性和易用性角度做出改进与升级。 Verge3D 3.3 版显著加快了应用的加载速...
发布时间:2020年7月27日
下载地址:https://verge3d.funjoy.tech/get-verge3d
作为面向艺术家与设计师的WebGL开发套件,Verge3D一直在可用性和易用性角度做出改进与升级。
Verge3D 3.3 版显著加快了应用的加载速度及整体性能,引入了用拼图将Verge3D场景导出为glTF格式的方式,并实现了动态画布纹理。此版本还增加了一些新的拼图,改进了导出器插件的一致性,支持了Woocommerce的全局产品属性。请从下文中了解更多新增特性与性能改进。
加载速度
基于用户的关注,此版本我们将优化的重心放在优化加载效率方向。着色器编译通常是加载过程中的瓶颈,经过新版本对此执行的一系列优化,场景的加载速度有了显著地提升(部分场景可达3倍)。
这些优化措施包括:
- 引入了并行着色器编译,(在着色器逐个编译之前)若存在KHR_parallel_shader_compile WebGL扩展,编译将更高效;
- 优化了代表环境光的着色器;
- 优化了与实时阴影有关的着色器;
- 优化了材质着色器;
- 重组了加载流程,整个加载过程更为平滑和快速;
其中一些优化嗨提高了Verge3D的渲染性能,尤其是在低端硬件或移动设备上。
glTF导出
现在可以以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;
Blender集成
为更新相关文档,我们审查了所有的Eevee节点,并修复了其中发现的一些问题:
- 修复了Glass BSDF(玻璃BSDF)节点阴影的一些小问题。
- Hue/Saturation(色相/饱和度)节点现在可以在设置 >1 或 <0 时正常工作。
- Mapping(映射)节点现在支持非均匀比例。
- 当Clamp(节点)在Min(最小值)超过Max(最大值)时也可以正常运行。
当缺少世界材质时,保持灯光与场景中的设置一致。
在Point(点光)和Spot(聚光)灯光中支持了Custom Distance(自定义距离) 参数。
修复了曲线对象缺少材质时导致的导出器崩溃问题。
为以下节点优化了着色器代码:Diffuse BSDF, Glossy BSDF, Glass BSDF, Translucent BSDF, 和Refraction BSDF. 这样有助于提升整体性能并加快加载速度(见上文描述)。
拼图
将拼图库中的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(创建环境)拼图出现的翻转问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++数据结构与程序设计
克鲁斯 / 钱丽萍 / 清华大学出版社 / 2004-1 / 59.00元
《C++数据结构与程序设计》这本精心制作的课本结合面向对象程序设计和C++强有力的特性,构建数据结构的基本思想,设计了程序和有趣的应用。在此过程中,《C++数据结构与程序设计》探讨了作为软件设计基本工具的问题求解和设计原理、数据抽象、递归和算法的比较分析。《C++数据结构与程序设计》使用真实的案例研究、可重用的软件开发和程序设计项目来增强理解。一起来看看 《C++数据结构与程序设计》 这本书的介绍吧!