ハードエッジを抽出したいなー
抽出した後にあれこれやりたいなー
とりあえず検索
- select > Use Constraints で選択
よくつかいますねー
ただスクリプトで処理したいですねー
- polySelectConstraint を使う
うん・・・・うーんなんかこう・・・・ちがう
APIでなんかあんじゃね?
いつもどおりほげーっとapiのリファレンスを眺めてみると
OpenMaya.MFnMesh.isEdgeSmooth()
isEdgeSmooth(edgeId) -> bool
Returns True if the edge is smooth, False if it is hard.
あ、これっぽいな。
とりあえず試す
あーこんな感じかなぁ
import maya.api.OpenMaya as om
def getHardEdges(target):
sellist = om.MGlobal.getSelectionListByName(target)
dagPath = sellist.getDagPath(0)
FnShape = om.MFnMesh(dagPath)
edgeNum = FnShape.numEdges
hardIDs = []
for edgeID in range(0,edgeNum):
if FnShape.isEdgeSmooth(edgeID)==False:
hardIDs.append(target + ".e["+str(edgeID)+"]")
return hardIDs
実行
cmds.select(getHardEdges("pSphere1"),r =True)
お?問題なく動いたっぽいな
疑問
isSmoothってあるけど、smoothとhardの境目ってどこなんだろな
それはまたの機会に考えよう