Unity Visual Effect Graph 特效案例一:陨石环绕粒子

 


前言

Visual Effect Graph是Unity官方推出的一个类似Shader Graph,可以节点化编辑特效的插件,同时对Shader Graph也有较好的适配,常用于创建有大量粒子的的特效


一、Visual Effect Graph的特点

相比于传统的ParticleSystem,Visual Effect Graph可以处理上百万级别的粒子数量,因此其更适用于大量粒子特效的场景,与ParticleSystem互补,并不取代原本的ParticleSystem

二、如何安装

Package Manager中Packages选择Unity Registry,搜索Visual Effect Graph并安装,如果没有需要在Package Manager设置中选择允许Pre-release packages,如果还是没有则需要更新Unity版本,本人使用的版本为2021

三、Visual Effect Graph基本操作和名词解释

Context:

特效上下文,不同的Contex具有不同功能,常用的包括:

  1. Spawn:控制粒子生成,例如连续不断生成和一瞬间生成
  2. Initialize Particle:初始化粒子各项参数,例如粒子生命周期,大小,初始位置等
  3. Update Particle:更新粒子状态,在粒子存在期间会连续调用,类似于Monobehaviour的Update,常用于添加力的作用,更新的次数受帧率影响
  4. Output:粒子以什么状态进行显示,例如面片,模型等

要确保生成的粒子能被看见应至少包含这四种Context且按照顺序连接

Block:

特效属性块,用于修改粒子的属性,如Set Size,Set Position,Set Color Over Life,空格键或者鼠标右键可以新建Block,如果当前选中的是一个Context,则会在Context中创建Block,鼠标左键拖动可以改变Block的顺序,点击对应Block可以在Inspector窗口修改Block的属性,如将Set Size修改为Add Size,修改Random使用随机数,Block的执行顺序为从上到下

修改后的效果需要点击Compile才可以更新显示,一般都默认勾选Auto,在产生修改后自动编译


 四、陨石环绕特效制作过程

总步骤分为两步

1.陨石以环形生成

 创建新的Visual Effect Graph并双击打开

我们需要生成陨石模型,将Output替换为可以生成模型的,如图

 我们需要粒子一直出现在场景中,不需要它向上移动,因此删掉多余节点,并将连续生成设置为Burst一次性生成,Count设置为1000,Initialize里面的Capacity也要设置1000,Capacity为最多显示的粒子数目

 添加Set Position (Shape:Arc Circle),当确保Hierarchy选中当前特效并且在编辑面板也选中Set Position这个Block时,可以在Scene窗口看到提示线,Radius为圆的半径,Arc调到头为圆形,否则为扇形,Thickness是控制粒子生成在圆形边缘到圆心的范围

 为了增加细节,我们添加以下几个Block

  1. Set Angle :设置初始随机角度
  2. Set Anguler Velocity:给每个粒子添加随机的角速度
  3. Set Position:通过Get Attribute : position获取粒子当前的位置,在一个轴上添加一个随机数,并设置新位置,让粒子更有立体感,避免都在同一平面上

RandomNumber可以产生随机数

Add Block可以点击齿轮按钮修改相加的类型,对于Vector类型,可以点击箭头展开各项属性

 2.陨石环形旋转

 Rotate3D:输入一个位置,指定旋转轴,旋转中心,旋转角度,会返回对应旋转的位置

将新位置在Update中设定即可实现绕中心沿z轴旋转

因为整个粒子的操作都在Local模式下,可以直接在Scene中旋转特效即可改变朝向

 已知问题:环形旋转的速度受帧率影响,一般在编辑器模式的帧率能达到上百帧,打包后,一般会被限制到60帧,此时环形旋转的速度明显慢于编辑器显示的速度,如果有错误或有更好的解决方案欢迎大家评论区指出

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Unity粒子特效是使用Unity引擎创建的一种特效,可以在游戏中实现各种视觉效果,比如火焰、烟雾、爆炸等。在Unity中,可以使用粒子系统来创建和控制这些特效粒子系统可以通过调整各种属性来改变粒子的行为和外观,包括发射器速度、最大粒子数量、随机种子等。通过调整发射率和Max Particles属性,我们可以控制粒子的生成速率和数量,避免出现中断或停顿。在层次结构中右键单击效果或粒子系统,可以创建和编辑粒子特效。通常在对象名称中明确说明它是一种粒子效果是一个很好的做法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Unity 特效:Particle System(粒子系统)](https://blog.csdn.net/NCZ9_/article/details/84191694)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [unity3d学习笔记-特效(1.粒子系统)](https://blog.csdn.net/Amateur_master/article/details/123669056)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值