XSI ICE Nodes - If

If
Tool > Execution > If

Executes or passes through data of either the “If True” or “If False” ports based on the value in the “Condition” port.

簡單得來說是設定.如果是合條件相符的就.....如果合所設的條件不符的就.....的一個Node

------------------------------------------------------------

簡單的範例應用..






在場景中我先建立一個 disc 物件




可以選上方功能表的 Simulate > ICE > Creaate > Emit Particles from Selection
使場景中產生一個 PointCloud 的物件那他的分子發射的物體就是 disc




接下來選取 PointCloud 開啟 ICETree 如果你沒有在 workspace 看到有任何的東西請點一下上圖的"更新"按鈕...就可以看到已經有東西在 workspace 上了...




點2下 Emit form Surface 出現對話框.將 Rate 的值調高到5000.這樣分子發射就會多一些.這裡講一下 ICE 分子發射的計算方式 就如畫面上所設定的5000 就是場景中從開始發射分子到 30 fram 的時候會在場景中出現 5000 粒 point




在場景中在建立一個 Null 物件.照著畫面將 Null 位移到 X0 Y5 Z0
按下鍵盤的 Enter 開啟 Null 屬性對話框將 Primary Display 選成 Box 並縮放 Null 的 X 軸 拉長Null 的形狀..





回到 ICETree 將 If 這個 Node 拉到 workspace 中.我們先來設定條件.在 Task > Conditionals 中有一堆 ICE 已經設好可以直接套用的條件.這次選 Test Inside Null (測試 Null 的內部)




然後選場景中的 Null 後按下鍵盤的 F3 會出現 Explorer 將 Null 直接拉到 ICETree 中





找到 Delete Point Node 拉到 workspace 點2下開啟對話框將 Deleted 打勾
最後照畫面中的方式連起來.


來看一下現在所做的東西.我們拉進來的一個判斷的 Node 叫做 If 判斷的條件就是去判別 Null 這物件的內部 . 那如果有 point 進去的話 就 Delete 了他.如果沒有進去 Null 的 point 因為我們沒設定.所以就照原現發射時的設定值...結果就會像下圖中的那樣分子碰到 Null 後就被殺掉了....這就是 If 的用法拉...

沒有留言:

##EasyReadMore##