Notifications
Article
2019.3版中的Visual Effect Graph现已通过验证
Updated 10 months ago
1.5 K
1
根据大家的反馈,我们对Visual Effect Graph(VFX Graph)特效视图编辑器进行了优化,并添加了许多新的功能。
作者:Thomas ICHÉ,2020年2月21日
原文链接:https://blogs.unity3d.com/2020/02/21/create-beautiful-and-complex-effects-with-the-visual-effect-graph-verified-in-2019-3/
VFX Graph现已正式用于高清渲染管线(HDRP)的视效制作,借助这个节点式编辑器可创作漂亮又复杂的视觉特效。
Visual Effect Graph是Unity的次世代视觉特效方案,兼容于Unity的可编程渲染管线。其的目标平台是高端设备(比如PC,PlayStation 4和Xbox One),但也能运行在大部分具备计算能力的设备上;它能高效地在高清渲染管线上渲染图像,也支持通用渲染管线。通用渲染管线上的功能目前尚待完善,我们将在未来发布经验证的支持版本。VFX Graph的渲染模拟主要运行在GPU上,因此能渲染小到几十个、大到上百万个元素,表现出扎实的实时性能。

“经验证”是什么意思?

Visual Effect Graph预览包发布已有一年。在这段时间中,我们根据大家的反馈改善了它的功能,代码也日臻成熟。随后我们制作出了小规模的实时作品,来展示Visual Effect Graph的使用效果。
在《异教徒(The Heretic)》、《Spaceship Demo》、《FPS Sample》以及其他一系列案例中,都有VFX Graph的身影。每个项目都展示了不同的实际用法,供大家参考。
Visual Effect Graph包的7.2.0版已不再是预览包,而是可用于实际创作的经验证功能包。VFX Graph现已有稳定的功能和平台支持,顺畅的升级。在未来,我们将继续开发、拓展它的功能,而用户能安全地将项目数据和代码移植到更新版本的VFX Graph编辑器中。
因此,“经验证”还意味着Visual Effect Graph已带有可拓展性和各类优化选项,内含各式艺术创作工具,及大量使用策略。请继续阅读,了解更多“经验证”的优点。

制作流程

技术美术和VFX美术可以使用VFX Graph编辑器中的节点来设计特效,包括常见的简单粒子动效,和复杂的效果,如粒子群、线条、彩带、拖尾和网格特效。同时,系统和模拟大部分的内部机制是可以自定义的,艺术家们可以用自定义属性和事件来制作复杂的视图。VFX Graph底层的机制既能实现复杂效果,也能用于简单的创作,VFX艺术家们可以轻易为关卡设计师和游戏编程制作特效,或者为其他视觉效果艺术家制作素材。
Visual Effect Graph以资源(Assets)的形式储存在项目中,可以在场景中重复使用。用户可以覆写、自定义属性界面,也可以将设置好的视觉效果存为预制件(Prefabs),制作出各种效果库,随后还能编辑底层视图,优化性能。
VFX Graph编辑器自带一个内容库,库的内容将在未来Unity版本更新时扩张。其中的内容覆盖了大部分使用情景,你也可以制作自己的视图(Graph),将其保存为子视图(Subgraph);此外,还能将重复出现的操作节点树打包成一个泛用操作节点视图图表(Operator Subgraph),或者将一整套的属性块和操作节点捆绑成一个属性块图表(Block Subgraph);也能把简单的视图嵌入主视图(Master Graph)下成为一个整体,基于它们发展出完整的特效。
你可以使用时间轴(Timeline)来编排视觉特效事件,使用动画(Animation)为其添加动画。未来VFX Graph编辑器还将支持动画轨道(Animation Track),届时我们就能加入视觉特效激活轨道(Visual Effect Activation Track),在专门的片段上为场景中的特效实例加上自定义事件。
属性绑定(PropertyBinders)可以同步各场景元素暴露出的属性,将暴露出的属性(比如一个球体属性)与场景中的元素(比如球碰撞体)绑在一起。在正确绑定后,属性会根据元素的数值自动生成动画。目前属性绑定脚本的种类多样,可以连接起场景对象、碰撞体、物理射线、UI和音效等元素。
虽然在静态几何形上应用细节层级(Level of Detail)比较直接,但视觉效果中的细节层级需要更加灵活一些。用户可以访问渲染摄像机的属性,使用特定表达式来定义特定行为,控制特效的速率、大小和性能耗费。
不仅如此,在HDRP中,Visual Effect Graph可以简化传统光照模型中的粒子光效(Particle Lighting)。用户可以选择在低分辨率下渲染高质量的特效,在尽量保证质量的前提下最大化渲染效率。

2019.3中的新功能

VFX Shader Graphs(预览版)

我们的目光并不止于标准的粒子渲染。新的VFX Shader Graph是一种特殊的主节点,可以用于编写专门的片元着色器,组合成特定的视觉效果。系统默认将VFX Shader Graph视作粒子效果,来替换内置渲染,让艺术家们有更多的创作自主权。暴露出的着色器属性也变成可用于输出成果的新端口,可以接收粒子属性。
VFX Shader Graphs目前处于预览阶段,将在未来不断完善。

Particle Strips(预览版)

我们还加进了一种新的模拟:Particle Strips(粒子线条)。此类模拟由相互连接的粒子链组成,可以作为线条来渲染。用户可使用该功能和GPU事件,制作出由粒子引导的轨迹动画。
粒子线条可以与VFX Shader Graphs组合使用。

内部排序:循环与延迟

我们现在可以循环、延迟Context(粒子的操作顺序)的生成,来改善内部排序。这些功能属于基本的排序功能,可以设定生成Context的时间、延迟间隔,在一定时间后是停止生成还是继续循环。任何新建的粒子都可以使用这个Context生成的时间属性。

Visual Effect Graph附加资源

在安装Visual Effect Graph时,你可以点击Import into Project(导入到项目)来下载额外的资源。该资源包内有一套Flipbook纹理、示例图表、着色器和子视图,可直接用于项目制作。你也能借鉴一下,构建自己的节点和属性块库。
为了推动VFX Shader Graph的应用,我们用Shader Graph子视图复现了许多内置渲染行为,让你可以线性地将图像序列(Flipbook)采样为一个个镜头,或者用运动矢量(Motion Vector)采样。此外,还加入了软粒子辅助图表(Soft Particle Helper Subgraph)。
该包还包含了25种纹理(许可属于CC0),你可以在自己的效果和Shader Graph中自由组合使用。

实例学习

我们在GitHub上的Visual Effect Graph示例代码库包含了十几种不同的使用案例,在简单又美观的场景中展示了几种不同的功能。
Visual Effect Graph示例代码库:
https://github.com/Unity-Technologies/VisualEffectGraph-Samples
如果你想进一步挖掘Visual Effect Graph的实际制作案例,可以看看Spaceship Demo(太空船演示项目)。
我们最近更新了Spaceship项目的代码库,添加了对Unity 2019.3的支持。项目使用了游戏制作中经常用到的视觉特效,用高质量的图形展示了如何构建一个连贯、表现力强的场景。演示项目的目标帧率在PS4上为30fps,在游戏电脑上为60+fps,整个制作流程与实际游戏制作别无二致。

试用

Visual Effect Graph目前可以运用在所有高清渲染管线项目中,也可以额外安装在通用渲染管线项目中(目标平台需具备图形运算能力)。
感兴趣的开发者快去使用吧。
开发过程中遇到问题?打开Unity Connect App或者Unity编辑器内置群聊工具,在“技术交流”群聊组中提问。
Tags:
Unity China
781
Comments
Colin Gao
10 months ago
好东东,个人感觉最炫酷的子系统了。
2