Mayaコマンドを使って、ポリゴンフェイスの法線を取得すると、、、
[u’FACE_NORMAL 256: 0.604932 0.517799 0.604932\n’]っと、なんとも言えない感じで返ってきちゃいます、、、
(‘A`)ヴァー
そこでもう少し便利に取得できないか!?っと関数を用意してみました!
from maya import cmds def getFaceNormals(face): temp = cmds.polyInfo(face, fn=True)[0] temp = temp.split(' ') return [float(temp[-3]), float(temp[-2]), float(temp[-1])]
まず、「cmds.polyInfo(face, fn=True)[0]」で通常通り、法線を取得します。1つのフェイスしか処理しないことを前提にしているので「[0]」をつけて最初のデータのみ取り出します。
取り出した文字列のデータを「 (スペース)」で分割し、後ろから3つのデータをそれぞれfloatにキャストしたリストを返す流れです。