【商业教程】Pyro烟火完全入门第五卷
—— 微资讯 · 微课程 ——
利用零碎时间,走上超神之路!
点击上方蓝色字CG猎人关注最有前景技术与教程
—— 微资讯 · 微课程 ——
利用零碎时间,走上超神之路!
说明:由于本教程是商业教程,仅分享学习笔记,供大家学习交流使用,切勿用于商业用途,公众号不方便分享视频内容,大家可以在网络自行查找;对于之前赞助过CG猎人的朋友,应该有部分收到过这套教程的,可以对着视频制作(还有其他的商业教程笔记会陆续公布)。
小编导语
这套教程一共有6卷,从最基础的volume入门介绍到后面的烟火爆炸效果制作;是国外好莱坞一个非常有经验的烟火大神的课程;小编觉得还是讲的非常细致,把烟火中该有的技术和知识点都讲解了,而且循序渐进,学习完后应该对pyro烟火又比较深刻的认识。
pyro动力学第五部 combustion 爆炸效果
课程目录
01介绍
02发射源创建
03温度设置
04combustion模式
05combustion基本设置
06combustion高级设置
07shredding维解算
08turbulence shaping紊乱形态控制
09disturbance drag和difussion控制
010设置粒子模拟
011通过粒子添加速度到模拟
012wedge设置
013wedge参数设置
014wedging结果
015额外的提示和技巧
学习笔记
01介绍
略
02发射源创建
创建猪头,transform节点移动到网格之上,创建fluidsource节点设置density(之后用density来生成temperature)
创建紊乱,激活动画,调整紊乱参数
添加 灯光和摄像机
03温度设置
创建dopnet动力学节点,内部创建smokeobject物体,调整边界框大小,设置closed boundry 为y轴-方向(只有底部会发射流体碰撞)这个比创建地面更高效;
创建pyro solver和 source volume节点
添加gasresizefluiddynamic节点;设置delay frame为1,padding值为1,因为爆照运动速度非常快
volumesource设置:加载source路径,不继承速度属性;
修改温度适配属性 density→ temperature,也就是source中的density属性同时控制流体解算中的density和temperature属性;
解算后流体会自动上升,因为有温度会与buoyancy浮力相乘
这里紊乱细节的产生就是由于source中使用了noise紊乱控制生成
如果关闭了source中的紊乱效果对比:缺少很多扰动细节
在pyro solver中的 simulation标签下控制buoyancy浮力的大小和方向
cooling rate控制温度消散的速度,修改为0.5
04combustion模式
在pyro solver中激活 combustion模式;但是需要再source中加入fuel燃料场;
回到source volume节点中,修改density→ fuel
combustion的原理分析
通过 fuel燃料和temperature温度两个场的作用,生成下面这些场:
burn 场 用来控制点燃的场
temperature 温度场(这个直接影响buoyancy浮力)
heat控制是flame火焰
density 控制的烟
divergence 控制是烟雾的扩散
vel场控制的速度
在smokeobject中设置 显示为multi field复核场显示(仅负责显示预览,不渲染)
预览结果
05combustion基本设置
爆炸基本设置是fuel会很快被燃烧完,不会像现在一直Add叠加,所以这时候需要给densityk动画
在第6帧关闭,生成很小的火
调整volume density动画曲线
设置 temperature温度动画
爆炸设置最重要的参数 Gas released的值;让火焰膨胀;
combustion参数讲解
ignition temperature 点燃温度限制(值越大越难点燃,如果是-1那么没有任何温度限制)
burn rate 燃烧率,fuel燃烧快慢值
fuel inefficiency 燃料的非利用率;值越高没有利用的燃料越多
temperature output 温度输出
gas released气体示范
06combustion高级设置
frame height 参数对比:用来控制flame 火能够延迟的时间长度
smoke标签下
source 设定density是基于heat还是burn来生成的
heat cutoff控制密度的厚度,值越大越浓密;(因为高于这个值的heat就不会生成烟雾)
create dense smoke 会在烟火周围生成一圈浓密的烟雾
smoke amount生成烟雾的值
heat cutoff
gas标签
flme contribution 对于紊乱翻滚的火山烟雾效果制作,随着heat场被扰动控制,扩展效果也会跟着变化;
burn contribution 用于制作快速,立刻的膨胀的爆炸
temperature标签,不用修改
、
fuel标签
advect fuel让燃料场扰动变化,现在暂时不开启
默认的fuel是不会扰动的
07shredding微解算器
gasshred节点
激活advanced中的 opencl 显卡加速(如果电脑显卡支持)解算会快很多,但是有可能会照成不一样的结果或者不能够支持节点的全部功能(Microsolver中默认是开启的,但是pyrosolver中默认是关闭的)
shred的效果:基于fuel和temperate场进行挤压变形控制
temperature threshold作为限制,高于这个值,会挤压(比如内部)低于这个值会拉伸
shreding是由temperature中的 gradient场来控制;而difussion会把shred效果模糊
08turbulence shaping紊乱形态控制
添加gasturbulence 解算器
给scale强度k动画
设置swirl size值为2,控制较大的翻滚;
修改seed值可以修改不同的效果(之后会用wedge进行不同参数设置)
pulse length 控制紊乱延续的长度;
bindings是可以修改为 temperature 直接控制温度;
timescale不经控制时间,实际上也是控制紊乱的强度,但是对于 noise pattern的紊乱速度不影响,这个只受到pulse length的影响;
09disturbance drag和difussion控制
设置控制 control setting控制场的vel速度场,influence强度为1
修改binding为 vel速度场
右键点击 allow editing
进入节点内部
然后在进入中间disturb vector field节点
找到control field节点,因为我们把temperature浮点值属性修改为vel矢量值属性,所以这里需要修改它的数据类型为vector
复制三个disturbulence,设置blocksize分别为0.3,0.1和0.03
预览速度太快,感觉缺少空气阻力;添加drag force,设置强度为0.1
再添加一个gas dissipation节点,设置diffusion为.1和evaporation为0.01
010设置粒子模拟
创建sphere,设置位置和大小(放在猪头里面)
添加wrangle节点控制紊乱方向速度,这个用vop做会更方便
float val= noise(@P*2);使用noise函数生成随机值(2为频率控制)
val=fit(val,0.2,0.7,0,1);(通过spreadsheet查看val的取值范围然后再进行fit适配)
val=pow(val,8,0); pow能够扩大对比
@Cd=set(val,val,val); 设置颜色用于观察
@N=val*@N*20; 基于法线变形
@v=@N 通过法线获得速度;
创建dopnet粒子网络
基本的粒子网络设置
011通过粒子添加速度到模拟
创建vdbfrom particle
获得速度属性
会基于粒子trail建立bbox
可视化操作
使用volume slice和volume trail节点
注意,后面加这两个节点仅仅是为了可视化,不是最终导入,最终导入节点需要是vdbfromparticles
在动力学中加载
同样使用 source volume节点
关闭volume和temperature采样,设置速度缩放;
012wedge设置
最终解算的时候激活advanced标签下的rest field场
这个rest值用来赋予材质的紊乱效果,类似于模型的uv
关于frame between solver的设置,如果太长,紊乱会出现拉升,如果太短,会太过紊乱;
创建 geometry节点,加载场进行缓存
013wedge参数设置
略
014wedging结果
略
015额外的提示和技巧
fuel ineffeciency的作用,如果是0,那么在24帧燃烧后会没有任何fuel留下;
使用fuel中的advect中扰动fuel值
那么fuel会随着流体运动运动而运动
同时设置 gas设置
gas在这里的意思是 expansion膨胀和divergence(膨胀/收缩)
—— CG猎人——
微信号:Hunter_CG
QQ-540710114
为您提供最具前景的咨询与最适合的分类技术与学习教程