회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


MEL 기초 #02 - 함수, 라이브러리, 클래스

artsOne | 2008.04.18 02:27 | 조회 3801
모 카페의 연제 중인 내용입니다. ^-^
───────────────────────────────────────────────────────

mel 기초 #02 - 함수, 라이브러리, 클래스

이번에는 쌩뚱 맞게 많이 듣는 단어인 함수, 라이브러리, 클래스에 관해서 입니다.
mel에선 이런 용어들이 필요 있을지 모르겠지만 그냥 알아두는 것으로 합시다. ^-^;;;


함수 (Function)
쉽게 풀어 함수라는 상자 안에 연산자(+, -, *, / 등)들이 들어있고 숫자들을 넣어 계산되어진 결과를 출력하고 상자에서 나가는 일을 하는 것이 함수라고 합니다.
함수의 종류로는 프로그래밍에선 내장함수와 외장함수로 나뉘고 있는데 mel에는 내장 함수만 있는 것 같습니다.
Expression의 Insert Functions 메뉴에 있는 모든 것이 내장 함수라 합니다. 자체 내부에서 사용할 수 있는 함수들인 것이죠.
함수명(변수) 포멧으로 사용되는데 mel의 일반적으로 procedure를 이용해 사용자 함수로 정의합니다.

code를 볼까요.
int $FirstNo = 4;
int $SecondNo = 3;
int $SumNo = 0;
sumTemp($FirstNo, $SecondNo, $SumNo);
print ($FirstNo + $SumNo);
// 여기가 바로 함수라는 상자입니다.
proc sumTemp(int $FirstNo, int $SecondNo, int $SumNo) 
{
    $SumNo = $FirstNo + $SecondNo;
    print $SumNo;
}
//74
3개의 정수형 변수에 각각 값을 넣었습니다.
sumTemp()함수에 변수값들이 call되어 지면서 proc sumTemp()에 값들이 대입되어 지고, procedure안의 명령들이 실행 완료하면 procedure를 return하여 다음 명령을 실행하게 됩니다.
$SumNo변수 같은 경우 procedure에 들어간 변수값이 return할 때 변경되지 않는 다는 점입니다.
즉, procedure안에서만 명령들이 발휘된다는 것입니다.


라이브러리 (Library)
라이브러리는 용어이므로 간단히 넘어가겠습니다. '함수들의 집합'입니다.
예를 들어 Expression의 Insert Functions 메뉴에 있는 함수들을 모아있는 것을 라이브러리라 합니다.

maya 8.x이상 버젼에서 도입된 python이 mel을 사용하기 위해 maya.cmds라는 라이브러리(모듈?)를 사용하게 됩니다.
python 명령은 mel과 다르기 때문에 maya.cmds를 import하여 python에서도 mel 명령어를 사용할 수 있도록 기반을 만들어 주는 것이지요.


클래스 (Class)
클래스는 object의 함수나 변수를 가진 attribute(element)라고 할 수 있습니다.
객체.속성(함수, 변수) 포멧인데 mel에서 사용되는 객체들은 모든 것이 클래스로 구성되어 있습니다.

상자A에 들어 있는 사과, 배, 오렌지가 있다고 합시다.
상자A에 과일들의 갯수가 각각 3, 4, 5개씩 있는데 이걸 클래스로 풀어본다면..

상자A.사과 = 3
상자A.배 = 4
상자A.오렌지 = 5

이렇게 나오게 되는 것이지요.

nurbsSphere를 꺼내보세요.
채널박스에 보면 객체(object)의 이름과 속성(attribute)들이 나와 있습니다.
Script editor 창을 열고..
setAttr "nurbsSphere1.translateX" 5;
입력하면 tx값이 5로 변경된 걸 알 수 있습니다.

nurbsSphere1라는 객체의 기본 클래스 속성들은 translateXYZ, rotateXYZ, scaleXYZ, visibility가 됩니다.
466개(17/24페이지)
마야
번호 제목 글쓴이 조회 날짜
공지 마야 뷰포트 네비게이션 팁 푸딩뱃살 43881 2020.04.06 17:22
공지 Maya 버전 별 Python 버전 푸딩뱃살 65056 2014.01.08 17:59
144 [참고] Maya Online Help artsOne 3396 2009.08.11 01:02
143 [참고] Maya 2009 Service Pack 1a artsOne 3611 2009.07.20 12:22
142 [Script] Python for Maya - 14. Expression에서 python 사용 사진 첨부파일 artsOne 5395 2009.05.11 17:57
141 [Script] Python for Maya - 13. realtime lattice point random move 사진 첨부파일 artsOne 5093 2009.05.01 00:58
140 [Script] Python for Maya - 12. sphere를 이용한 random move 사진 첨부파일 artsOne 4693 2009.04.22 00:26
139 [Script] Python for Maya - 11. Lattice vertex random move (re.fin 사진 첨부파일 artsOne 5259 2009.04.17 12:12
138 [Rigging] Expression을 이용한 Flollow Through 사진 첨부파일 artsOne 2672 2009.04.14 20:24
137 [Script] MEL - UI / menu, frameLayout 첨부파일 artsOne 2955 2009.04.03 00:33
136 [Script] MEL, Python 표기 첨부파일 artsOne 3232 2009.03.30 01:26
135 [Script] 자료형 - list 이해 첨부파일 artsOne 2739 2009.03.30 01:12
134 [Script] Shape 변경하기 첨부파일 artsOne 2086 2009.03.11 00:13
133 [Rendering] Default Color 사진 첨부파일 artsOne 2282 2008.09.12 01:40
132 [Script] MEL - clear artsOne 2759 2008.09.12 00:12
131 [Script] MEL - window #2 사진 첨부파일 artsOne 2774 2008.09.01 23:49
130 [Rigging] Guide Line (Deform > Point On Curve) artsOne 2597 2008.08.13 02:16
129 [Base] Marking Menu Custom 사진 첨부파일 artsOne 2166 2008.08.04 12:48
128 [Rigging] Expression을 이용한 Stretch, Squash 사진 첨부파일 artsone 2862 2008.06.18 00:31
127 [Expression] MEL, Expression - pow artsone 2747 2008.06.16 16:09
>> [Script] MEL 기초 #02 - 함수, 라이브러리, 클래스 artsOne 3802 2008.04.18 02:27
125 [FX] Lesson 1: Creating nCloth collisions Step 3 사진 첨부파일 artsOne 2142 2008.04.13 17:56