What & How & Why

差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
vfx:houdini:dop:simulations:pyro:legacy [2019/12/30 09:59] – [Sourcing] codingharevfx:houdini:dop:simulations:pyro:legacy [2023/03/30 02:38] (当前版本) – 已恢复为旧版 (2019/12/31 13:58) codinghare
行 22: 行 22:
 </WRAP> </WRAP>
 <WRAP center round info 100%> <WRAP center round info 100%>
-通常,SOP 中的 attribute 与 DOP 中的 field 是等价概念。+通常,SOP 中的 attribute 与 DOP 中的 field 是等价概念。(注:在 Houdini 17以前使用的 fluid source 产生的速度场是基于 volume 生成的,与之后版本的 point 速度场有区别。但从概念上来说 SOP的属性就是 DOP的场)
 </WRAP> </WRAP>
  
-===Pyro Solver 的属性作用=== +===Inside Pyro Solver=== 
-Pyro 模拟中,不同的属性控制不同 +==重要的属性 / 场== 
-  * ''temperature'' 由源输出+Pyro solver 要依赖自身的 //Combustion Model// 来进行模拟燃烧。在此期间,有几个属性(场)扮演了很重要的作用: 
 +  * **Fuel**:整个燃烧过程的起始点,决定整个燃烧的程度。 
 +  * **Burn**:fuel 会通过燃烧释放 heat、产生 divergence、并间接的增加 temperature。burn 扮演了一个 fuel 转换到 heat 的间过程的角色。burn field 与 heat field 的大小分布是基本上相同的像 heat field,burn field 是根据 fuel 按 step 更新。当 fuel 耗尽以后,burn 将在下一个 step 立即消失,而不像 heat 一样可以坚持一段时间。 
 +  * **Heat**:heat field 代表燃烧中火焰(flame)的区域。 
 +  * **Density**:代表了 smoke 的多少 
 +  * **Divergence**:决定 flame 与 smoke 扩张的程度。 
 +  * **Temperature**:决定 fuel 是否会被点燃,时决定 flame 与 smoke 上升速度。 
 +==Combustion 的过程== 
 +整个个模拟过程大致如下: 
 +  - 通过指定的几何体在 SOP 中生成 ''temperature'' 属性与 ''fuel'' 属性。 
 +  - ''temperature'' 属性决定 ''fuel'' 所在 field 的**燃点**。当温度达到指定的值, ''fuel'' 会开始燃烧,并生成 ''burn'' 的 field。 
 +  - ''burn'' 会持续的生成 ''heat'' field,即**可见的火焰**(//visible flame//)。通过控制 //burn inefficiency// 选项可以决定每次燃烧后会剩下多少 ''fuel''。 
 +  - ''divergence''(散度),该属性决定了体积的延伸会在多大程度上受 ''heat'' 的影响。 
 +  - 燃烧过程中会产生 smoke,smoke 的强度以 ''density'' 基准作为判断。''Dissipation'' / ''cooling rate'' 决定了燃烧产生的烟的密度变化的程度。 
 +  - ''velocity'',默认情况下整个模拟中 velocity = 初始的 velocity 加上 temperature Buoyancy(浮力). 
 +  - 如果 //advect fuel// 选项开启,那么 advect 将影响 ''temperature'', ''heat'', ''density'' 和 ''fuel''。 
 +<html><div align="center"> 
 +<img src="/_media/vfx/houdini/dop/simulations/pyro/combustion_model_step.svg"  width="700"/> 
 +</div> 
 +</html> 
 +\\ \\  
 +==Dependent== 
 +|<color #900>Smoke(density)</color> | Fuel / Burn rate / Smoke Amount| 
 +|<color #900>Flames(Heat)</color> | Fuel / Burn rate | 
 +|<color #900>Temperature</color> | Fuel / Burn rate / Flame & Burn Contribution(可以使用 heat 或者 burn 来产生 temperature)| 
 +|<color #900>Expansion(divergence)</color> | Fuel / Burn rate / Gas released|