The Basic of Mappings – How to construct a valid mapping (zh-tw)
雖然xDIVA允許使用者在各個元件(eg. mapping node or mapping tree)能進行簡單的拖拉動作,但是我們仍然有幾項原則希望你能了解。在這個章節中,我們會告訴你基本的Mapping node 以及Mapping tree的基本概念。
Basic of Mapping Nodes
每一個Mapping node都有輸入端以及輸出端。輸入端能接受另外一種來源的連接,這個來源可以是左邊子視窗中的變數或者是另外一個Mapping node;輸出端則可以連接到不同的目的端。Mapping tree是由各種不同種元件(變數、Mapping node、container 、VM)組合起來,節點與節點之間的連接代表著物件的傳遞。舉個例子:你可以實作一個sphere的Mapping node,並且將它放在編輯區。Sphere的半徑決定它的體積大小,所以sphere有一個輸入端的名稱為_vm_radius。如果在左邊子視窗中有一個變數連結到這個sphere的輸入端,那麼這個變數的大小就會決定這個球體的體積。另外sphere有不同種類的輸出端,這些輸出端決定這個Mapping tree在3D空間中的展現。
Why a mapping need to form a tree ?
樹會有root,這代表不同node間的連結最後一定會匯集到一個node,而在Xdiva中這個node需要攜帶一個VM。我們拿一個2元樹的例子來解說。
如下圖所示,一個bt node物件稱之為Q被視覺化後,在root node上連結一個VM,所以這是合法的情況。xDIVA需要知道哪一個VM代表物件Q。如果有太多VM或者沒有VM去代表物件Q,xDIVA就會提出警告。
除了剛剛說的root VM被用來代表物件Q以外,在上圖的映射當中,xDIVA會找出物件Q中的每一個變數。舉一個例子,在上面這張映射圖中,你可以看到變數travel被第一個VM所連結,所以這個VM會被用來代表變數travel。
No Cyclic links are allowed
由於目前xDIVA還沒有為使用者設置任何映射的規則,所以要小心任何會有循環連結的狀況發生,不然將會導致xDIVA映射的失敗。