mayaMaya 시작하기


비고

이 문서에서는 Autodesk Maya 코딩에 대해 다룹니다. 이것은 Maya 소프트웨어의 최종 사용자를위한 것이 아닙니다 . (Maya에서 모델링하거나 애니메이트하는 방법을 찾으려면 오토 데스크의 소개 비디오CGSociety 와 같은 최종 사용자 사이트를 사용해보십시오.)

언어

Maya는 3 가지 프로그래밍 언어를 지원합니다 : MEL, 내장 스크립팅 언어. 플러그인에 사용되는 C ++. 통합 작업에 공통적이지만 C ++ API의 래핑 된 버전을 사용하여 플러그인을 작성할 수도있는 Python

안녕 세상

콘솔 (Script Editor)의 Maya에서 여러 언어로 "hello world"인쇄하기.

스크립트 편집기 또는 명령 줄의 MEL 탭에서 MEL :

print ("hello world");
 

스크립트 편집기에서 재생을 누르거나 명령 줄에 키를 입력하십시오.

피톤

스크립트 편집기 또는 명령 행 막대의 Python 탭에서 Python을 선택하십시오.

print "hello world"
 

스크립트 편집기에서 재생을 누르거나 명령 줄에 키를 입력하십시오.

설치

Maya는 3 가지 주요 프로그래밍 환경을 지원한다. 각각에는 설치 요구 사항이 다릅니다.

MEL 스크립팅 언어는 Maya 애플리케이션에 포함되어 있습니다. 기본적으로 활성화 된 Maya의 스크립트 리스너 윈도우에서 MEL을 테스트 할 수 있습니다.

MEL 파일은 확장자가 .mel 텍스트 파일입니다. 리스너 나 다른 MEL 스크립트에서 source 명령을 사용하여 실행중인 Maya 세션에로드 할 수 있습니다. Maya는 소스 디렉토리의 목록을 유지 관리하고, 적절하게 명명 된 파일을 찾을 때까지 모든 디렉토리에서 요청 된 MEL 스크립트를 검색합니다.

스크립트 경로를 설정하는 데는 여러 가지 방법이 있습니다. 자세한 내용은 Autodesk 설명서 를 참조하십시오.

파이썬

Maya에는 임베디드 파이썬 인터프리터가 포함되어있다. MEL 명령은 Python의 maya.cmds Python 모듈에서 사용할 수 있으므로, polyCube -n "new_cube" 와 같은 명령은 Python에서 maya.cmds.polyCube(n='new_cube') 로 사용할 수 있습니다. 리스너 창은 사용자가 파이썬 명령을 대화식으로 입력 할 수있는 Python 탭을 포함합니다.

Maya 파이썬은 파이썬 import 지시문을 사용하여 모듈을 가져올 수 있습니다. Maya는 환경 변수 또는 maya.env 파일을 사용하여 Maya 응용 프로그램에서 구성되는 여러 위치에서 파이썬 파일을 maya.env 합니다. Autodesk 문서 는 Maya가 파일을보고 가져올 수있는 곳에 파이썬 파일을 배치하는 기본 사항을 다루고 있습니다.

C ++

Maya는 API를 C ++에 공개합니다. 개발자는 Maya가 시작할 때 인식 할 플러그인을 컴파일 할 수 있습니다.

Maya 용 C ++ 플러그인을 개발하려면 Maya Devkit이 필요합니다. 플랫폼에 적합한 버전을 다운로드하고 포함 된 지침에 따라 빌드 환경을 설정하십시오.

간단한 파이썬 예제

도움말 라인의 오른쪽 하단에있는 버튼으로 Maya 리스너를 엽니 다. 그러면 스크립트 수신기가 열립니다.

탭 막대에서 Python 탭을 만듭니다.

다음은 기본 장면에서 카메라의 위치를 ​​출력하는 아주 기본적인 스크립트입니다. 리스너에 입력하십시오.

import maya.cmds as cmds          
cameras = cmds.ls(type ='camera')  
for each_camera in cameras:
    parent = cmds.listRelatives(each_camera, parent=True)
    position = cmds.xform(parent, q=True, translation=True)
    print each_camera, "is at", position
 

CTRL+enter 사용하여 실행하는 스크립트를 선택 CTRL+enter .

다음은 임의의 큐브 컬렉션을 생성하는 또 다른 간단한 예제입니다. 그것은 임의의 값을 생성하는 파이썬 random 모듈을 사용합니다.

import maya.cmds as cmds
import random
         
for n in range(25):
    cube, cubeShape = cmds.polyCube()
    x = random.randrange(-50, 50)
    y = random.randrange(-50, 50)
    z = random.randrange(-50, 50)
    cmds.xform(cube, t = (x,y,z))