使用 Visual Effect 图形艺术家,可以使用基于节点的视觉逻辑创建视觉效果。
Unity 中的视觉效果图是什么?
它可以用于简单的效果和非常复杂的模拟。 Unity 将视觉效果图存储在您可以使用视觉效果组件的视觉效果资产中。 这允许在场景中多次使用视觉效果资产。
使用视觉效果图:
- 创建一个或多个粒子系统
- 添加静态网格物体并控制着色器属性
- 创建属性以自定义场景中使用的实例
- 创建事件以打开和关闭部分效果
- 然后可以通过 C# 或时间线从场景中发送这些事件
- 通过创建常用节点的子图来扩展特征库
- 在另一个视觉效果图中使用一个视觉效果图
- 例如,简单但可配置的爆炸可以在更复杂的图表中重复使用和定制
- 可以预览更改以模拟不同速率的效果并逐步模拟它们
视觉效果图需要什么?
对于您需要的视觉效果图:
- Unity 2018.3 或更新版本,以及在 Unity 2019.3 中启动的经过验证的公园
- 可编写脚本的渲染管线包:
- 最重要的组件是通用渲染管线和
- 高清渲染管线系统
安装视觉效果图
- 当您安装 Hight Definition Render Pipeline 系统时,Visual Effect Graph 包会自动与其一起安装
- 要单独安装它,请转到窗口-> 包管理器并激活高级选项,以便显示预览包。
- 选择视觉效果图
- 然后点击安装
每个版本的 Visual Effect Graph 都使用相同版本的 Scriptable Render Pipeline 系统。 升级视觉效果图时,渲染管线包也必须升级。
创建视觉效果图资产
要使用视觉效果图,您必须首先创建视觉效果图资产。
为此,请在 Unity 中单击 Assets-> Create-> Visual Effects-> Visual Effect Graph
要复制您正在创建的资产,请在项目窗口中选择它,然后选择要复制的视觉效果资产。 选择顶部栏中的“编辑”->“复制”。
在场景中使用视觉图形效果
要在场景中使用视觉效果,您需要将它们添加到场景中。
为场景添加视觉效果:
- 从项目窗口拖放到层次结构窗口
- 如果您将资产拖到现有游戏对象上,则会创建具有视觉效果组件的子对象并添加图形方面
- 如果将资产拖到空白处,Unity 会创建一个具有视觉效果的新 GameObject 并添加图形方面
- 使用拖放将效果图资源从项目窗口添加到场景窗口
- 这可确保图形效果出现在相机图像中。
- Unity 将层次窗口中的 Effect Graph 资产附加到与该资产相关的组件
编辑视觉效果
要编辑视觉效果,需要 Visual Effect Graph 窗口:
要打开它,请转到带有空图的 Window-> Visual Effects 菜单
该窗口要求您打开资产。
选择要编辑的资产。 双击项目窗口,将打开编辑窗口。
或者,在“检查器”窗口中选择“编辑”。
编辑窗口打开并显示资产图表。
预览模式
预览效果:
选择一个 Visual Effect Graph 资源并打开 Inspector 预览窗口。
将效果作为视觉效果游戏对象直接放置在场景中(见上文)。
通过这种方式,可以直接在场景中编辑参数。 显示效果的照明,以及效果的各个目标实例的目标游戏对象面板功能。
操作图形元素
可以在窗口的视觉效果图中查看和编辑资产。
视觉效果图包含运算符节点和块。 每个节点负责处理输入属性。 节点可以链接在一起以执行各种计算。 所有节点都连接到一个块。 这是基于对效果的操作。
如果将多个块相互连接起来,它们就会形成一个上下文。
对图表所做的任何更改都会立即影响效果的行为。 可以实时预览更改。 每次添加、删除或连接节点时,图中所有更改的元素都会重新编译并重新启动效果。 如果您更改值(例如编辑曲线),则 Unity 中不会重新编译任何内容,并且会实时影响模拟。
添加节点:
在图中右键单击并选择创建节点。
按键盘上的空格键。
单击并从现有连接器拖动一条边,然后在空白处释放鼠标按钮。
执行上述任一操作后,菜单将显示“创建节点”。 在这里,您可以看到与图表上的特定位置兼容的节点、块和上下文。
视觉效果图资产
视觉效果图资产是视觉效果图用来播放视觉效果的数据容器。
它包含:
图表元素
暴露的属性
编译的着色器
操作符字节码
关于创建视觉效果图形的一切
要创建视觉效果图,请选择“资产”>“构建”>“视觉效果”>“视觉效果图”。
Unity 在当前打开的项目窗口文件夹中创建新的视觉效果。
使用视觉效果图资产
要编辑 Visual Effect Graph 资产,首先在 Visual Effect Graph 窗口中打开它。
您可以:
双击项目窗口中的 Visual Effect Graph 资源。
在 Project 窗口中选择 Visual Effect Graph 资产以在 Inspector 中查看它,然后单击资产标题中的 Open 按钮。
在视觉效果组件的检查器中,单击资产模板属性旁边的编辑按钮。 这将打开分配的视觉效果图资产。
现在可以在视觉效果图打开时编辑视觉效果。
视觉效果资产检查器
如果您选择一个视觉效果资源,Inspector 窗口显示如下:
更新模式: 确定 Unity 更新视觉效果的速率
- 固定增量时间:以视觉效果项目设置中的固定时间步长属性定义的速率更新视觉效果。
- Delta Time:每帧更新视觉效果。
剔除标志: 确定 Unity 是否根据其剔除状态更新视觉效果。 剔除状态指示相机是否可以看到视觉效果的边界框。
选项是:
• 可见时重新计算和模拟边界:Unity 模拟效果并在效果可见时重新计算效果的边界框。 如果视觉效果使用动态边界框(使用运算符计算的边界框),则不应将此选项用于包含始终重新计算边界的边界框。
• 始终重新计算边界,仅在可见时模拟:无论摄像机是否可以看到效果的边界框,Unity 始终重新计算边界框。 如果相机可以看到更新的边界,Unity 只会模拟效果。
• 始终重新计算和模拟边界:无论摄像机是否可以看到效果的边界框,Unity 始终重新计算边界框并模拟效果。
注意:无论哪种模式,Unity 始终使用边界框来消除效果。
预热总时间: 确定当Reset()发生时Unity应该模拟效果多长时间。 这会预先模拟效果,以便在效果开始时它已经显示为“已建立”。 如果您更改此值,Unity 将为 PreWarm Delta Time 计算一个新值。
预热步数: 定义 Unity 用于计算 PreWarm 的模拟步骤数。 增加步骤数会增加效果的精度和资源强度,从而降低性能。 如果您更改此值,Unity 将为 PreWarm Delta Time 计算一个新值。
PreWarm Delta 时间: 定义 Unity 用于 PreWarm 的增量时间。 如果更改此值,Unity 将计算 PreWarm Total Time 和 PreWarm Step Count 的新值。 如果您的模拟需要精确的增量时间,请单独调整此值,而不是 PreWarm Total Time 和 PreWarm Step Count。
初始事件名称:定义激活效果时Unity将发送的事件名称。 默认值为 OnPlay。 您可以将此值更改为不同的名称或什至是一个空字段,以便默认情况下不会生成每个系统。
输出渲染顺序: 定义一个列表,其中每个输出上下文按其渲染顺序显示。 您可以重新排列此列表以更改 Unity 呈现输出上下文的顺序。 Unity首先在列表的顶部绘制元素,然后在上面提到的元素之前逐渐在列表的下方绘制元素。
着色器: 定义 Unity 为视觉效果图编译的所有着色器的列表。 这些是只读的,主要用于调试目的。 在视觉效果设置中使用着色器外部化来临时外部化着色器以进行调试。
Visual Effect Graph和Unity中的经典粒子系统都用于创建视觉效果,但它们的功能和灵活性有所不同:
- 视觉效果图:这是一个基于面向数据的技术堆栈(DOTS)的较新系统。它支持先进的基于节点的可视化界面,允许用户创建高性能的复杂效果。它提供更多控制,特别适合高端图形和大型效果。
- 经典粒子系统:该系统早已集成到Unity中,并使用传统的基于组件的用户界面。它更易于使用并且适用于各种标准粒子效果。它在易用性和对粒子效果的控制之间提供了良好的平衡。
主要区别在于复杂性和功能:视觉效果图提供更多控制并且对于复杂效果更强大,而经典粒子系统更易于使用并且足以满足许多应用程序。
原帖于 2020-01-16 12:05:00。