XSI ICE 基礎應用(3) If

這個 If 也會在範例中常常會用到的 Node 所以也將他加入在基礎應用中...

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##