What & How & Why

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
vfx:houdini:dop:node:solvers:pyrosolver [2020/01/08 12:17] – [Flames] codingharevfx:houdini:dop:node:solvers:pyrosolver [2021/11/11 08:08] (当前版本) codinghare
行 1: 行 1:
 ======Pyro Solver====== ======Pyro Solver======
 +//Ver. 18.0// \\ 
 <color #7092be>**//供烟雾与火焰效果使用的解算器。//**</color> <color #7092be>**//供烟雾与火焰效果使用的解算器。//**</color>
-===== =====+----
 //Pyro Solver// 是进阶版本的 //Smoke Solver//。相比 //Somke Solver//, //Pyro Solver// 更复杂一些,但更灵活一些。 //Pyro Solver// 是进阶版本的 //Smoke Solver//。相比 //Somke Solver//, //Pyro Solver// 更复杂一些,但更灵活一些。
 ====Setting up==== ====Setting up====
行 42: 行 43:
 | <color #900>Flame Height</color>      | flame 的缩放系数。该值越高,flame 的高度就越高。需要注意,该值并不是一个有测量量表的值,该值只是影响应用到 flame 上的冷却量。\\ \\ 本参数下,非常低的参数值并不能得到非常小的 flame,因为冷却的影响因素并不足以抵消温度场的影响。\\ \\ <WRAP>该值可以被视作**冷却的时间**,在 cooling field 打开或关闭的前提下有不同的算法: | <color #900>Flame Height</color>      | flame 的缩放系数。该值越高,flame 的高度就越高。需要注意,该值并不是一个有测量量表的值,该值只是影响应用到 flame 上的冷却量。\\ \\ 本参数下,非常低的参数值并不能得到非常小的 flame,因为冷却的影响因素并不足以抵消温度场的影响。\\ \\ <WRAP>该值可以被视作**冷却的时间**,在 cooling field 打开或关闭的前提下有不同的算法:
   * 如果 cooling field 关闭,那么//heat field// 的结果将使用直接从 //heat// 场中减掉该值的倒数来获得,即 \\ ''heat-((1/cooldown_time)*timestep)''。\\    * 如果 cooling field 关闭,那么//heat field// 的结果将使用直接从 //heat// 场中减掉该值的倒数来获得,即 \\ ''heat-((1/cooldown_time)*timestep)''。\\ 
-  * 如果 cooling field 开启,那么在从 //heat field// 减去该值倒数之前,会先对 control field (默认 temperature)进行 fit01,然后在做如下的操作:\\ ''heat - ( (1/cooldown_time)*timestep*clamped_control_field )''</WRAP>|+  * 如果 cooling field 开启,那么在从 //heat field// 减去该值倒数之前,会先对 control field (默认 temperature)进行 fit01,然后在做如下的操作:\\ ''heat - ( (1/cooldown_time)*timestep*clamped_control_field )'' 
 +</WRAP>|
 | <color #900>Cooling Field</color>   |使用指定的 field 来控制 cooling field(也就是 mask)| | <color #900>Cooling Field</color>   |使用指定的 field 来控制 cooling field(也就是 mask)|
  
 ==Smoke== ==Smoke==
-| <color #900>Time Scale</color>      | | +该 tab 控制 smoke 的发射量。 
-| <color #900>Time Scale</color>      | | +| <color #900>Create Dense Smoke </color>      |向系统中添加 smoke。该过程**不会考虑现有的烟雾量**,因此对于需要 Heavy smoke 的场景非常适用。当选项关闭的时候,smoke 只会在 density 超过特定量的 voxel 上生成。 
 +| <color #900>Source</color>      | 选择烟雾的产生源。**最好**的选项通常是 ''heat'' 场。适用该场会带来更真实的效果,并防止 smoke 对 flame 造成模糊。
 +| <color #900>Smoke Amount</color>  |生成 smoke 的系数。(都是直接乘到场上的,burn 是作为 linear combination 的系数,heat 是直接乘。)| 
 +| <color #900>Heat Cutoff</color>  |该选项只能在 ''heat'' 作为 smoke 源的情况下使用。\\ 如果该值为 ''0.2'',那么 smoke 只会在 heat field 中低于 0.2 的位置生成。| 
 +| <color #900>Blend Amount</color>| 该选项只能在 ''heat'' 作为 smoke 源的情况下使用。\\ 增加该值将使 smoke 和 flame 之间的渐变变得更加平滑。\\ \\ 该值实际上控制的是在 //Heat cutoff// 点之上的的 smoke 生成。''0'' 意味着 在 //Heat cutoff// 点之上的 heat field 不会产生任何的 smoke;''1'' 意味着在 //Heat cutoff// 点处会产生最大量的 smoke,之后随着 heat 场值的增长, smoke 的量会随之减少,直到达到 heat 场的最大值处(此处没有任何 smoke 生成)。|
  
 +==Fuel==
 +控制 fuel 的影响。
 +<color #900>Advect Fuel</color>|该选项关闭的时候,fuel 处于静止状态,并且不受**速度场**的影响。当开启的时候, //Fuel field// 会像 //tempature、heat、density// 一样被推进。该选项开启后导致更加不可预测的结果,并且会使用更多的时间计算。|
 +<color #900>Fuel Speed</color>|Fuel field 的最大移动速度。|
 +===Shape===
 +该 Tab 下的属性控制 flame / smoke 的形状。除了 //Dissipation// 之外,所有的参数均会像内部力一样影响速度场。\\ \\ 指的注意的是,smoke object 的分辨率决定了火焰和烟雾的细节。不过,//Pyro slover// 在很大程度上是有独立参考的“分辨率的”,因此我们可以通常在低分辨率下工作,再提高分辨率来得到细节,同时又能获得与之前大致相似的整体形状。\\ \\ Houdini 通过两种方式向火焰添加 //turbulent noise//://shredding & turbulence//
 +  * 如果我们需要添加**高频**的 noise,//Shredding// 是主要的方式。 //Shredding// 通过 “拉伸”和“挤压” ''Velocity Field'' 来得到火苗?(lick)和流状的火焰(flow)。
 +  * //Turbulance// 主要用于**低频**的 noise,比如来回"搅动"(churing),"卷动的"(rolling)的,和移动较慢的,缩放较大的 noise。
 +|<color #900>Dissipation</color>|控制 smoke 的消散速度。该值越低,smoke 消失的程度越慢,反之越快。\\ \\ 该值为百分比,''0.1'' 代表每 ''24'' 秒消失 10% 的烟雾。''1'' 会导致所有的 smoke 立即消失。|
 +|<color #900>Disturbance</color>|在不改变 pyro 主要形状和动态的情况下,为其增加细节。|
 +|<color #900>Shredding</color>|基于 Heat field 的梯度来推拉 velosity field,从而得到细长状的火苗形态。 \\ \\ 需要注意的是,该值如果过高会导致随机的,碎片化的结果;相反,过低的该值会导致滴状的,特征不明显的火焰。\\ \\ 因为 shredding 基于 temperature field 的梯度实现效果,因此温度偏低会使 shredding 的中**细碎**效果更明显。温度较高会导致梯度的动态下降,因此会导致较大的条纹状的火焰。同时,越高的分辨率会得到越多的梯度细节。|
 +|<color #900>Disturbance</color>|