unity3d改变物体的中心位置_Unity3d粒子特效:制作火焰效果
效果
分析
真实的火焰效果,通常包括:火、火光、火星等组成部分,火焰燃烧的同时会对周围环境进行烘焙。
1、针对火焰组成部分,我们可以分别创建粒子系统组件实现
2、火焰燃烧对周围环境的烘焙效果,我们可以通过灯光实现,如点光源。
那么,我们通过粒子系统 + 光源实现火焰效果,在Unity3d场景中结构应如下图所示:
1、Fire 火,火焰的主体部分,因燃烧产生的剧烈化学反应,灵动多变;
2、Flash 火光,即火焰的闪光效果,忽明忽暗;
3、Spark 火星,因高温而升起的燃烧碎屑,行踪飘忽,颜色渐变,效果随机;
4、Point Light 光亮,火焰燃烧对周围环境的烘焙效果;
实现
1、新建工程
1.1、新建3D工程
1.2、导入资源素材(后面会提供素材包)
1、天空盒1个2、多帧火焰形态图1个3、地面图1个
2、场景搭建
2.1、新建场景FireScene
2.2、设置场景天空盒,选择BlueSkybox
原因:系统默认天空盒太亮,火焰效果对比不明显,视觉冲击力差。
设置天空盒方式:Window --> lighting -->setting
2.3、创建平面(地面)
用于放置火焰,并作为被烘焙对象(即火焰的光照能显示在该物体上)
1、创建Quad,改名Ground2、置为原点位置,即坐标(0,0,0)
2.4、调整摄像机视角
1、Scene场景中调整为合适视角(如上图所示视角即可)2、选中摄像机Main Camera3、设置摄像机使用当前视角:GameObject --> Align With View
3、制作Fire效果(火)
为了最好体现火的形态变化,此处使用美术人员提供的火的多帧形态图,作为粒子贴图。
火的多帧形态图,素材共4帧,两行两列
3.1、创建粒子系统对象,命名Fire,改其发射方向
正常的火焰效果,火焰粒子应是朝上方向发射;
而新建的粒子系统默认朝前播放粒子,所以需要x轴旋转-90°,改为朝上发射
3.2、思考:火 需要使用粒子系统的哪些模块?
1、基础模块,主要控制粒子生命时长、大小、方向、颜色、重力等2、Emission模块,粒子主要模块,主要用于控制粒子发射3、Shape模块,粒子主要模块,主要用于控制粒子发射器的形状4、Renderer模块,粒子主要模块,主要用于控制粒子渲染5、Color over Lifetime,控制火的颜色随生命周期而改变,可使火焰效果更真实生动6、Texture Sheet Animation,用于控制火焰的多帧形态图,随机切换指定帧
3.3、先设置Renderer模块
1、Material 选择多帧火焰图2、设置Sort Mode:Youngest in Front (即:后渲染出来的显示在最上/前层)
3.4、设置Texture Sheet Animation模块
1、Tiles : 是指纹理在X(水平)和Y(垂直)方向上划分的平铺数量,此处分别设置为 22、Frame over Time:默认曲线,指定动画帧随着时间的推移如何增加。此处由逐帧变化,改为随机固定某一帧3、Cycles : 是指动画序列在粒子生命周期内重复的次数,此处设置为4,当然也可根据自身喜爱更改数值
3.5、设置基础模块
1、Duration 粒子发射时长,此处设置为1秒2、Start Lifrtime 单个粒子的生命周期,随机1秒以下,此处设置0.3 ~ 0.5秒3、Start Speed 粒子速度0.1,火多帧图上窜效果有波动,但不宜过大4、Start Size 0.7 ~ 1 增加随机性5、Start Rotation -20° ~ 20° 增加随机性6、Gravity Modifier 重力修改器,因火为升力,此处需改为-17、Max Particles 最大数量为25,不宜过多
以上属性可根据自身喜好,微调其数值
3.6、设置Emission模块
1、rate over Time 设置为25,与粒子最大数量一致即可2、因火是平静燃烧,不存在突然的爆发,所以不需要设置Bursts
以上属性可根据自身喜好,微调其数值
3.7、设置Shape模块
1、Shape 无需改变(咱们实现的效果:火的燃烧点是1个)2、Radius 改为0(系统默认置为0.01),使粒子产生位置固定
3.8、设置Color over Lifetime颜色
颜色可根据自身喜好,自行调整,须注意颜色渐变与透明度变化
4、制作火星(Spark)
火星的效果比较简单:
1、在固定位置产生火星的粒子2、粒子产生后向上升,随位置升高速度渐慢,颜色也渐透明3、为了体现火星的灵动性,火星大小、生命时长等均随机
制作Spark会使用到粒子系统的哪些模块呢?
1、基础模块,用于控制粒子的基础属性:生命时长、大小、颜色、重力等2、Emission模块,用于控制粒子的发射3、Shape模块,用于控制粒子发射器的形状4、Color over Lifetime模块,用于控制粒子颜色随生命周期的变化5、Size over Lifetime模块,用于控制粒子大小随生命周期的变化6、Limit Velocity over Lifetime模块,用于控制粒子限速7、Renderder模块,用于控制粒子渲染(默认就行,无需调整)
4.1、基础模块
1、Duration 发射周期与火的粒子系统一致吧2、Start Lifetime 粒子的生命时长,咱们也随机吧3、StartSpeed 火星粒子的向上速度要更大一些4、Start Size 火星粒子的起始大小应随机5、Start Color 火星粒子的默认颜色6、Gravity Modifier 因火星粒子也是上升的力,应设置为负数(使用此属性,效果更贴近真实)7、Max Particles 最大数量不宜过多,因为正常燃烧时,火星数量不会太多8、其他属性默认(略)
以上属性可根据自身喜好,微调其数值
4.2、Emission模块
RateOverTime: 随单位时间生成粒子的数量,与最大数量一致吧
以上属性可根据自身喜好,微调其数值
4.3、Shape模块
1、Shape形状默认椎体即可,无需调整2、Radius: 将椎体的半径设置小一些,让粒子出现的位置固定,微微随机即可3、其他属性默认即可
以上属性可根据自身喜好,微调其数值
4.4、Color over Lifetime模块
正常情况下,火星是在火焰中上端才能看见,且随时间变化,慢慢灰掉(可理解成与夜色融合,即透明)1、刚开始颜色透明2、中间正常显示3、后面逐渐透明
4.5、Size over Lifetime模块
火星的粒子尺寸随时间变化,视觉上更真实一些
4.6、Limit Velocity over Lifetime模块
当粒子速度超过速度限制时,粒子速度降低Speed: 限速 2Dampen: 粒子速度降低的分数 0.1
以上属性可根据自身喜好,微调其数值
4.7 火星效果图
4.8、火加上火星的效果图 (截图不怎么明显)
5、制作火光效果(Flash)
此效果实现起来也比较简单,固定位置,随机交替产生几个的不同尺寸的粒子即可
制作Flash会使用到粒子系统的哪些模块呢?
1、基础模块,用于控制粒子的基础属性:生命时长、大小、颜色等2、Emission模块,用于控制粒子的发射3、Shape模块,用于控制粒子发射器的形状4、Renderder模块,用于控制粒子渲染(默认就行,无需调整)
5.1、基础模块
Start Lifetime: 粒子生命周期随机时长(为实现忽明忽暗的闪动效果)Start Size:粒子尺寸大小随机(为实现忽明忽暗的闪动效果)Start Color:颜色与火的颜色一致即可(色调统一)Max Particles:正常的火焰闪动不会太厉害,所以粒子不宜过多,此处设置为5个
以上属性可根据自身喜好,微调其数值
5.2、Emission模块
Rate over Time: 与粒子最大值一致即可,此处也为5个
5.3、Shape模块
闪光效果应基于火焰的位置,不应改变:
Radius: 为了让粒子产生的位置不变,置为0.01即可
5.4、Shape效果图(因录屏工具原因,图片非高清)
5.5、与火、火星一起的效果图(因录屏工具原因,图片非高清)
6、灯光烘焙
新建点光源,设置光源位置、颜色和强度,如下图:
6.1、火焰 + 灯光 效果图 (因录屏工具原因,图片非高清):
7、素材提供
https://pan.baidu.com/s/1eugxPGWb5sVczJKyvLLpYg
声明:发布此文是出于传递更多知识以供交流学习之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与我们联系,我们将及时更正、删除,谢谢。
作者:齐行超
来源:https://www.cnblogs.com/qixingchao/p/11804623.html
More:【微信公众号】 u3dnotes
unity3d改变物体的中心位置_Unity3d粒子特效:制作火焰效果相关推荐
- unity 彩带粒子_Unity3d粒子特效:制作火焰效果
效果 分析 真实的火焰效果,通常包括:火.火光.火星等组成部分,火焰燃烧的同时会对周围环境进行烘焙. 1.针对火焰组成部分,我们可以分别创建粒子系统组件实现 2.火焰燃烧对周围环境的烘焙效果,我们可以 ...
- Maya粒子特效制作(二)
继续上次的粒子特效工作,本周已经完成该特效的制作. 首先创建一个新的摄像机,并固定到合适的位置,首先是背景的创建,为其创建一个图像平面. 为该平面创建一个渐变纹理Ramp,使背景呈现渐变的效果,然后创 ...
- 【Cocos 3d】金币粒子特效制作
首先,这里有金币模型和金币贴图 新建一个材质Material,命名为coin,配置一下,把贴图拉进去 新建一个粒子特效节点 把这个Mesh绑定上去,之后上面的模式选Mesh 配置一下其他参数,让金币有 ...
- Unity3D粒子特效
第一次粒子特效制作,边做边记录吧 首先 要拿到粒子的图片 爱心\雪花等 然后 在Assets下创建一个材质球 材质球Shader 选择particles\Additive 将你要设置的 ...
- ThingJS粒子特效一键实现雨雪效果
1.粒子效果 2.加载场景 3.不同粒子效果实现 在做3D项目时,我们经常需要模拟下雨,下雪的天气,有时也会模拟喷泉.着火等效果.这些效果需要使用名为粒子系统(particle)的技术来实现.使用Th ...
- Unity教程||Unity添加中文字体||Unity知识记录--制作UI粒子特效
Unity添加中文字体 ## 1.拷贝字体文件 拷贝C:\Windows\Fonts文件夹下,华文细黑常规文件到项目中 ## 2.下载中文字库 链接: https://pan.baidu.com/s/ ...
- unity 彩带粒子_[Unity3D] 官方案例——粒子系统制作火焰效果
1. 导入资源 打开素材里面的Shuriken场景,然后通过菜单GameObject->Particle System创建一个粒子系统对象,并将物体移至火把位置,此时效果如下: 2. 设置粒子系 ...
- Unity3D学习笔记:粒子特效参数
Unity3D学习笔记:粒子特效参数含义 转载 https://blog.csdn.net/asd237241291/article/details/8433534 粒子特效 粒子系统检视面板 初始化 ...
- Unity3d 控制物体transform移动的几种方法
在Unity开发中我们难免要使用代码控制角色的移动,现将已知的几种方法总结如下: 一.transform.Translate() function Translate (translation : V ...
- CRI-O将如何把Kubernetes推上容器生态系统的中心位置
开源项目CRI-O(https://github.com/kubernetes-incubator/cri-o),即之前的OCID,旨在不依 赖传统容器引擎的前提下,使开源Kubernetes调度框架 ...
最新文章
- 怎样对拍、如何对拍、对拍模板
- 2021 GitHub年度报告:7300万开发者,最爱的依旧是Javascript
- 更新Silverlight ctp到Silverlight beta 1.0
- hibernate的懒加载(延迟加载)问题
- [蓝桥杯] 连号区间数
- HikariCP 高性能的 JDBC 连接池
- python引用传递产生的问题_理解Python中传递值和引用时出现问题
- 初一模拟赛(5.4)
- 调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别...
- reg类型变量综合电路_Verilog中reg型变量的综合效果(待补充)
- oracle大于条件,oracle中sql语句中的in的条件数量大于1000有问题
- Hibernate 一对一外键单向关联
- 95-190-028-源码-window-Window介绍与使用md
- 2017java面试_2017 Java面试大全(一)
- tensorflow之线性回归
- 创建数据账号只有个别表的权限_只有普通权限账号,如何把远程数据库中该用户的数据表导入到本地数据库?...
- 把“~/niunantest.aspx”转成http://localhost:4532/test/niunantest.aspx的方法
- 戴尔计算机没有硬盘驱动,戴尔电脑进PE系统找不到硬盘解决教程
- 将cocos2dx项目从VS移植到Eclipse - CoolJie
- 2022 IDEA大会引领科技创新趋势 沈向洋团队重磅发布低空经济白皮书