<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://pimg.daum-img.net/whsnake/css/atom.css?ver=1.0" type="text/css"?>
<feed xmlns="http://www.w3.org/2005/Atom" version="1.0" >
  <title>Madvolt blog-</title>
  <link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt"/>
  <link rel="self" type="application/atom+xml" href="http://blog.daum.net/xml/atom/madvolt"/>
  <rights>MADVOLT</rights>
  <author>
    <name>MADVOLT</name>
    <uri>http://blog.daum.net/madvolt</uri>
  </author>
  <generator uri="http://blog.daum.net" version="1.0">Daum blog (blogmaster@daum.net)</generator>
  <id>tag:blog.daum.net,2009:madvolt</id>
  <updated>2008-10-12T22:07:16Z</updated>

  		<entry>
	    <title>강철개미 Steelant Poster</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/7697460"/>
		<id>tag:blog.daum.net,2009:madvolt.7697460</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-10-12T22:07:16Z</updated>
	    <published>2008-10-12T22:07:16Z</published>
	    <content type="html">
	    	&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;img src=&quot;http://cfs13.blog.daum.net/image/23/blog/2008/10/12/22/05/48f1f6201eb72&amp;filename=Steelant_poster_Low.jpg&quot; border=&quot;0&quot; hspace=&quot;1&quot; vspace=&quot;1&quot; class=&quot;tx-daum-image&quot; style=&quot;CLEAR: none; FLOAT: none&quot; actualwidth=&quot;600&quot; width=&quot;600&quot; /&gt;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;강철개미 STEELANT POSTER&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=gallery&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;gallery&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>Metalray - Motion Blur</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6610165"/>
		<id>tag:blog.daum.net,2009:madvolt.6610165</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-23T19:20:51Z</updated>
	    <published>2008-08-23T19:20:51Z</published>
	    <content type="html">
	    	&lt;P&gt;&amp;nbsp; Motion Blur 는 크게 Image Motion Blur 중 영상으로만 모션블러를 처리하는 방법과 3D 자체에서 모션벡터를 추출하여 블러를 생성하는 방법, 마지막으로 쓰리디 안에서 모션블러로 렌더링을 하는 방식으로 나누어 진다. 품질 면에서는 이미지 모션블러 &lt; 모션벡터 &lt; 3D 모션블러순이기는 하지만 실제의 작업을 진행하다 보면 제작시간의 한계성에 의해서 (개인이 렌더링 머신이 도대체 몇 대가 있을까??) 선택적으로 사용할 수 밖에 없는 상황에 다다른다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 하지만 카메라가 복잡하게 움직이거나 한 화면에서 많은 오브젝트들이 움직이거나 충돌하는 경우 특히 파티클 같은 경우에 있어서는 3디 프로그램 안에서 모션블러를 생성하는 것밖에 방법이 없기 때문에 3D Motion Blur에 대해서도 공부를 해야 하는 필요성이 존재한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 이미지 모션블러로 주로 사용하는 프로그램은 Reelsmart Revision Motion Blur를 추천한다. 모션블러에서 가장 유명한 회사이며 영상처리에서 블러를 추가적으로 생성할 수도 있고 블러의 범위를 줄일 수도 있다. 스탠다드 이상의 모션블러를 생성하는 경우는 FG point를 이용해서 모션블러를 넣어야 하기 때문에 작업도 만만치 않을 뿐만 아니라 3D animation 제작시에도 비효율적이므로 스탠다드를 필자는 많이 사용하는 편이다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 3D 모션블러는 현재 대세 렌더러인 멘탈레이를 기본적으로 생각을 해야 할 것이다.&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=마야&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;마야&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=렌더링&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;렌더링&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>MEL스크립트(3) 사용자 인터페이스 생성</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6526267"/>
		<id>tag:blog.daum.net,2009:madvolt.6526267</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-19T14:13:28Z</updated>
	    <published>2008-08-19T14:13:28Z</published>
	    <content type="html">
	    	&lt;P&gt;ELF 명령 (command)&lt;/P&gt;
&lt;P&gt;ELF명령 대부분은 UI 요소를 생성 수정할 수 있다. UI 요소 생성 명령어들은 생성한 요소의 타입에 따라 이름을 정한다. 그들은 argument를 가진 선택 깃발을 받아들이고 생성된 요소에 붙이기를 바라는 이름을 최종 argument로 받아들인다 예를 들어:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;window -visible true -title &quot;Test Window&quot; TestWindow1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ELF UI 명령 깃발은 선택적이지만 모든 깃발의 기본은 고유함에 주의한다. 위의 예에서 윈도우(windows)가 메뉴바(menu bar)를 포함하지 않음에 주목한다. 이는 &quot;-mb/menuBar&quot; 깃발의 기본값이 거짓이기 때문이다. ELF UI 명령에는 또한 새로운 요소는 생성하지 않지만 현재의 요소를 변경하거나 문의하는 다른 모드 (mode)가 있다. &quot;-e/edit&quot;, &quot;-q/query&quot;, &quot;-e/exti&quot; 깃발을 이용하다 이름붙인 요소를 편집, 문의하고 현재 존재하는지 조사할 수 있다. 다음 예는 위에서 생성한 윈도우 제목으로 되돌아간다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;window -query -title TestWindow1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;문의하는 데는 깃발이 필요치 않음에 주목한다. 한번에 한가지 결과만 되돌릴 수 있으므로 한번에 한 깃발만 질문한다. 다중 매개변수는 편집 깃발로 서술할 수 업고 현재의 깃발은 검사중인 요소의 이름만을 요구한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;window -edit -title &quot;New Title&quot; -maximizeButton false TestWindow1;&lt;/P&gt;
&lt;P&gt;window -exists TestWindow1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;UI 요소를 편집하거나 문의하면 거의 모든 경우에 작업중인 요소의 이름과 정확한 타입을 알아야 한다. 이 제한조건을 완화시켜 주는 특별 명령이 두개 있다. &quot;Control&quot; 명령은 모든 control 타입에서 작용가능하고 &quot;laytout&quot; 명령은 모든 레이아웃 타입에서 작용가능하다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;WINDOWS&lt;/P&gt;
&lt;P&gt;윈도우즈는 보통 인터페이스를 만들 때 생성되는 첫번째 요소이다. 여기에는 다른 UI요소가 모두 포함된다. ELF명령어는 최소화와 최대화 버튼이 있다. 윈도우즈는 메뉴바를 선택적으로 포함한다.&lt;/P&gt;
&lt;P&gt;윈도우가 생성될 때 이름, 크기, 위치를 Maya에서는 기본값으로 설정한다. 윈도우의 크기와 위치가 나타난 후에는 &quot;windows&quot;명령을 수행하느라 무시했던 모든 argument를 회복한다. 인터페이스 생성 시에는 &quot;UI우선&quot; 윈도우에 의해 또는 &quot;windowPref-remove&quot;명령을 이용하여 이 활동을 정지시키는 것이 편리하다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Controls&lt;/P&gt;
&lt;P&gt;Control 버튼(button), 체크박스(check box), 아이콘(icon), 필드(field), 슬라이더(slider)처럼 윈도우에서 친숙한 요소이다. 여기에는 윈도우의 기능을 포함하는 요소들이 있다. 사용자는 어떤 작용을 기대하며 버튼을 누르거나 슬라이더를 끈다. 사용자 기능을 실행하도록 control에 명령과 스크립트를 부여할 수 있다. attaching은 다음 절에서 설명한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;레이아웃(Layouts)&lt;/P&gt;
&lt;P&gt;레이아웃은 다른 UI요소들을 포함하고 배열하는 UI요소이다. 이는 ELF윈도우에서 포맷 지정을 control하는 주요 수단이다. 특별한 방법으로 내용을 배치하는 특정 레이아웃들이 많이 있다. 예를 들어 colum layout배치는 column한개에 내용을 목록 처럼 수직으로 차례로 배치한다. 반면에 row layout은 각각을 수평으로 나란히 배치한다. 다른 배치 분류를 위한 레이아웃들오 있다. 레이아웃은 그 안에 여러가지로 다양한 다른 레이아웃을 포함할 수 있다. 레이아웃을 생성하는 모든 명령은 &quot;layout&quot;으로 끝난다. 예를 들어 &quot;gridLayout&quot;이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;이용할 수 있는 레이아웃 목록은 함수 명령 목록의 &quot;UI:Layout&quot;절을 참조한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&quot;frameLayout&quot;, &quot;tabLayout&quot;, &quot;menuBarLayout&quot;명령에는 children의 위치 지정과 관계 없는 특별한 기능이 있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;프레임 레이아웃(Frame layout)&lt;/P&gt;
&lt;P&gt;프레임 레이아웃은 제목 옆에 전환 버튼이 있는 expand/collapse 옵션이 있다. collaps 상테에서는 프레임 레이아웃의 내용이 숨겨지고 레이아수은 차지하는 공간을 collaps 한다. Expand나 collaps하기 위한 프레임 레이 아웃 복귀는 레이아웃이 보이는 인터페이스를 통해 collapse 되거나 uncollaps될 경우에만 (예를 들어 사용자가 작은 화살표 아이콘을 클릭할 수 있을 경우) 호출된다. 다음과 같은 코드를 이용해서는 복귀시키지 못한다.&lt;/P&gt;
&lt;P&gt;frameLayout -e -collapse true $theFrame;&lt;/P&gt;
&lt;P&gt;이런 방식의 복귀 작용은 처음에 윈도우를 생성할 때 무한루프로 빠지지 않도록 올바르게 설정하는 유일한 방법이다. 복귀가 필요하고 안전하다고 생각되면 collapse 나 expand를 하는 동시에 직접 호출한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;탭 레이아웃(Tab layout)&lt;/P&gt;
&lt;P&gt;탭 레이아웃은 다른 레이아웃을 다수 포함하는데 한 번에 하나만 디스플레이 된다. 서브 레이아웃 각각에는 레이아웃을 가시적으로 만들기 위해 선택가능한 탭 같은 파일 폴더(file folder)가 있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;메뉴바 레이아웃(Menu bar layout)&lt;/P&gt;
&lt;P&gt;메뉴바 레이아웃은 윈도우의 원하는 곳에 메뉴바를 삽입하도록 해준다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;폼 레이아웃(Form layout)&lt;/P&gt;
&lt;P&gt;가장 강력한 레이아웃 중 하나가 &quot;formLayout&quot; 이다. 이것은 child control의 절대 위치와 상대 위치 지정을 지원한다. 예를 들어 control의 위치는 고정시키고 dimension은 윈도우의 크기에 맞도록 정할 수 있다. 이 개념은 다음 예가 잘 설명한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;window -widthHeight 300 200 TestWindows2;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string $form = 'formLayout -numberOfDivisions 100';&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string $b1 = 'button -lable &quot;A&quot;';&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string $b2 = 'button -lable &quot;B&quot;';&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string $b3 = 'button -lable &quot;C&quot;';&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string $b4 = 'button -lable &quot;D&quot;';&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string $b5 = 'button -lable &quot;E&quot;';&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; formLayout -edit&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachForm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;top&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachForm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;left&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachControl &amp;nbsp;&amp;nbsp; $b3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;bottom&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 $b2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachPosition&amp;nbsp;&amp;nbsp; $b1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;right&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 75&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachNone&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;top&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachForm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;left&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachForm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;bottom&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachForm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;right&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachOppositeControl&amp;nbsp; $b3&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;top&quot;&amp;nbsp; 0 $b1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachPosition&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b3&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;left&quot;&amp;nbsp;&amp;nbsp; 5 75&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachNone&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$b3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;bottom&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-attachForm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b3&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;right&quot;&amp;nbsp; 5&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachControl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;top&quot;&amp;nbsp;&amp;nbsp; 0 $b3&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachPosition&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;left&quot;&amp;nbsp;&amp;nbsp; 0 $b3&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachNone&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;bottom&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-attachOppositeContrl&amp;nbsp; $b4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;right&quot;&amp;nbsp;0 $b3&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachControl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$b5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;top&quot;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;$b4&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachOppositeControl $b5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;left&quot;&amp;nbsp;&amp;nbsp; 0 $b4&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -attachNone&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;bottom&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-attachOppositeControl $b5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;right&quot;&amp;nbsp; 0 $b4&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$form;&lt;/P&gt;
&lt;P&gt;showWindow TestWindow2;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=마야&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;마야&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=스크립트&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;스크립트&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>MEL스크립트(2)</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6525227"/>
		<id>tag:blog.daum.net,2009:madvolt.6525227</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-19T13:34:14Z</updated>
	    <published>2008-08-19T13:34:14Z</published>
	    <content type="html">
	    	&lt;P&gt;Operators를 사용하는 편리한 assignments&lt;/P&gt;
&lt;P&gt;다음의 식 유형은 프로그래밍 과정에서 종종 사용된다 :&lt;/P&gt;
&lt;P&gt;$x = $x +1;&lt;/P&gt;
&lt;P&gt;종종 발생하는 이러한 경우를 위해, 좀더 적은 입력만으로도 작업할 수 있도록&amp;nbsp; MEL은 몇 가지 편리한 operators들을 제공한다 :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;$x++ // adds 1 to the value of $x&lt;/P&gt;
&lt;P&gt;$x-- // subtractrs 1 from the value of $x&lt;/P&gt;
&lt;P&gt;$x += 5 // adds 5 to the value of $x&lt;/P&gt;
&lt;P&gt;$x -= 3 // subtracts 3 from the value of $x&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;프린트 값&lt;/P&gt;
&lt;P&gt;명령어들은 그 결과를 script editor에 프린트한다. 그러나 사용자가 익숙해져 있을지 모르는 몇몇 read-eval-print 방식의 환경과는 달리, MEL 에서는 command line 이나 script editor에 식을 입력한다고 해서 자동으로 식의 값이 프린트되어 나오지 않는다. 예를 들어 다음의 식을 script editor에 입력하는 경우, &lt;/P&gt;
&lt;P&gt;500 + 5 &lt;/P&gt;
&lt;P&gt;결과는 신택스 오류 (syntax error)로 나타난다. 식의 결과를 프린트 하려면 반드시 사용자는 반드시 다음처럼 print 명령어를 사용해 주어야 한다 :&lt;/P&gt;
&lt;P&gt;print(500);&lt;/P&gt;
&lt;P&gt;print(&quot;Hello world!\n&quot;);&lt;/P&gt;
&lt;P&gt;print(&quot;The time is now &quot; + $time);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;랜덤 숫자 산출하기&lt;/P&gt;
&lt;P&gt;rand 명령어는 무작위의 표류점 숫자를 생성해 낸다. 만약 하나의 인수를 제시해 주면, 0과 그 인수 사이에서 산출된 숫자가 되돌아 온다:&lt;/P&gt;
&lt;P&gt;rand(1000);&lt;/P&gt;
&lt;P&gt;//Result : 526.75028 //&lt;/P&gt;
&lt;P&gt;두개의 인수를 제시하는 경우는 두개의 인수 사이에서 무작위로 숫자를 산출해 낸다 :&lt;/P&gt;
&lt;P&gt;rand(100,200);&lt;/P&gt;
&lt;P&gt;// Result : 183.129179 //&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=마야&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;마야&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=스크립트&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;스크립트&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>MEL스크립트 (1) Values 과 variables</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6524927"/>
		<id>tag:blog.daum.net,2009:madvolt.6524927</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-19T13:23:09Z</updated>
	    <published>2008-08-19T13:23:09Z</published>
	    <content type="html">
	    	&lt;P&gt;&lt;STRONG&gt;Values 과 variables&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Integer 와 Floating point 숫자들&lt;/P&gt;
&lt;P&gt;Integer&lt;/P&gt;
&lt;P&gt;Interger란 우수리 숫자가 제외된 숫자를 가리킨다.&lt;/P&gt;
&lt;P&gt;5&lt;/P&gt;
&lt;P&gt;-20&lt;/P&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;P&gt;3200&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Floating point 숫자&lt;/P&gt;
&lt;P&gt;Floating Point 란 우수리 숫자를 가진 숫자를 가리킨다. 예를 들어&lt;/P&gt;
&lt;P&gt;3.1415926&lt;/P&gt;
&lt;P&gt;2.0&lt;/P&gt;
&lt;P&gt;-6592.582&lt;/P&gt;
&lt;P&gt;0.0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;컴퓨터는 floating point 보다는 integer 숫자를 사용하여 integer 계산을 하는 경우가 몇 배 더 빠른 속도를 내기 때문에, MEL과 Maya에서는 integer 와 floating point 숫자를 명확히 구분하고 있다. 우수리 숫자 부분을 사용할 만큼 정밀하지 않아도 되는 계산시에는 (예를 들어, 단순 덧셈) floating point 숫자 대신 integer를 사용하는 편이 좋다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Non-decimal 숫자&lt;/P&gt;
&lt;P&gt;숫자의 시작부분에 0x를 기입하여 16진수 표기법(16기반)을 사용함으로써 정수를 입력할 수 있다.&lt;/P&gt;
&lt;P&gt;oxA0 // equals 160&lt;/P&gt;
&lt;P&gt;0xFFF // equals 4095&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Strings&lt;/P&gt;
&lt;P&gt;Strings은 일련의 순서로 나열된 문자를 지칭한다. 앞뒤에 쌍따옴표를 표기함으로써 strings을 구분해준다:&lt;/P&gt;
&lt;P&gt;&quot;MEL is fun!&quot;&lt;/P&gt;
&lt;P&gt;&quot;abcdef012345&quot;&lt;/P&gt;
&lt;P&gt;&quot;:&lt;&gt;()&amp;^%ABC&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Strings 안에는 몇 가지 특수문자를 사용하는 코드를 사용할 수 있다.&lt;/P&gt;
&lt;P&gt;＼&quot; 쌍 따옴표&lt;/P&gt;
&lt;P&gt;＼n 새 줄&lt;/P&gt;
&lt;P&gt;＼t 탭&lt;/P&gt;
&lt;P&gt;＼r 특성회복&lt;/P&gt;
&lt;P&gt;＼＼ 백슬래쉬&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Concatenating strings&lt;/P&gt;
&lt;P&gt;사용자는 + operators를 사용하여 strings들을 붙일 수 있다.(프로그래머 용어로는 연결한다고 한다):&lt;/P&gt;
&lt;P&gt;&quot;MEL&quot;&amp;nbsp;+ &quot; is fun!&quot;&lt;/P&gt;
&lt;P&gt;// This is the same as &quot;Mel is fun!&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Explicit Typing 과 Implicit Typing&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;보통 MEL은 하나의 숫자가 십진수 부분을 가지고 있는지의 여부에 따라 integer 인지 floating point 숫자인지를 구분한다. 사용자는 숫자의 타입을 explicit typing 해줌으로써 숫자를 integer나 floating point 숫자로 강제할 수 있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(float) 7&lt;/P&gt;
&lt;P&gt;// The number is floating point.&lt;/P&gt;
&lt;P&gt;(int) 7.5&lt;/P&gt;
&lt;P&gt;// The number is integer (MEL automatically truncates to 7)&lt;/P&gt;
&lt;P&gt;또한 strings 같이 보이지 않는 값이라도 strings로 explicit typing이 가능하다&lt;/P&gt;
&lt;P&gt;(string) 500&lt;/P&gt;
&lt;P&gt;//This is the same as &quot;500&quot;&lt;/P&gt;
&lt;P&gt;(string) 56.56&lt;/P&gt;
&lt;P&gt;// This is the same as &quot;56.56&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Implicit type conversion&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Maya는 숫자와 strings을 함께 사용하거나 사용자의 의도가 불분명할 때, 자동으로 숫자들을 strings로 변환하거나 그 반대의 변환을 시행한다.&lt;/P&gt;
&lt;P&gt;주의 : 몇가지 모호한 경우에 있어서는 Maya의 선택이 사용자의 의도와 어긋날 수도 있다. 다음과 같이 입력한 경우 :&lt;/P&gt;
&lt;P&gt;print(&quot;500&quot; + 5);&lt;/P&gt;
&lt;P&gt;프린트되는 결과는 505(숫자 500과 숫자 5의 덧셈 결과)로 나타나지 않고, 5005 (strings &quot;500&quot;과 strings &quot;5&quot;의 결합으로 인식한 결과)로 나타난다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Variables&lt;/P&gt;
&lt;P&gt;사용자는 값들에 대한 상징적인 명칭으로 varaiables를 사용한다. variables들은 스크립트의 여러 부분에 있어서 서로 다른 값을 내포한다.&lt;/P&gt;
&lt;P&gt;variables의 이름은 항상 달러 ($)로 시작한다. 이름에는 문자, 숫자, 언더바(_)가 사용될 수 있다. 그러나 $ 표시 다음에 오는 첫번째 글자는 숫자가 될 수 없다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Variables 이름은 대소문자를 구별한다. MEL은 $X와 $x를 서로 다른 variables들로 인식한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;다음은 몇 가지 올바른 variables이름의 예이다 :&lt;/P&gt;
&lt;P&gt;$x&lt;/P&gt;
&lt;P&gt;$floaty5000&lt;/P&gt;
&lt;P&gt;$longDescriptiveName&lt;/P&gt;
&lt;P&gt;$name_with_underscores&lt;/P&gt;
&lt;P&gt;$_line&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;사용자의 MEL 스크립트를 정돈되고 직관적으로 만들기 위해서는, variables의 기능을 잘 설명하는 variables이름을 사용하는 것이 좋다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;$x, $t, $wtb와 같은 variables 이름들은 $carIndex, $timeLeft, $wingTipBend와 같은 이름들만큼 구체적인 정보를 포함하고 있지 못하다. 그렇지만, $indexForMyNameArray처럼 이름을 너무 장황하게 짓지는 않도록 한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Valables와 attrivutes에 대해 값 assignment 하기&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;사용하기 앞서 Valables declaration하기&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;variables를 사용하려면 일단 variables를 declaration해주어야 한다. variables를 declaration해준다는 것은 Maya에게 variables에 사용할 이름과, variables가 가질 수 있는 값의 종류를 한정해 준다는 의미이다.&lt;/P&gt;
&lt;P&gt;variables를 declaration하려면, vriables이름 앞에 외재 타입 키워드를 사용해야 한다. 예를 들어 :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;float $param;&lt;/P&gt;
&lt;P&gt;int $counter;&lt;/P&gt;
&lt;P&gt;string $name;&lt;/P&gt;
&lt;P&gt;vector $position;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;사용하기 앞서 variables를 declaration해 주는 것은, 오타가 나거나 잘못 위치된 variables들이 만들어내는 찾아내기 힘든 버그들로 인해 흔히 발생하는 일련의 문제점을 예방하는 효과가 있다 :&lt;/P&gt;
&lt;P&gt;- MEL 해석기가 사용자가 declaration 하지 않은 variables들에 접근 하려고 시도하는 코드들을 발견한다.&lt;/P&gt;
&lt;P&gt;- 사용자가 동일한 variables에 대해 서로 다른 타입으로의 중복 declaration을 시도한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Valables와 attributes에 대해 값 assignment 하기&lt;/P&gt;
&lt;P&gt;일단 declaration 된 variables에는 = operators를 사용하여 값을 정해줄 수 있다. = operators의 좌측에 위치하는 variables는 = operators의 오른쪽에 있는 식의 값을 assignment 받는다. 예를 들어&lt;/P&gt;
&lt;P&gt;$x = $y * 10;&lt;/P&gt;
&lt;P&gt;일단 declaration 된 variables에는 = operator를 상요하여 값을 정해 줄 수 있다. = operators의 좌측에 위치하는 variables는 = operators의 오른쪽에 있는 식의 값을 assignment 받는다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;예를 들어 :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;//Declare the variables...&lt;/P&gt;
&lt;P&gt;float $foo;&lt;/P&gt;
&lt;P&gt;float $bar;&lt;/P&gt;
&lt;P&gt;int $baz;&lt;/P&gt;
&lt;P&gt;// Now assign values...&lt;/P&gt;
&lt;P&gt;$test = 5.4;&lt;/P&gt;
&lt;P&gt;// value of $test is 5.4&lt;/P&gt;
&lt;P&gt;$bar = $test +2;&lt;/P&gt;
&lt;P&gt;//value of $bar is 7.4&lt;/P&gt;
&lt;P&gt;$baz = $bar;&lt;/P&gt;
&lt;P&gt;// the value of $baz is 7&lt;/P&gt;
&lt;P&gt;// MEL converted the value to an integer.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;assignment 된 값의 적합성 검토를 거쳐 assignment이 이루어진다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Declaration과 Assignment의 결함&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;편의를 위해 사용자는 variables를 만들 때 값도 함께 assignment 해줄수 있다. 예를 들어 :&lt;/P&gt;
&lt;P&gt;float $param = 1.5;&lt;/P&gt;
&lt;P&gt;int $counter = 10;&lt;/P&gt;
&lt;P&gt;string $name = &quot;Alice&quot;;&lt;/P&gt;
&lt;P&gt;vector $position = &lt;&lt;1.5, 2.5, 3.5&gt;&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;assignment 해준 값에서 variables의 형태를 명백하게 파악할 수 있는 경우, 사용자는 타입 키워드를 비워둬도 무방하다. 예를 들어:&lt;/P&gt;
&lt;P&gt;$name = &quot;Alice&quot;;&lt;/P&gt;
&lt;P&gt;$position = &lt;&lt;1.5, 2.5, 3.5&gt;&gt;;&lt;/P&gt;
&lt;P&gt;이러한 declaration을 implicit declaration이라고 한다. 그렇지만 사용자의 스크립트를 더욱 보기 편하게 하기 위해 항상 타입 키워드를 사용하는 것도 좋은 습관이라 할 수 있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;중복 assignments하기&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;여러 개의 variables에 동일한 값을 assignment하는 경우, 사용자는 중복 assignment을 할 수 있다 :&lt;/P&gt;
&lt;P&gt;$x = $y = $z = 0;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=마야&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;마야&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=스크립트&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;스크립트&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>Rendering Tip</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6447407"/>
		<id>tag:blog.daum.net,2009:madvolt.6447407</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-16T03:47:25Z</updated>
	    <published>2008-08-16T03:47:25Z</published>
	    <content type="html">
	    	&lt;P&gt;HRDi를 이용하면 Reflection 퀄리티가 좋은 대신 밝은 배경이 있는 구성에서는 물체의 외곽이 깔끔한 Reflection 효과로 인해 배경과 물체의 구분이 모호해지므로 반드시 일률적인 반사율은 피해주는 것이 필수적이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;일반 비트맵 포맷을 이용할 경우와 HDRi를 이용한 경우에서 주목해서 봐야할 것은 2가지이다.&lt;/P&gt;
&lt;P&gt;첫째, Surface Shader에 나타나는 이미지의 선명함&lt;/P&gt;
&lt;P&gt;둘째, 이미지의 색 정보를 정확히 반영하는 조도 및 색감&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;일반 이미지들은 낮은 폭의 색상 정보로 인해 방사되 빛의 음영폭 또한 좁다. 그래서 Blur된 것처럼 부드럽게 빛이 드리워진다. 반면에 HDRi는 음영의 차가 뚜렷하다. 방사되는 빛 또는 음영, 색감의 강도가 뚜렷하다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HDRi Lighting(Light Color Texture)&lt;/P&gt;
&lt;P&gt;Background에 HDRi를 적용하는 방법이 아닌 라이트에 집적 HDRi를 넣는 방식으로 빛의 직진성이 강하게 맺히는 결과물을 얻을 수 있다.&lt;/P&gt;
&lt;P&gt;일반 이미지보다 색상값의 폭이 넓기 때문에 오브젝트 표면에 색상이 강하게 맺히게 된다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Irradiance Color&lt;/P&gt;
&lt;P&gt;멘탈레이에서는 이 속성을 통해 Material의 Irradiance를 조절할 수 있다. Irradiance란 복사조도를 의미하는 것으로, GI,FG 사용시 나타나는 간접광 (Indirect Illumination)효과의 핵심이다. 재질의 Irradiance의 Mental Ray 항목의 HSV값중 V값을 1(Default)이하로 낮춰주는 것으로 Irradiance를 조절할 수 있다. 만일 1 이상의 값을 입력하면 반대로 강한 Irradiance를 받을 수 있게 된다.&lt;/P&gt;
&lt;P&gt;Irradiance Color는 멘탈레이 렌더링시 볼 수 있는 모든 Indirect Illumination의 조절에 이용된다고 볼 수 있다.&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>멘탈레이(Mentalray) 중요 개념들</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6446025"/>
		<id>tag:blog.daum.net,2009:madvolt.6446025</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-16T01:33:11Z</updated>
	    <published>2008-08-16T01:33:11Z</published>
	    <content type="html">
	    	&lt;P&gt;Local Illumination&lt;/P&gt;
&lt;P&gt;LI와 GI의 차이는 간접, 확산조명 효과를 표현하느냐의 유무에 달려있다. Li는 조명과 카메라 사이에 불투명한 물체가 있을 경우 빛이 완전히 차단된다. 빛의 효과가 물체에 도착하는 1차적 연산으로 마무리되며 그림자나 어두운 영역이 완전한 Black으로 표현된다. 이를 제거하기 위해 보조조명이 필요하게 된다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Global Illumination&lt;/P&gt;
&lt;P&gt;GI는 카메라,물체,조명의 관계를 1:1로 처리하지 않고 빛이 물체에 충돌한 이후 발생되는 확산, 산란, 난반사 등의 효과까지 시뮬레이션하여 조명 효과를 그대화한 것으로 현실세계에서 볼 수 있는 조명효과와 흡사하다. 멘탈레이는 GI 효과를 위해 Photon이라는 에너지 입자를 사용한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Photon&lt;/P&gt;
&lt;P&gt;멘탈레이는 GI시뮬레이션을 위해 Photon이라는 에너지 입자를 사용한다. 조명에서 방출된 Photon들은 각각의 방출 방향으로 쏘아져 물체와의 1차 충돌 이후 진행하여 Diffuse표면을 만나 빛에너지를 남긴다. 이로 인해 LI의 단점인 어두운 부분을 밝히게 된다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Color Bleeding&lt;/P&gt;
&lt;P&gt;Photon은 물체와 충돌시 물체의 색상 정보를 얻게 되며, 다음 충돌시 이 정보를 남기게 된다. 이런 작요으로 인해 Color Bleeding효과를 표현하게 된다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Photon Map&lt;/P&gt;
&lt;P&gt;Photon으로 발생된 정보를 맵으로 저장한 것으로, 렌더링시 사용하게 되며 파일 형태로 저장되어 재사용이 가능하다. 조명에서 쏘아지는 Photon들의 운동으로 인해 빛의 산란 (간접광) 현상을 발생시키며 이런 물리적 현상으로 전체 씬에 부여된 색상 정보 파일을 'Photon Map'이라 한다. 멘탈레이에서는 Photon Map을 각 오브젝트에 적용하여 사실적인 조명 효과를 표현하게 되는 것이다.&lt;/P&gt;
&lt;P&gt;굴절이나 반사에 의해 빛이 집중되는 현상을 의마하는 것으로 멘탈레이에서는 특정 위치에 Photon이 집중되는 것으로 표현된다. Caustic에서도 Photon들이 사용되며 렌더 설정 또한 GI설정과 동일하게 이루어진다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Final Gather&lt;/P&gt;
&lt;P&gt;FG는 Photon을 이용하는 GI, Cautic과는 다르다. Photon이 조명에서 방출되는 것이라면 FG는 Gather Point(1차)를 카메라를 기준으로 오브젝트 표면에 방출, 배열되고 이를 기준으로 새로운 Ray(2차)들을 주변으로 방출하여 주변의 Illumination정보를 수집, 자신의 밝기 정보에 더하게 된다. GI단독 사용시 발생되는 noise를 FG를 함께 사용하여 제거해준다. 또한, 주변환경에 따른 라이팅 기술을 효과적으로 실현해주기 때문에 실외씬ㄷ에서는 아주 유용하게 사용될 수 있으며, 실내씬에서는 부족한 광량을 조금 더 취하게 되어 어두운 부분을 밝혀주고 지나치게 튀며 밝은 부분은 주변의 밝기 정보를 취해 부드럽고 어둡게 만들어 준다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;LDRi&lt;/P&gt;
&lt;P&gt;Low Dynamic Range Images의 약자로써 일반적인 포맷의 이미지 즉, BMP, TIFF, JPG 등과 같이 0-255의 색상값을 지니는 이미지이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HDRi&lt;/P&gt;
&lt;P&gt;High Dynamic Range Images의 약자로써 일반적인 이미지의 픽셀 정보인 RGBA외에 에너지 정보를 추가적으로 저장하고 있다.(RGBE)&lt;/P&gt;
&lt;P&gt;일반적인 이미지는 색상 정보를 0-255까지의 값으로 보유한다. 이 제한적인 값으 ㅣ이미지는 시각적 표현에는 문제가 없지만 이것을 이용하는 몇가지 기술이나 효과에서는 한계를 보여준다. LDRi를 보완하기 위해 HDRi를 이용하며 이 기술로 정확한 색상 정보를 씬에 제공&lt;/P&gt;
&lt;P&gt;할 수 있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=마야&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;마야&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=렌더링&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;렌더링&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>2008 Project Steelant</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6430128"/>
		<id>tag:blog.daum.net,2009:madvolt.6430128</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-15T09:37:51Z</updated>
	    <published>2008-08-15T09:37:51Z</published>
	    <content type="html">
	    	&lt;P align=left&gt;&lt;A href=&quot;javascript:realImgView('http://cfs12.blog.daum.net/original/24/blog/2008/08/15/09/37/48a4cfda29584&amp;filename=STA_Ants.jpg')&quot;&gt;&lt;IMG hspace=0 src=&quot;http://cfs12.blog.daum.net/image/24/blog/2008/08/15/09/37/48a4cfda29584&amp;filename=STA_Ants.jpg&quot; border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Steelant - 강철개미&lt;/P&gt;
&lt;P&gt;제작 : 3D max / Cumbustion / Aftereffect&lt;/P&gt;
&lt;P&gt;러닝타임 : 4분 30초&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=gallery&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;gallery&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>국내 방송관련 법률 및 법규</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6429475"/>
		<id>tag:blog.daum.net,2009:madvolt.6429475</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-15T08:29:47Z</updated>
	    <published>2008-08-15T08:29:47Z</published>
	    <content type="html">
	    	&lt;P&gt;한국방송영상산업진흥원에서 제공하는 국내의 방송관련 법률 및 법규 모음입니다.&lt;/P&gt;
&lt;P&gt;링크를 따라 들어가시면 hwp파일 포맷으로 제공되고 있습니다. 한번씩 읽어보시는게 도움이 될거 같네요.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.kbi.re.kr/report/hong12.jsp?menucode=3/6/1&quot; target=&quot;_blank&quot;&gt;http://www.kbi.re.kr/report/hong12.jsp?menucode=3/6/1&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=방송&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;방송&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=법제도&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;법제도&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=관련지식&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;관련지식&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>국내 영상관련 사이트</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6408890"/>
		<id>tag:blog.daum.net,2009:madvolt.6408890</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-14T09:53:36Z</updated>
	    <published>2008-08-14T09:53:36Z</published>
	    <content type="html">
	    	&lt;P&gt;한국 방송영상 산업진흥원 &lt;A href=&quot;http://www.kbi.re.kr/&quot; target=_blank&gt;http://www.kbi.re.kr/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;사단법인 독립제작사협회 &lt;A href=&quot;http://www.kipa21.com&quot; target=&quot;_blank&quot;&gt;http://www.kipa21.com&lt;/A&gt;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=사이트&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;사이트&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>오브젝트 숨기기, 보이기 (Hide / Unhide)</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6306332"/>
		<id>tag:blog.daum.net,2009:madvolt.6306332</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-09T06:56:38Z</updated>
	    <published>2008-08-09T06:56:38Z</published>
	    <content type="html">
	    	&lt;P&gt;모델링 개체 수가 늘어나게 되면 물체를 숨겨서 작업의 편의성을 높여야 하는 경우가 생기는데, 이때 유용한 기능이 Hide / Unhide기능이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;CTRL + H (오브젝트 선택중) : 선택한 오브젝트를 숨긴다.&lt;/P&gt;
&lt;P&gt;CTRL + Shift + H : 숨긴 오브젝트들을 보여준다.&lt;/P&gt;
&lt;P&gt;ALT + H (오브젝트 선택중) : 선택한 오브젝트를 제외한 나머지 오브젝트를 숨긴다.&lt;BR&gt;ALT + H : 모든 오브젝트를 숨긴다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;아주 간단한 기능이지만 계속 해서 사용해야 할 명령어이기 때문에 반드시 암기하도록 하자.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#013add&gt;MADVOLT(&lt;/FONT&gt;&lt;/STRONG&gt;&lt;A href=&quot;http://www.madvolt.com&quot; target=&quot;_blank&quot;&gt;&lt;STRONG&gt;&lt;FONT color=#013add&gt;http://www.madvolt.com&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;FONT color=#013add&gt;)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=마야&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;마야&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=모델링&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;모델링&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>뷰포트 이동, 스냅, 그리드 설정</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6306283"/>
		<id>tag:blog.daum.net,2009:madvolt.6306283</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-09T06:46:39Z</updated>
	    <published>2008-08-09T06:46:39Z</published>
	    <content type="html">
	    	&lt;P&gt;모델링 작업을 하다보면 오브젝트를 다각도에서 수정해야 한다.&lt;/P&gt;
&lt;P&gt;이때 화면의 전체를 보며 작업하는 Full View보다는 Four View가 더욱 효과적이다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;모니터 좌측 Tool박스에서&amp;nbsp;뷰포트창이 4개인 아이콘을 선택하여도 되고,&amp;nbsp;스페이스바를 누른 상태에서 마야 아이콘을 선택해서&amp;nbsp; Four View를 선택하여도 된다. Extrude명령으로 폴리곤을 뽑아내거나 Bevel등의 명령을 적용한 후에 버택스를 정렬해줄 경우에 그리드 스냅을 사용하게 되면 효과적인데 최초의 그리드는 조정작업을 하기에는 간격이 멀리 있는 경우가 많다. &lt;/P&gt;
&lt;P&gt;이 때 [Diplay] - [Grid] 우측 패널아이콘을 클릭하여 Size를 조절해 주자.&lt;/P&gt;
&lt;P&gt;Unit간격을 좁혀 주게 되면 화면내에 그리드가 세밀해지는 것을 확인할 수 있을 것이다.&lt;/P&gt;
&lt;P&gt;이 상태에서 단축키 X를 누룬 상태에서 버택스를 움직여 주면 그리드를 기준하여 버택스가 위치하게 된다. 대부분의 경우 Front View나&lt;/P&gt;
&lt;P&gt;Side뷰에서 정렬을 해주게 될 것이다. 버택스 정렬을 그리드를 통해 해주게 되면 생각보다 작업시간이 효과적으로 진행될 것이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#013add&gt;MADVOLT(&lt;/FONT&gt;&lt;/STRONG&gt;&lt;A href=&quot;http://www.madvolt.com&quot; target=&quot;_blank&quot;&gt;&lt;STRONG&gt;&lt;FONT color=#013add&gt;http://www.madvolt.com&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;FONT color=#013add&gt;)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=마야&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;마야&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=모델링&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;모델링&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>오브젝트 모서리 깍기</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6305921"/>
		<id>tag:blog.daum.net,2009:madvolt.6305921</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-09T05:32:31Z</updated>
	    <published>2008-08-09T05:32:31Z</published>
	    <content type="html">
	    	&lt;P&gt;오브젝트의 모서리 깎는 기초적인 방법.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;너무 기초적인 방법이라 황당할지도 모르지만서도 Chamber로 알고 있던 이 기능은 마야에서는 [Edit Mesh]-[Bevle]에서 지원한다.&lt;/P&gt;
&lt;P&gt;명령을 실행하고 나면 모서리가 깎이게 되지만 패널창을 켜고 수치를 제어해도 뷰포트에서 화면이 바뀌지 않는다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;이 경우 일단 Bevel을 실행하고 나서 Channel Box 에서 PoyBevle - Offset을 클릭한 후 작업창에서 마우스 가운데 버튼(MMB)을 드래그 하고 좌우로 움직이면 베벨값을 뷰포트를 보면서 제어할 수 있게 된다. 만약 세밀하게 적용하고 싶다면 CTRL키를 누른 상태에서 마우스를 움직이게 되면 더욱 미세한 값을 만들 수 있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;또한, 계속해서 반복해서 작업을 진행하고 싶다면 다른 엣지를 선택한 후 단축키 G 를 누르게 되면 다시 베벨값이 적용되게 된다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #ffffff&quot; color=#013add&gt;&lt;STRONG&gt;MADVOLT(&lt;/STRONG&gt;&lt;/FONT&gt;&lt;A href=&quot;http://www.madvolt.com/&quot; target=_blank&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #ffffff&quot; color=#013add&gt;&lt;STRONG&gt;http://www.madvolt.com&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #ffffff&quot; color=#013add&gt;&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=마야&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;마야&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=모델링&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;모델링&lt;/a&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>CG Site Forum</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6304913"/>
		<id>tag:blog.daum.net,2009:madvolt.6304913</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-09T02:19:17Z</updated>
	    <published>2008-08-09T02:19:17Z</published>
	    <content type="html">
	    	&lt;P&gt;- &lt;A href=&quot;http://www.fineart.sk/&quot; target=_blank&gt;http://www.fineart.sk&lt;/A&gt;&amp;nbsp;인체 해부학을 미학적으로 모아놓은 곳&lt;/P&gt;
&lt;P&gt;- &lt;A href=&quot;http://www.highend3d.com/&quot; target=_blank&gt;http://www.highend3d.com&lt;/A&gt; 3D artist 들의 훌륭한 작품과 튜토리얼을 볼 수 있는 사이트&lt;/P&gt;
&lt;P&gt;- &lt;A href=&quot;http://www.debevec.org/HDRShop&quot; target=_blank&gt;http://www.debevec.org/HDRShop&lt;/A&gt; HDRi Software인 HDRShop을 다운로드할 수 있으며 메뉴얼, 튜토리얼, 관련정보를 제공&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>폴리곤 상태에서 버택스끼리 연결하는 방법</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/madvolt/6304855"/>
		<id>tag:blog.daum.net,2009:madvolt.6304855</id>
	    <author>
		    <name>MADVOLT</name>
	    </author>
	    <updated>2008-08-09T02:13:38Z</updated>
	    <published>2008-08-09T02:13:38Z</published>
	    <content type="html">
	    	&lt;P&gt;3ds max폴리곤 옵션중에서 가장 유용하게 사용했던 기능으로 버택스 Target weld를 사용하고 있었다.&lt;/P&gt;
&lt;P&gt;버택스를 클릭한 후 목표 버택스로 붙이는 용도로 애용했기 때문에 단축키로 지정해서 사용했다. 그런데 마야로 모델링을 시작하니&lt;/P&gt;
&lt;P&gt;당연히 있을줄 알았던 이 기능이 없는 것이다;;; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;일단 hiend3d.com 에 들어가서 멜스크립트 targetweld를 다운받았다.&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.highend3d.com/maya/downloads/mel_scripts/polygon/download-2194.html?loc=targetWeld-v0.0-.mel&quot; target=_blank&gt;http://www.highend3d.com/maya/downloads/mel_scripts/polygon/download-2194.html?loc=targetWeld-v0.0-.mel&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;(로그인을 하셔야 다운 받을수 있습니다.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;멜스크립트를 구동시키는 법은 무엇일까?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&quot;멜은 익스프레션과 연동하여 많이 사용되는데 간혹 멜과 익스프레션을 같은 것으로 생각하는 경우가 있다. 하지만 이렇나 오류를 절대로 범해서는 안된다. 멜과 익스프레션 자체가 추구하는 목적은 비슷하다. 하지만 목적 또한 엄밀히 분류하면 익스프레션의 경우 씬 내에 존재하는 시간과 관계된 '개체나 개체 요소들 간의 유기적인 조합(연동작용)'이 목적이고 멜의 경우 '특정한 현상을 발생'시키는 것이므로 엄밀히 말하면 확연한 차이를 나타낸다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 멜과 익스프레션을 간단히 분류하자면 멜은 하나의 '완전한 독립적인 프로그램'이고 익스프레션이라는 것은 '수식으로 이루어진 개체들의 상관관계 표현'이라고 말할 수 잇다. 수식에도 멜과 같은 문법이 포함이 되지만 문법적인 구조가 완전히 포함되는 것이 아니다. 익스프레션에서는 최소한의 문법만이 삽입되므로 확연히 멜과 차이를 보이게 된다.&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 간단히 말해서 &lt;U&gt;멜스크립트는 하나의 프로그램으로써 마야에서 구동을 하게 된다는&lt;/U&gt; 것이다. 익스프레션은 마야씬 내에서 특정 속성들을컨트롤 하는 간단한 스크립트가 정로로 정의내릴 수 있다. 또한 멜은 각 씬을 열때마다 불러들여 활성화 시켜야 한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. 이제 Script Editor에서 마야에서 멜스크립트를 로딩한다. 스크립트 로딩 후에 실행을 해야 되는데, 메뉴 아래쪽의 화살표 아이콘으로 실행해도 되고, Ctrl+Enter키를 이용해서 Excute해도 된다. &lt;/P&gt;
&lt;P&gt;2.&amp;nbsp;마야 작업창 하단의 &lt;STRONG&gt;[MEL]&lt;/STRONG&gt;스크립트 창에 &lt;STRONG&gt;targetWeld&lt;/STRONG&gt; &lt;&lt;를 입력해 준다. &lt;/P&gt;
&lt;P&gt;2. Targetweld시킬 버택스를 선택한다.&lt;/P&gt;
&lt;P&gt;3. 목표 버택스를 선택한다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;이제 버택스를 Merge시킬 필요 없이 하나로 합쳐진 상태로 변하게 될 것이다.&lt;/P&gt;
&lt;P&gt;하지만, 문제가 하나 남아있다. Targetweld를 시킬 경우 매번 이러한 명령어를 입력해야 할 것인가? 아니다. Script를 Shelf에 등록하여&lt;/P&gt;
&lt;P&gt;계속 사용할 수 있다. Shef란 메뉴 아래쪽에 보이는 [General] [Curves] ... [Custom] 패널 창에 보이는 아이콘 창을 말하는데 아무데에나 등록하면 혼란스러울수 있으므로 Cutom 패널에&amp;nbsp;등록한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Shelf패널에서 [Custom]메뉴를 선택한 다음 스크립트 에디터에서 스크립트 실행명령어를 드래그한 상태로 [File]-[Save script to Shelf]를 클릭하게 되면 아이콘으로 변해서 등록될 것이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;예)&amp;nbsp; -- 29행의&lt;/P&gt;
&lt;P&gt;29| - invoke the tool with &quot;&lt;FONT style=&quot;BACKGROUND-COLOR: #0000ff&quot; color=#ffffff&gt;targetWeld&lt;/FONT&gt;&quot; proc (stick it in a shelf&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;&lt; Drag&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;이제 Max에서 사용되는 TargetWeld를 마야에서 스크립트를 이용해서 아이콘을 클릭하면 사용이 가능하게 된다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#013add&gt;&lt;STRONG&gt;Madvolt (&lt;/STRONG&gt;&lt;/FONT&gt;&lt;A href=&quot;http://www.madvolt.com/&quot; target=_blank&gt;&lt;FONT color=#013add&gt;&lt;STRONG&gt;http://www.madvolt.com&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#013add&gt;&lt;STRONG&gt;)&lt;/STRONG&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;br&gt;&lt;br&gt;tag : &lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=마야&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;마야&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;/_blog/tagArticleList.do?BLOGID=0LxjG&amp;amp;tagName=모델링&quot; rel=&quot;tag&quot; target=&quot;_blank&quot;&gt;모델링&lt;/a&gt;
	    </content>
	    	</entry>
      </feed>
