Link:INB Home|INB English| INB русский язык|INB العربية|INB Türkiye|INB فارسی|INB Español|INB Français|INB Português|INB Deutsch|INB 國語|INB 中文|INB 日本语|INB 한국어|INB ภาษาไทย|INB tiếng Việt||자습서 마야Maya 강좌 [마야MAYA]마야 강좌 - 계기판 만들기
INB 한국어 포럼
(산업 및 기본 과학자)에 오신 것을 환영합니다 여기에 산업 시대는 원시 생물 정신 과학자와이 네트워크 공간을 통해 당신과 내가 둘 다 미친 실험실에 온, 투지로 가득하다. 홈 INBforum.com, 영구 이름 :twtmo.forums2u.com
INB 한국어 포럼
(산업 및 기본 과학자)에 오신 것을 환영합니다 여기에 산업 시대는 원시 생물 정신 과학자와이 네트워크 공간을 통해 당신과 내가 둘 다 미친 실험실에 온, 투지로 가득하다. 홈 INBforum.com, 영구 이름 :twtmo.forums2u.com
INB 한국어 포럼

(산업 및 기본 과학자)에 오신 것을 환영합니다 여기에 산업 시대는 원시 생물 정신 과학자와이 네트워크 공간을 통해 당신과 내가 둘 다 미친 실험실에 온, 투지로 가득하다. 홈 INBforum.com, 영구 이름 :twtmo.forums2u.com


You are not connected. Please login or register

《《《《《《《上一页INBforum   Go down

上一页INBforum》》》》》》》이전 주제 보기 다음 주제 보기 Go down  메시지 [페이지 11]

1자습서 마야Maya 강좌 [마야MAYA]마야 강좌 - 계기판 만들기 Empty 자습서 마야Maya 강좌 [마야MAYA]마야 강좌 - 계기판 만들기 Thu May 26, 2011 11:02 pm

Admin


Admin
비행기나 자동차의 내부 모습을 만들때 활용하면 좋겠죠???


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>Ramp와 같이 기본적으로 제공되는 프로시져럴 텍스춰를 사용하면
각 속성을 애니메이션에 활용할 수 있다는 장점이 있다. 여기에 착안하여 이번 시간에는 폴리곤 서피스와 Ramp 텍스춰의 속성을
Expression으로 연결시켜 그림 1과 같이 폴리곤 서피스의 움직임에 반응하는 여러가지 계기판을 만들어보려고 한다. 매핑
되지 않은 모델을 첨부하였으니 독자들도 따라 만들어보기 바란다. 이제 시작하자.
</td></tr>
<tr>

</tr></table>

<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>
1. A 계기판 만들기
</td></tr>
<tr>
</tr></table>

<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>1> ramp 텍스춰를 만든 후 이름을 levelA라고 바꾸고 그림 2와 같이 속성을 조절한다.
Interpolation은 None으로 놓고, 밝은 녹색을 중앙에 오게 했다.
</td></tr>
<tr>

</tr></table>

<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>2> levelA의 좌표 조절자에서 Repeat V를 10으로 준 후, lambert 재질을 하나 만들어 칼라 속성에 levelA를 지정한다. 재질의 이름은 insA로 바꾼다.</td></tr>
<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>3> 그림 4와 같이 계기판이 만들어질 face를 선택한 후 insA를 선택한 face에 지정한다. 폴리곤은 이처럼 면 단위로 매핑이 가능하다. 참고로 uv는 미리 펴 놓았다.</td></tr></table>

<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>4> 다시 ramp 텍스춰를 만들고
Interpolation을 None으로 바꾸고 칼라는 밝은 녹색과 어두운 녹색으로 바꾼다. 한 가지 주의할 것은 밝은 녹색이
가장 아래에 위치해야 한다는 것이다. 이름은 turn_onA로 바꾼다. 어두운 녹색은 중간 아무 곳이든 위치시킨다.

Note>> 색은 작업자의 필요에 따라 바꿀 수 있다. 예제에서는 일반적인 디지탈 계기판의 색을 따라 만들고 있을 뿐이다.
</td></tr>
<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>5> 그림 6과 같이 이제 turn_onA의 outColor 속성을 levelA의 colorGain 속성에 연결시킨다. colorGain 은 연결되는 색의 명도와 색상을 의식한다.</td></tr></table>

<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>6> 지금까지의 Shading Network은 그림 7과
같다. 이제 turn_onA의 어두운 녹색 위치를 바꾸면 levelA가 같은 높이 만큼 밝아지는 것을 확인할 수 있을 것이다.
여기에 재밋는 아이디어를 덧붙일것인데 그것은 turn_onA의 어두운 녹색 위치를 handle 오브젝트의 수직
움직임에(예제에서는 X축) 연결시킨다는 것이다. 그러면 handle 오브젝트의 움직이에 맞춰 A계기판이 같은 높이로 밝아질
것이다.
</td></tr>
<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>7>그림 8에서 보듯이 handle의 움직이는 범위는 X축으로 -4.86 ~ 0 까지이다.

런데 turn_onA의 어두운 녹색 위치(좌표) 값은 0~ 1까지의 값을 갖는다. 이것은 텍스춰의 일반적은 속성이기
때문에(텍스춰 좌표의 최대, 최소값은 0, 1이다) 외워두는 것이 좋다. 간단한 Expression 수식을 사용하여
handle의 X축 움직임 값을 turn_onA의 어두운 녹색 위치 값과 같게 만들어 연결시켜주면 된다.
</td></tr></table>

<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>8> 그림 9와 같이 turn_onA의 어두운 녹색 을
선택한 후 Selected Position위에서 RMB를 눌러 Create New Expression...을 선택한다. 이어
뜨는 Expression 창의 text field에 아래와 같이 입력한 후 하단의 Create 버튼을 누른다.

turn_onA.colorEntryList[2].position = handle.translateX/-4.86;
</td></tr>
<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>9> 이제 handle을 움직이면 그림 10과 같이 turn_onA가 같은 높이로 밝아진다.</td></tr></table>

<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>10> 여기에 약간의 Glow를 곁들인다면 더욱 근사할
것이다. 그림11은 insA 재질에서 Glow Intensity 값을 0.012로 준 것이다. 거의 적용되지 않은것 처럼 보일
것이다. Glow 는 스틸을 렌더링했을 때 멋지게 나오지만 애니메이션을 렌더링한 후 재생해보면 떨리는 현상이 발생한다. 이것은
만만치 않은 골치거리였는데 이 문제를 해결해주는 것이 그림11의 하단과 같이 shaderGlow1의 Auto Exposure를
끄는 것이다. 그런데 Auto Exposure를 끄면 Glow 값이 대폭 증가한다. 때문에 미리 Glow Intensity를
적게 준 것이다. 그림 11의 상단 오른쪽에서 Auto Exposure를 끈 효과를 확인할 수 있다. 왼쪽 보다 훨씬 강해진
Glow 효과를 볼 수 있을 것이다. 그림 12는 insA재질의 최종 Shading Network이다.
</td></tr>
<tr>
</tr></table>
<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>[You must be registered and logged in to see this image.]</td></tr>
<tr>

</tr></table>



<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>
2. B 계기판 만들기
</td></tr>
<tr>
</tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>B계기판 재질은(insB) A계기판에서 약간의 변형만 가미한 것이므로 간단히 언급하고 넘어가기로 한다.</td></tr>
<tr>
</tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>1> 그림 13는 이미 완성된 insB의 Shading Network 이다. A계기판의 재질과(insA) 차이가 있다면 levelB와 turn_onB의 Type이 Circular Ramp라는 것이다.
Expression에 수식을 하나 더 만들어 주었다.
</td></tr>
<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>2> 그럼 왜 Expression에 수식을 추가하였을까?
이유는 간단하다. Expression이 만들어진 turn_onB의 붉은색 경계선 때문이다. turn_onB의 속성 편집창은 그림
14와 같은데 어두운 녹색과 붉은 색이 인접해있다. 그리고 이 두 가지 색의 위치(좌표)속성에 Expression을 만들어 두
색의 위치가 함께 변하도록 하였기 때문이다. 두색의 위치 속성 중 한 곳에서 Expression Text Field에 아래와
같은 수식을 만들었다. colorEntryList[1]은 붉은색을 말하고 colorEntryList[2]는 어두운 녹색을
말한다. 두색의 위치 간격을(붉은 선 두께) 0.05 로주었음을 알 수 있다. 이 값을 바꾸면 붉은선의 두께를 바꿀 수 있다.

turn_onB.colorEntryList[1].position = -handle.translateX/4.86+0.05;
turn_onB.colorEntryList[2].position = -handle.translateX/4.86;
</td></tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>이제 handle 오브젝트를 X축으로 움직이면 B계시판의 turn_onB가 세로 방향 타원형으로 변하게 된다.</td></tr>
<tr>
</tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>
3. C 계기판 만들기
</td></tr>
<tr>
</tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>C계기판 재질(insC) 역시 A, B계기판에서 약간의 변형만을 가미한 것이다.</td></tr>
<tr>
</tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>1> 그림 15는 C계기판의 Shading
Network이다. 일단 눈에 띄는 특별한 점은 layeredTexture를 사용했다는 것이다. layeredTexture를
사용하여 두 텍스춰를 혼합(Blending)시키면 많은 옵션을 사용할 수 있어 원하는 그림을 얻기가 수월하고 다양한 효과를
유도해낼 수 있다. 참고로 이와 비슷하지만 보다 간단한 기능을 가진 텍스춰 혼합법은 Blend Colors 유틸리티를 사용하는
것이다.
</td></tr>
<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>2> turn_onC의 속성 편집창은 그림 16과 같다.
Type이 Radial Ramp인데 원형 회전 계기판에 적당한 타입이다. 그리고 Interpolation이 Exponential
Up인데 이것은 칼라의 중심을 윗 쪽으로 밀어내어 그림에서와 같이 아래로 부드러운 효과를 만든다. 칼라가 3단계인데 3개의
칼라가 하나처럼 움직이도록 할 것이다. 역시 3개 칼라 가운데 하나의 Selected Position 속성에서
Expression 창을 열고 Text Field에 아래와 같이 수식을 입력한 후 Create 버튼을 누른다.

turn_onC.colorEntryList[2].position = -handle.translateX/4.86+0.2;
turn_onC.colorEntryList[1].position = -handle.translateX/4.86 +0.18;
turn_onC.colorEntryList[3].position = -handle.translateX/4.86-0.02;
</td></tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>3> layeredTexture 속성은 그림 17과 같다.
turn_onC 텍스춰가 앞쪽에 있고 Alpha가 0.5이다. Blend Mode는 Over로 놓았다. 작업자의 의도에 따라
순서와 값들은 자유롭게 바뀔 수 있다. 나름데로 변화를 줘가며 실험해보기 바란다.
최종적으로 조절이 끝난 layeredTexture를 insC재질의 Color속성에 연결시킨다.
</td></tr>
<tr>

</tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>이제 handle 오브젝트를 X축으로 움직이면 C계시판의 turn_onC가 회전하게 된다.</td></tr>
<tr>
</tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>
4. D 계기판 만들기
</td></tr>
<tr>
</tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>D계기판 재질은(insD) 지금까지 중에 가장 간단한 방법으로 만들었다. 그리고 handle 오브젝트의 움직임 값이 아니라 시간의 변화에 따라 반응하게 하였다.
</td></tr>
<tr>
<td>1> insD의 Shading Network은 그림18과
같다. 특이한 것은 Expression을 turn_onD 텍스춰에 만들지 않고 텍스춰의 좌표 조절자 속성 중 하나에(Repeat
U) 만들었다는 것이다. 그림 19는 좌표 조절자의 속성을 보여주고 있는데 Repeat U가 붉은 색인 것을 볼 수 있다.
Expression을 만들었기 때문이다. 수식의 내용은 다음과 같다.

turn_onD_place2dTexture3.repeatU = rand(6, 18);


수식은 시간이 흐름에 따라 Repeat U가 6과 18사이에서 랜덤하게 바뀌라는 것이다. 즉, 프리퀀스가 애니메이션이 진행되는
동한 불규칙적으로 바뀌어 그럴듯하게 보이는 것이다. 배경의 수직, 수평 라인들은 이번 예제에서 유일하게 사용된 Grid
텍스춰이다. 물론 Ramp 텍스춰의 Type을 바꿔(UV Ramp) 만들 수도 있지만 학습으로써는 의미가 없을 것 같아 피하였다.
</td></tr></table>


<table bgcolor="#ffffff" border="0" width="543">

<tr>
<td>[You must be registered and logged in to see this image.]</td>
<td>[You must be registered and logged in to see this image.]</td></tr>
<tr>

</tr></table>









이제 몇초에 걸쳐 handle 오브젝트를 위 아래로 움직이는
애니메이션을 만들어보자. 지금까지의 방법은 일종이 힌트들이라고 생각한다. 이외에 새로운 아이디어를 첨가하여 더욱 정교한 여러
계기판을 만들 수 있다. 예를 들자면 조그셔틀 오브젝트와 숫자를 연동 시켜서 시간를 바꾸는 애니메이션 같은 것도 가능할 것이다.
독자의 흥미데로 시도해보기 바란다.

컴퓨터그래픽/컴퓨터학원/엠비씨아카데미/엠비씨아카데미디지털교육원/MBC아카데미/MBC아카데미디지털교육원/마야/MAYA/마야학원/마야전문교육학원/그래픽/컴퓨터그래픽/컴퓨터학원/엠비씨아카데미/엠비씨아카데미디지털교육원/M

[You must be registered and logged in to see this image.]

]

http://kr.inbforum.com

上一页INBforum   Go down

上一页INBforum이전 주제 보기 다음 주제 보기 위로  메시지 [페이지 11]

Permissions in this forum:
답글을 올릴 수 없습니다

Copyright ©2009-2010 LTD Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

IT:SINGLESERVGoogle谷歌翻译TranslateFORUMSOFTLAYERGoogle谷歌广告联盟AdSenseAsia

 

Free forum | ©phpBB | Free forum support | 악용 사례 신고 | Latest discussions