2012年5月3日 星期四

MAXscript : Find biped

想要在max檔案中找出所有的biped有什麼方法比較好?
主要是透過取得Biped的根骨架就能夠判別出有幾組biped骨架,而方法有好幾種...
  1. 利用RootNode這個Property
     bipedNode.controller.rootNode
    這個方式是從網上看到的(影片來源),透過能從所有biped骨頭中獲取的rootNode這個property,可取得biped根骨架 。另外也可使用rootName這個property直接獲取rootNode的name。
    //
    for o in geometry where classof o == Biped_Object and o.controller.rootNode == o do print o
  2. 透過Controller的類型
     classof bipedNode.controller
    利用判別controller的類型來尋找,root的controller類型為Vertical_Horizontal_Turn,root外的biped parts都會是BipSlave_Control,Footsteps即為Footsteps。
    //
    for o in geometry where classof o.controller == Vertical_Horizontal_Turn do print o
  3. 透過biped.getNode這個指令
     biped.getNode [bipedNode | bipedCtrl] [limbName | index]
    只要知道固定部位的limb name或者index即可用biped.getNode傳回該node,而根骨架的limb name是#vertical、#horizontal、#turn,index為13~15。詳見MAXScript Reference:Biped Node Hierarchy

沒有留言:

張貼留言