Thursday, October 21, 2010

Maya Command 新發現(一): polyListComponentConversion

Maya 所提供的 command 可以說是百百種,常常讓我有學不完的感覺,更慘的是有時學了一個新的 command 結果過了一陣子就忘了! 所以,試試看記錄下來會不會讓它在我腦中留久一點 lol,polyListComponentConversion 這個指令做的事是將輸入 poly 的資訊以另一種型式傳回,舉例來說
import pymel.core as pyMel

# create a poly sphere
sphereObj = pyMel.polySphere()
# select faces that connects to vertex[0]
pyMel.select(pyMel.polyListComponentConversion(sphereObj[0].vtx[0], tf=True) ) 

會選取到有使用到 vertex 0 的所有面,如圖


所給的參數可以 fromVertex, fromEdge, fromFace, fromUV 然後 toVertex, toEdge, toFace, toUV,其實還蠻直覺的,那這個指令還有什麼其它的用途呢?

當有需要選取一個物件的所有面時,可以使用

pyMel.select( pyMel.polyListComponentConversion(sphereObj[0], toFace=True) )

或是所有點

pyMel.select( pyMel.polyListComponentConversion(sphereObj[0], toVertex=True) )

其中 -internal 的選項也很實用,只有在被"包"起來的面或線才會傳回,如圖


這個 command 其實還有很多應用,可以在 bonus tools 找到更多範例。

No comments: