文章目录
- 流体简介.
- 域.
- 创建域.
- 直接创建.
- 通过物体创建.
- 域的属性.
- 设置.
- 液体(域类型为液体时).
- 扩散.
- 网格.
- 气体(域类型为气体时).
- 消融.
- 噪波.
- 视图显示.
- 缓存.
- 流.
- 创建水.
- 创建火与烟.
- 流来源.
- 初始速度.
- 渲染火与烟.
- 效果器.
流体简介.
1 流体用于模拟水流,烟雾等效果
2 流体一共有三种类型,域,流,效果器。
域.
1 所有的流体效果都只能在域中展示,流体效果不会超出域的范围
创建域.
直接创建.
1 新建一个立方体,放大
2 为立方体添加 物理属性/流体,流体类型选择 域
3 注意, 液体模式的域默认是不透明的,需要进入透视模式才能看到内部的流体。勾选网格后域变透明,液体有网格,可以参与渲染。如果视图里还是不透明,尝试将时间轴归零,然后播放
通过物体创建.
1 选中一个物体,在左上角 物体/快速效果/选择快速液体或者快速烟雾,可以直接创建一个域
2 需要注意的是,会将物体的显示方式设置为线框 (物体属性/视图显示/显示为)
域的属性.
设置.
1 域类型:分为气体(模拟气体和火焰) 和液体两种类型
2 细分精度:可以调整流体效果,值越大,效果越好,域内的产生的液体的网格数越多,可以通过立方体内的小方块直观的查看精度
3 时间比例:随时间推移创建的流体的多少,可以理解为流速,注意如果流速太大,可能会穿透效果器
4 CFL编号:值越大,每个流体的计算步骤越少,计算速度越快,但越可能穿透效果器,当时间比例比较大时,可以适当减小CFL值,防止穿透效果器
5 时间步长最大值最小值:每一帧粒子模拟次数的最大值和最小值,提高这两个值会增加计算时间,但是可以防止穿透效果器
6 自适配域:如果我们想扩大模拟范围,最简单的方法是缩放域,但是这样会浪费非常多的性能,因为整个域内都会参与计算,勾选自适配域可以自适应域的大小。如果还是发生模拟范围不理想,可以手动将原始的域拉大,这样可以扩大模拟的范围。但是会出现火焰变大的问题。
液体(域类型为液体时).
模拟方法:
- FLIP:模拟可以飞溅的水
- APIC:模拟流速快但飞溅少的水
以下为FLIP属性
1 FLIP比率:水飞溅的比例,值越小,飞溅效果越弱
2 系统最大值:粒子上限,0是无上限
3 粒子半径:粒子的大小,调小后,感觉上水会减少,因为粒子变小了
扩散.
表现为流体的浓稠程度,例如制作巧克力酱,可以提高基础,减少指数,提高表面张力
1 基础()1-10):值越大,扩散越慢
2 指数:值越大,扩散越快
3 表面张力:值越大,液体越粘稠,建议以10做测试
网格.
不勾选网格,流体是无法参与渲染的,必须勾选网格后才会出现三角面,此时 域 的网格不可见
1 Upres系数:值越高,流体和自身以及效果器的贴合程度更好。同时液体的融合度会减少,每股液体会更清楚。性能开销比较大
值为1
值为4
气体(域类型为气体时).
消融.
1 作用是渐隐烟雾,否则烟雾不会消失,渐隐后不会顶到域的顶部
2 时间:烟雾存在的时间,以帧为单位。需要注意的是,Blender默认一秒25帧
噪波.
1 可以为火焰和烟雾添加噪波
视图显示.
1 插值类型:视图里看到的效果的精度
缓存.
缓存可以烘焙流体效果,这样下次播放时会非常流畅。注意只烘焙流体的效果,不会影响物体的动画
1 起始帧与结束帧:烘焙的帧数区间,这个区间外的流体效果不会被烘焙
2 类型:
- 重播:不烘焙,每次播放时重新计算流体效果
- 模块化:不知道
- 全部:烘焙指定区间内的流体效果,烘焙后不能再调整域的参数。拖动时间轴可以直接查看效果,如果使用播放,没有烘焙的部分不会有任何效果。建议烘焙前先保存文件
流.
创建水.
确保 域 的模式为液体
1 新建一个经纬球,添加 物理属性/流体,类型选择 流。流体类型选择液体。流动行为选择流入。
不同的流动行为
- 流入:从网格里往外出水,水流不断
- 流出:从域里往外放水
- 几何数据:从网格里流出一次性水
2 将经纬球放到 域 内,然后播放,即可看到水流.但是这个水流是没有网格的,不能参与渲染
3 为液体添加网格:选择域,然后勾选 液体/网格,再次播放(手动将时间轴拖到左侧来消除上次的动画缓存)即可看到液体的网格,此时域会变的透明
4 我们可以通过为液体添加材质来获取不同的液体外观,也可以平滑着色
创建火与烟.
1 新建一个猴头,添加 物理属性/流体,类型选择 流。流体类型选择火焰+烟雾。
流来源.
网格模式下
1 表面发射:火焰与网格表面的距离,值越小,距离越小,火焰看上去越小
初始速度.
1 首先火焰效果是可以随物体移动而移动的,默认情况下,烟雾只会向上飘,当物体移动时,如果烟还是只向上飘,而没有添加物体的移动速度,效果会不真实,勾选后可以为烟雾添加物体的移动速度
渲染火与烟.
1 建议使用Cycles渲染器,EV效果差很多。渲染前建议先烘焙火焰效果,域的分辨为128,噪声为3级,此处分辨率为64,噪声为2级
2 进入渲染模式(先创建一个相机),
3 为场景中添加一个灯光,可以看到烟的体积效果
4 选中域物体,进入着色器编辑窗口,将域的材质的 黑体 属性调大,建议为50。然后可以看到火焰。否则只能看到烟。但是这种情况下火焰太亮了,丢失了很多细节
添加一个 输入/体积信息节点,然后将四个属性分别输入到黑体里,可以看到不同的体积信息,我们可以通过体积信息来调整黑体值。
单纯的体积信息值比较小,添加一个 转换器/运算 节点,改为正片叠底,然后调高 值,此时可以得到明亮的火焰,然后添加一个颜色渐变节点,按如下调整,可以得到比较多的火焰细节
5 此时的火焰虽然有细节,但是缺乏亮度变化,我们再为 体积信息 的密度创建一个 颜色渐变和运算 ,连接到上一个正片叠底的值上,按如下调整,可以获得前部亮,尾部暗的火焰
效果器.
效果器用于模拟流体的碰撞到物体等效果 ,效果器必须放在 域 内
1 做一个杯子的模型,杯壁要厚一点,否则液体会穿过杯壁
2 将杯子放在 域 里,然后为杯子添加 物理属性/流体,类型选择效果器,效果器类型里选择碰撞
3 然后播放,可以看到液体流入了杯子里,且被杯子挡住