全程照抄油管视频
https://www.youtube.com/watch?v=sgBbnF3r60U&ab_channel=GabrielAguiarProd.

1. Mesh 制作

打开 Blender

新建一个圆环

进入编辑模式,全选,沿法向挤出,向内挤出

得到一个环
环的内径很小

选中一个面

选择光照贴图拼接

使用默认设置
主要是我也不知道有啥意义

就可以在 UV 编辑器里面看到,一个扇形投影成了一个正方形

全选

沿活动四边面展开

同样使用默认设置

在 UV 编辑器中可以看到所有扇形都变成了顺序排列的四边形
如果是普通的 UV 展开,会展开呈扇形的

全选

缩小移动到框内

之后尽量摆在中心吧

选择 约束至画布边缘

这样在缩放的时候,无脑拖动缩放,他会自己展到画布边界停下

上下边界距离画布边缘差了一点也无所谓,可以全选一边的顶点拉到边缘

环切

在中间切一环

按住 alt 鼠标左键单击外环,选中外环

向上移动

内环同理




移动 按 Y 限定 Y 方向移动
按 1 限定移动一个单位
按负号往负方向移动

设置这个平面的原点到 3D 游标,方便缩放



这两个平面可以合并成一个物体
命名为 MuzzlePlane
之前那个圆可以命名为 MuzzleCircle

2. Mesh 导入



Quad 删掉,换成 Mesh

导入刚刚创建好的 Mesh,搜索
发现有两个 Mesh
这两个就是 Blender 中做的两个物体
神奇

3. 导入之后会发现的问题

不知道为什么,只有在特定的角度下才能看到两个交叉面

难道是法向的问题

而且我还把 Convert Units 关了才恢复到正常大小

但是有点不对啊,这样做的话,实际模型放到世界中会很大

感觉第一个问题是双面材质的问题,第二个是导出设置的问题
问了别人之后才知道怎么解决

4. 导入问题解决办法:粒子生成位置

特效原点和特效实际原点的位置不一样

随便乱点之后,发现初始化这里有一个 bounds 改 center 为 0 0 0 就好了

5. 导入问题解决办法:Mesh 双面材质

点击 Output Particle Mesh ,然后在监视器中选择 Cull Mode - Off

这样可以解决只能在特定视角下看到特效的问题

6. 导入问题解决办法:Blender 导出设置

导出的时候要勾选应用变换!!!

这样可以解决两个插面放到 unity 中只显示一个的问题
也可以解决勾选模型在世界中和VFX中大小不一的问题

7. 导入问题解决办法:Blender UV 调整

导入了之后才发现我十字面的 UV 还是错的……
那就只好一个顶点一个顶点的看了

首先打开 UV 选区同步,这样的话就可以一直让 UV 显示在 UV 编辑器里

然后选择平面上靠近穹顶的两个点


发现它们是在 UV 的上边,但是我的枪焰是从下边到上边的,所以我的 UV 的下边应该对应我的平面与穹顶相交的那条边,因此现在我要将 UV 顺时针旋转 180 度

枪焰只用发射一次,所以选单独发射
同时枪焰是朝着前方的,默认是 Mesh 朝上的,所以旋转 90 度

由于我们使用了应用变换,所以是不用旋转的,已经是朝着前方了

设置大小

8. 贴图制作

打开 ps,新建文件

拿钢笔工具,左键单击,按住 shift,再左键单击,画出一条线

右键这条路径,选择描边路径

选择画笔,画笔的预设要配好,勾选模拟压力

具体画笔的预设要配什么呢……一开始我也不知道,视频里也没讲
我做的时候发现没有视频中那样前后端尖锐

找了一会才看到是在笔刷预设里面选 形状动态-大小抖动-钢笔压力

组合拼接

好吧,后来才发现要想让枪焰自然,其实贴图应该贴着图片的底部
这样的话,两个 mesh 组合起来的贴图之间才不会有间隙

而且如果枪焰贴图太细的话也不好看,给人感觉很窄

于是我做的就是这样


9. 贴图导入

要勾选 Alpha Is Transparency 才能正常显示

如果没有正常显示的话还可以点 VFX 图的 save 键,这样它的特效就会刷新

接下来没有意外的话,应该会显示成类似这样

10. MuzzlePlanes

设置更短的生命周期,以达到急促的效果

设置粒子的大小随生命周期变化,计算方法改成 multiply

曲线调成先慢后快

设置颜色,同样也是 multiply

选一个偏橙的颜色

然后把强度调成 +2

点击 Set Size,在监视器中遭到 Random 一栏,选择 Uniform

可以看到现在有一个值的区间可以调

同理,加一个 set scale,调成区间

由于我在 blender 导出的时候使用了应用变换,所以我的长轴试验出来是 z

颜色也可以 random

透明度 multiply

11. MuzzleCone

把之前做得 MuzzlePlanes 的部分做成一个 group 然后直接点击 group 框,就可以复制粘贴框内的内容

复制过来之后把 mesh 换成穹顶,可以看到运行起来,穹顶的贴图就是贴着曲面的一个方向走

不知道为啥我并没有遇到跟视频中一样的旋转错误,应该还是应用变换的关系?

改 Output Mesh 的 UV Mode 为 Scale And Bias
设置 UV Scale 为 5 1,可以看到枪焰分成了五瓣

将其中的 X 连接一个 random,这样枪焰瓣数就是随机的了

12. 烟

新建一个粒子系统

设置 single burst
设置速度
设置大小
设置生命周期
设置颜色
都选 multiply

设置 Output 模式为 flipbook blend,加入素材

设置贴图分块序号随着生命周期变化
设置为线性变化

总共有 36 个分块,对于数组来说最后一个分块的序号是 35
所以终点值设为 35



还可以设置旋转

[Unity] 使用 Visual Effect Graph 制作射击枪焰特效相关推荐

  1. Visual Effect Graph魔改录

    欢迎参与讨论,转载请注明出处. 前言 前文提到关于粒子想实现一些东西,本篇便来还愿了.Demo使用的粒子系统并非传统的Particle System,而是基于GPU的Visual Effect Gra ...

  2. Visual Effect Graph——块和操作符

    一 块 块是定义上下文行为的节点.您可以在上下文中创建和重新排序块,当Unity发挥视觉效果时,块从上到下执行. 您可以将块用于多种用途,从简单的值存储(例如,随机的颜色)到高级复杂的操作,如噪声扰动 ...

  3. bfgs sherman_介绍Sherman(第2部分)–一个Unity项目,其中包含动画师的实时毛发,HDRP和Visual FX Graph

    bfgs sherman Created by the Emmy-winning team that brought you Baymax Dreams, Sherman is a new real ...

  4. unity探索者之Shader Graph所有节点详解-Master篇

    Master(主节点) 1.PBR Master(基于物理渲染的材质主节点) 输入端口 释义 Vertex Position 定义每个顶点的绝对对象空间顶点位置 Vertex Norma 定义绝对对象 ...

  5. 陈鸽:正统或异端_异端的制作:视觉特效驱动人物摩根

    陈鸽:正统或异端 Creating a character with the help of Visual Effects Graph was an interesting challenge for ...

  6. Unity中用shader graph制作一个简单的传送门效果

    Unity中用shader graph制作一个简单的传送门效果 一.配置渲染管线 1.通过菜单"Asset" --> "Create" --> &q ...

  7. Unity VFX学习系列 —— 效果制作(烟花)

    四.效果制作 烟花 文章目录 四.效果制作 烟花 1.创建上升的火焰 2.在火焰消失的位置创建烟花 3.添加上升火焰拖尾 4.给烟花粒子添加拖尾 5.整体预览 1.创建上升的火焰 新建Visual E ...

  8. Unity使用协程技术制作倒计时器

    先上效果图 图片资源来自http://www.51miz.com/ 1.素材准备 在http://www.51miz.com/搜索png格式的数字图片,用Unity自带的图集制作工具,进行分割.Con ...

  9. Unity NGUI 网络斗地主 -界面制作

    Unity NGUI 网络斗地主 -界面制作 源文件在群(63438968群共享!) @灰太龙 这一节说一下NGUI的界面摆放,并且教会大家使用NGUI的自适应功能! 在这里感谢@Gamer,是他给我 ...

最新文章

  1. ContentObserver类的使用
  2. muduo之LogFile
  3. MYSQL 联表查询 ORDER 效率低?
  4. 最近有不少网友给我的书提出了问题,并要求尽快出版第二版
  5. 控制器如何跳转web-inf下的项目_第一次开发项目感想
  6. ubuntu12.10下arm-linux-gcc交叉编译环境的搭建
  7. Max Sum Plus Plus HDU - 1024
  8. Linxu:磁盘分区
  9. Dungeon Master 地下城大师(BFS进阶)
  10. 190226每日一句
  11. 动态网页程序设计报告(留言板)
  12. C3P0连接池配置和实现详解
  13. Displaytag的使用四
  14. python实现蒙特卡洛模拟_蒙特卡洛模拟(Python)深入教程
  15. 云数据库RDS和对象存储OSS
  16. 使用ifconfig结合awk提取主机的IP地址方法
  17. 千万融资资金为何青睐edge这家公司?
  18. java anon,shiro anon 不生效
  19. 【转载】优雅抒情的浪漫小提琴曲
  20. Android基础知识【项目实训-实现二级导航“今日活动”及读取数据库】【5】

热门文章

  1. Java并发编程(06):Lock机制下API用法详解
  2. 微服务架构案例(05):SpringCloud 基础组件应用设计
  3. 理解JQuery中的data()使用方法
  4. Java B2B2C多用户电子商务平台SpringCloud/Boot
  5. Redmine incompatible character encodings: UTF-8 and ASCII-8BIT
  6. PB开发境界 多个DW进行update
  7. 华为USG防火墙双机热备(业务口工作在三层上下行连接路由器)
  8. 向MFC应用程序添加控制台窗口
  9. ossim系统下nagios监控机器可用性用rrd图形显示
  10. android studio安装教程完整,Android Studio 安装配置方法完整教程【小白秒懂】