2012년 9월 14일 금요일

마야의 폴리곤 정점을 뽑아주는 스크립트...


회사에서 작업을 하다보니 폴리곤의 정점을 뽑아줘야 할 일이 생겼습니다.
회사프로그래머들이 바쁘다 보니 배경 컬리전을 뽑아야할 엑스포터를 만드는 시간이 좀 아까워서
제가 마야로 폴리곤 정점을 뽑아주는 스크립트를 만들어서 쓰게되었습니다.
메우 간단한 스크립트라서 스크립트를 잘 쓰시는 분은 필요 없으시겠지만, 혹 스크립트를 전혀 몰르시는 분은 좀 필요 하실수도 있을거 같아서 올립니다.

아래는 스크립트 내용 입니다.
밑에 원본은 첨부 파일로 링크 시켜놨습니다.
폴더를 지정해서 파일명을 바꿀 수 있도록 만들예정이었으나 스크립트에 대한 이해가 딸려서실패하고 말았습니다.

하도 오래전거라서 지금 보면 아마 어떻게 만들었는지 전혀 몰를거 같은데요 찬찬히 훓어보면야 알겠지만 이것저것 잡다하게 하다보니 스크립트는 이제 쓸일이 거의 없을듯 합니다.
그래도 혹시 몰라서 필요하신 분이 있을까? 해서 올려봅니다.

===================================================================

import maya.cmds as cmds

# Get Vertex Export
def VE(*args):
selObj = cmds.ls(sl=1)
f = open('d:\MyDoc\maya\projects\Project_K\data\Collision.txt', 'w')
SelObjCount =0
for x in selObj:
cmds.select (selObj[SelObjCount])
# print selObj[SelObjCount]
# get vertex count and asign to VerTexCount
VerTexCount = cmds.polyEvaluate(vertex = True)
# print 'ivertex count = %d' % (VerTexCount)
VertexNumber =0 # reset VertexNumber count
for x in range(0,VerTexCount):
VerTexInfo = cmds.pointPosition(selObj[SelObjCount]+'.pt['+str(VertexNumber)+']', l=True)
ConvertValueX = str(VerTexInfo[0])
ConvertValueY = str(VerTexInfo[1])
ConvertValueZ = str(VerTexInfo[2])
f.write(ConvertValueX+'\t\t')
f.write(ConvertValueY+'\t\t')
f.write(ConvertValueZ+'\t\t')
f.write('\r\n')
VertexNumber = VertexNumber+1
SelObjCount += 1
cmds.select (clear = True)
f.close()

# Make a new window
#
window = cmds.window( title="Get Vertex Coords", iconName='Short Name', widthHeight=(300, 200) )
cmds.columnLayout( adjustableColumn=True )
cmds.button( label='Vertex Export', command=VE )
cmds.button( label='Close', command=('cmds.deleteUI(\"' + window + '\", window=True)') )
cmds.setParent( '..' )
cmds.showWindow( window )

===================================================================

댓글 없음:

댓글 쓰기

navi

Blogger Tips And Tricks|Latest Tips For Bloggers Free Backlinks