레이블이 Maya인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Maya인 게시물을 표시합니다. 모든 게시물 표시

2012년 1월 8일 일요일

pymel 사용시 debug log hide하기

pymel사용시 모듈을 import하면 위와 같은 debug log가 출력된다.
이를 안보이게하려면
../pymel/pymel.conf 에서
[logger_root]
level=NOTSET -> WARNING 으로 수정

2008년 5월 11일 일요일

Python for Maya 환경변수 설정

PYTHONPATH = C:\Program Files\Autodesk\Maya2008\Python\lib\site-packages

MAYA_LOCATION = C:\Program Files\Autodesk\Maya2008

확인...
import sys

print sys.path

하였을 경우 마야 site-packages가 뜨면 정상이다.
어떠한 IDLE에서도 디버깅이 가능하다.

외부에서 python으로 Maya 콘트롤하기...

import maya.standalone
maya.standalone.initialize()

import maya.cmds as cmds
import maya.mel as mel

cmds.file('C:/Temp/test.ma', o=True)

...
...
...

cmds.file(save=True)

2007년 12월 17일 월요일

delete Attribute slim Archiver

import maya.cmds as cmds

selgeo = cmds.ls(sl=True, tr=True)

for i in selgeo:
find_attr = cmds.attributeQuery('slimArchiver', n = i, ex=True)
if find_attr == 1:
cmds.deleteAttr(i + '.slimArchiver')

2007년 11월 27일 화요일

mk_env PreView for RAT

마야에서 RAT을 사용하다보면 Environment light의 방향을 돌려야할때가 쪼~금 불편하다.
해서 env light를 프리뷰하기위해서 만들어봤다.
넙스 스피어에 env texture를 맵으로 넣어서 프리뷰를 하고 그 방향을 mtor coordsys로 콘트롤하는 방식....

import maya.cmds as cmds
import maya.mel as mm

def mk_env():
#create Sphere for preview
preview_sphere = cmds.sphere(ch=True, o=True, po=0, ax=[0,1,0], nsp=4)
attr_ctrl = ['castsShadows', 'receiveShadows', 'motionBlur', 'primaryVisibility', 'smoothShading', 'visibleInReflections', 'visibleInRefractions']
for i in attr_ctrl:
cmds.setAttr(preview_sphere[0] + '.' + i, 0)

cmds.setAttr(preview_sphere[0] + '.scaleX', -1)
cmds.reverseSurface(preview_sphere[0], ch=True, rpo=True, d=3)

cmds.delete(preview_sphere[0], ch=True)
preview_name = cmds.rename(preview_sphere[0], 'mtor_env_preview')

shader_name = cmds.shadingNode('lambert', asShader=True)
tex_node = cmds.shadingNode('file', asTexture=True)
SG_name = cmds.sets(n=shader_name + 'SG', r=True, nss=True, em=True)
cmds.connectAttr(shader_name + '.outColor', SG_name + '.surfaceShader', f=True)
cmds.connectAttr(tex_node + '.outColor', shader_name + '.color', f=True)

cmds.sets(preview_name, fe=SG_name)

#create MTOR CoordSys
mk_mtor_coordsys = mm.eval("MtorCreateCoordSys")
coordSysName = cmds.ls(dag=True, sl=True)
cmds.setAttr(coordSysName[1] + '.displayMode', 1)
cmds.setAttr(coordSysName[0] + '.rotateX', -90)
cmds.setAttr(coordSysName[0] + '.scale', 2.5, 2.5, 2.5)
cmds.rename(coordSysName[0], 'mtor_env')
mtor_envName = cmds.ls(dag=True, sl=True)

cmds.parent(preview_name, mtor_envName[0])

cmds.addAttr(mtor_envName[0], ln='pre_view', at='bool', dv=1)
cmds.setAttr(mtor_envName[0] + '.pre_view', keyable=True)
cmds.connectAttr(mtor_envName[0] + '.pre_view', mtor_envName[0] + '|' + preview_name + '.visibility')
cmds.select(mtor_envName[0])

Maya8.5 python 사용

mel의 경우 scripts폴더에 파일이 있으면 마야가 실행되면서 읽어들여 mel에 있는 프로시져를 실행할수가 있다. 하지만 python의 경우 그냥 파일을 만들어 놓는다고 실행되지는 않는다.
userSetup.py파일을 만들어 사용하고자하는 py파일을 import해와서 def를 실행해야한다.