volumesample&vomlumegradient在houdini中應(yīng)用廣泛
尤其在模型生長和水模擬中解決穿插問題表現(xiàn)尤為突出
從圖中不難看出 匹舞,將流體進(jìn)行包面以后 particalsurface? 和vdb在attributewrangle 中進(jìn)行關(guān)聯(lián)
float lift = chf("lift");
float dist = volumesample(1,"collision",@p);
vector grad = -normalize(vomumegradient(1,"collision",@p));
vector pos = @P;
if(dist<0)
{
? ? pos += dist*grad;
? ? pos += grad*lift;
? ? @group_collison =1;
}
@P =pos步咪;
此固定表達(dá)為:對一號端口的collison 的模型進(jìn)行位置體積采樣,然后對一號端口的coliison 模型進(jìn)行位置上的體積梯度漸變(穿插為負(fù)值)
當(dāng)dist小于0灶壶,即在vdb內(nèi)部時/穿插時。對0號輸入端口穿插的模型進(jìn)行方向(grad)和距離上(dist)的位移