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

6个月零基础到入职

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

POP Advect by Volumes节点的作用是通过读取一个vel场生成一个力来驱使粒子运动(所以如果在flip模拟中,这个节点应该是添加在particle velocity接口上),通常读取vel场是从硬盘中读取,但是这个节点可以从现有的模拟中读取vel场,在velocity source选项中选择DOP data,在DOP date参数中选择现有的DOP模拟中的object物体,field参数中填写vel,就能够读取现有模拟中的速度场

velocity scale参数,对读取进来的速度场的缩放比例

Advection Type几种不同的对流类型
update force通过读取进来的vel场计算出一个力,这个力去影响粒粒子的加速度,类似于pop force节点
Treat as Wind通过读取进来的vel场计算出一个力,把这个力视作与粒子匹配的风速,这就会把粒子直接拖到目标速度(保持默认的勾选就行)
Force Scale读取进来的vel场计算出来的力直接应用在粒子上,这个参数就是对这个力的缩放(我不知道哪种情况下要使用这样的力)
Air Resistance空气阻力,对粒子的影响有多强(保持默认1就行,能使粒子迅速的匹配到风力)
remap force对力的一个重映射(我还没有弄明白这个reap贴图的横轴纵轴分别代表什么,但是并不重要,因为之所以要使用这个节点当然是希望粒子能够跟随导入进来的vel场运动,再去修改这个力让粒子产生别的运动不如直接回去修改速度场)

update velocity粒子本身有速度的话,粒子的速度会和读取进来的速度场进行混合,使粒子速度快速匹配上读取进来的速度场(这种方式比较耗资源,而且一般来说使用这个节点的情况下,粒子本身是没有速度的)
Velocity Blend每一步幅下粒子的速度要混入vel场的速度的量

update postion这个是直接移动粒子位置,其原理还不是很明白

Ignore Mass忽略质量

Advection Method对粒子进行对流运动的方法,默认的single step单步法速度很快,在一个体素上只读取一次,剩下的集中追踪法更加准确,会在一个体素上多读取几次,相应的也会增加解算时间

 

volume gradient函数,计算出一个体积的梯度,梯度是一个向量,方向指向是体积内volume值呈现增长的方向;梯度向量的大小,因为体积分为两种,常见的field和SDF,梯度向量的大小在两种体积中稍有不同,在field中,梯度向量的大小是随机的;在SDF中,volume值越接近0的地方,梯度向量的大小越接近1。
在field中,如果超出了primtive number的范围,或者volume值达到了这个体积设定的最大值,那么不会有梯度向量;在SDF中,如果volume值达到了这个体积设定的最大最小值,那么不会有梯度向量

这是一个SDF,粒子都生成在这个SDF的表面,所以volume gradient生成的梯度向量的大小无限接近于1,方向指向是垂直于SDF的表面的;
这是一个SDF,粒子都生成在这个SDF的表面,所以volume sample求出的当前粒子的volume值非常小,无限接近于0;
以上两个数值相乘以,得到一个方向垂直于SDF表面,大小不大的矢量,拿P矢量减去这个矢量,给到P,那么粒子的位置就会改变一些,从而得以附着在SDF的表面上

[展开全文]