1. 程式人生 > >houdini-關於SOP forces 設置與使用

houdini-關於SOP forces 設置與使用

fit const 移動 ply 控制力 另一個 相同 width ive

在制作物體破碎時,我最開始的初步接觸,想法很簡單,就是只有物體撞到了,才會產生破碎和速度方向,後來參考了一些教程,發現在ihoudini中其實可以給破碎制作力或者說是場,下面來記錄我剛學到的一個簡單的方法。

首先給物體一個大致的破碎,並用Glue constraint作為約束。我就破了一小塊地方,動力解算時也只激活組內的碎塊。

技術分享 技術分享

制作破碎是由於將碎塊全部都primetive了,所以每個碎塊都是一個點,在擺放一個sphere,通過Pointvop,用每個碎塊的點的位置減去sphere點的位置,算出距離,再將這個向量法線規整化,連到輸出端的法線N,此時,可以明顯的看到法線方向,也就是我做的力的方向。

技術分享

由於每個點的位置不相同,所以每個點與sphere的距離也不相同,可以通過length計算出它們的長度,通過fIt成0-1,然後輸入到一個漸變中,控制力的衰減,目的就是限定受到力影響碎塊的範圍。將規整後的法線和長度漸變後的法線通過Multiply相乘,連接到輸出端的V,這樣,SOP force就出來了。

接著完善細節,給Multiply連接兩個parameter,一個用來確定力的作用與否,也就是01的區別,另一個就是與本身的速度相乘,給速度一個倍增或者倍減。pointvop節點圖如下:

技術分享

如何讓這個速度影響dop解算呢?

在動力學解算中,使用multisolver,用sopsolver導入速度,刪除墻體以外的物體,傳遞力給物體,使力只能影響墻體碎塊。如果需要改變力的方向,只需移動球體位置,這點還是挺方便的。

技術分享

P.S:第一次用博客記錄自己的學習,希望能一直前進下去。博客也能一直更新下去。

houdini-關於SOP forces 設置與使用