1-4期
195人加入学习
(33人评价)
Houdini 影视特效实验班

6个月零基础到入职

价格 ¥ 6198.00
教学计划
承诺服务

f@density *= chf("dissipation");这句话的意思是这样的,在每一帧解算之前都让当前DOP网络中的density场乘上一个0.97,这样每一帧的density场都比上一帧少一点点,烟雾也就会随着时间的增长而消散

 

float vel_length = length(v@vel);
if(vel_length > chf("vel_threshold")){
    v@vel *= chf("drag_value");
}
这两句话的意思是,当速度大于某个值的时候,便让速度每一帧都乘一个0.98,速度便会一帧比一帧慢一点,模拟一个拖拽的作用,if语句是很有必要的,不然烟雾一出生速度便会减少

 

float v_len = length(v@v);
vector unit_v = normalize(v@v);
v@v = clamp(v_len, 0, chf("max_v")) * unit_v;速度是一个矢量,有大小,有方向,先把大小和方向分开,就是自己设置的两个变量,然后对速度的大小进行一个clamp,最大不超过自己设置的值,再乘回方向,这就是速度前置(这个是用的pointwrangle节点,我是在houdini17里面做的,属性定好之后直接使用volume rasterize attribute节点进行采样)

[展开全文]