This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def faceListFromView(): | |
mc.select( all=True ) | |
mc.selectMode(component=True ) | |
mc.selectType( facet=True ) | |
mc.hilite() | |
view = OMU.M3dView.active3dView() | |
OM.MGlobal.selectFromScreen(0, 0, view.portWidth(), | |
view.portHeight(), OM.MGlobal.kReplaceList) | |
FACE_LIST = cmds.ls(sl=True,fl=True) | |
return FACE_LIST |
参考:http://forums.cgsociety.org/archive/index.php?t-1045968.html
なお、元ソースを探してさまよっていた際、porySelectConstraintを使った方法を紹介している記述を見つけたので、試してみました。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def selectFromcamera(cam=None): | |
if not cam: | |
return | |
pos = mc.xform(cam,q=True,ws=True,wd=True,t=True) | |
#pos = mc.getAttr('%s.translate'%cam)[0] | |
mc.polySelectConstraint(m=3,t=0x0008,v=True,va=90,vp=pos) | |
mc.polySelectConstraint(m=0,v=False) |
しかし、使ってみると、こちらはポリゴンメッシュ内部にカメラがめり込むと、そのポリゴンメッシュが選択不能になってしまったので、openMaya経由のほうが無難に使えました。