Pyro —— Pyro workflow

目录

Visualization

General workflow

Tips and troubleshooting


Pyro模拟的速度和外形,由许多参数组合控制;

Visualization

        在制作的整个过程中,检查模拟场的状态是非常有用的;Smoke Object具有许多场的可视化选项;最有用的可视化为Multi Field,显示渲染时的所有volumes,其影响外观的最重要设置如下:

  • Density Field,用于smoke的厚度;
  • Diffuse Field,用于给smoke上色;
  • Emission Field,用于发光,可设置为flame或temperature;
  • Emission Color Field,控制发光的颜色,可设置为temperature;

General workflow

        解算器的许多参数都对模拟结果有影响;最好是分解为一系列任务,每个任务都不影响先前设置的效果,如下:

  • 创建发射源;
  • 设置基本模拟参数;
  • 设置温度和浮力参数;
  • 设置相对flame场的参数;
  • 调节外形shape操作;

创建发射源

        发射源对新注入smoke的外形和行为有很大影响,应创建有趣变化的源,不必担心最终结果的细节;

  • 对静态烟火模拟,对源添加noise(Attribute Noise SOP);
  • 对蔓延的火,确保传播行为正确(Pyro Source Spread SOP);
  • 对爆炸,可使用Pyro Burst Source SOP创建爆炸核心外形,还可添加拖尾(使用Pyro Trail Path和Pyro Trail Source);

        还应确定源值的范围,特别是temperature、flame,可使用Attribute Promote SOP计算最大值,对后来在解算器上设置参数有用;

设置基本模拟参数

        一旦设置好发射源,接下来就是设置模拟的基本参数,以使模拟正确工作;

Smoke Object:

  • Voxel Size,相对场景比例设置;
  • Boundary Conditions,可添加地面或实体墙;

Pyro Solver:

  • Max Timesteps,默认为1,应该足够,但对快速流体应增加;
  • Padding,应足够大以适应时间步长内的运动;

设置温度和浮力参数

        通过浮力,温度场对smoke的整体运动有很大影响;通过Ambient Temp (K)Reference Temp (K) 控制浮力;

  • Ambient Temp (K)
  • Reference Temp (K)
  • Gravity
  • Buoyancy Scale
  • Cooling Rate

设置相对flame场的参数

        解算器Flames标签内的参数对模拟有重大的影响,先首先调整“Flame Lifespan”参数,然后开启所需的输出;

调节外形shape操作

        以上旨在确定smoke的外形和运动,一旦满意,即可使用shape操作,来添加细节;Pyro解算器有4个内置shape操作,如dissipationdisturbance、???????shreddingturbulence

  • Dissipation,降低density值,以便烟雾消散;
  • Disturbance and Shredding,应用随机力以分解模拟;Disturbance产生线性加速度,对破开光滑烟冒有用;Shredding旋转速度方向,对不加速或减速添加扰乱有效(特别对火模拟有用);
  • Turbulence,将强大的大尺寸noise添加到速度中;

Tips and troubleshooting

  • Advection-Reflection,可极大有助于涡流保存;
    • Disabled,对涉及divergence场(如爆炸)是最安全的选项;
    • Single-Project,使用廉价的方式,不会增加过多开销;
    • Double-Project,最佳的保存涡流方式,会增加子步数一倍;
  • Time Scale,此参数可动画,特别对爆炸有用,在开始设置高值以捕捉初始剧烈爆炸;
  • Disturbance模式设置为Continuous,将在每体素添加独立的noise,对雪崩很有用;但对体素太小,可能会不理想;
  • 在解算器的Forces输入端口,应用自定义力;
  • 在sparse内,如出现阶梯伪影,可增加最大子步或增加Padding;
  • 如发射源或模拟非常快,子步不够会出现明显的streak;
  • 如烟雾几乎没有和碰撞体交互,增加IOP Iterations可能有碰撞;
  • 如注意到轴对其的烟雾条纹,可开启Hourglass Filtering
  • Sparse解算器会批量执行驱动,以加速模拟;如遇内存问题,可设置Max Batch Size