FrontPage Building

Difference between r1.5 and the current

@@ -181,7 +181,7 @@
[[HTML(<div class='clear'></div>)]]

== REDIRECTING MOTION ==
[[Attachment(maya_192_1_.jpg,width=300,align=left)]]
[[Attachment(maya_192_1.jpg,width=300,align=left)]]
이제, 당신은 어디에서나 언제든지 애니메이션의 motion을 전보다 쉽게 redirect 할 수 있다. Redirection motion은 당신이 애니메이션 하는 동안 어떤 point에서든지 character의 path나 orientation을 변경하는 것을 가능케 해준다. 예를 들어, 당신이 path 사이에 animated되어 온 character를 가질 수 있겠지만 지금 당신은 반대방향에 마주하고 이 것이 path의 끝에 도달할 때 한 side로 off인 이 character를 보길 원할지도 모른다. character를 redirectable하게 만들기 위해서, 당신이 원하는 그 것의 motion이 redirected된 character set의 root를 선택하고, 그때 Character, Create Character Set Options에 navigate하라. Create Charcter Set안에 Options menu에서 attributes를 desired로 set하라, 하지만 Redirect Character로 바뀌었는지 확인하라. 당신은 redirect하기 위해 rotation only, the translation only나 both를 선택할 수 있을 것이다. "Apply the rotation과/또는 translation"을 선택한 후에 redirection controls는 현재의 character의 root에 나타난다. 당신이 pivot point가 있길 원하는 곳에 그들을 두고 keyframe을 잡아라. 다음은 Character, Redirect를 selection하는 것에 의해 object를 redirectable하게 만드는 것이다. 이 것은 새로운 rotation과/또는 object의 pivot에 translation redirection controls를 둘 것이다. reposition을 계속하고 당신이 redirected하길 원하는 motion의 point들에 rotation과 translation controls 둘다를 위해서 keyframe들을 잡아라.
[[HTML(<div class='clear'></div>)]]

@@ -189,6 +189,55 @@
당신이 당신의 model들에 hair를 추가하는 빠르고 쉬운 방법을 찾는다면, hair를 위한 새로운 Paint FX brush를 함 해보라. 당신의 paintable한 surfce를 만들고 당신이 언제나 원해왔던 hair의 surface를 painting하는 것을 시작하라. 참 쉽다. 당신은 channel box editor를 통해 hair의 attribute의 매 예상조차 control할 수 있을 것이다. 당신은 얼마나 이 것이 shiny한지, curly한지, 또는 bouncy한지를 control하고 시간의 기간을 넘어 이것의 성장조차 animate할 수 있다. hair를 위한 Paint FX brush는 Window, Paint Effects이내에서 발견될 수 있다. Paint Effects window를 열때, Brush tab을 click하고 Get Brush를 선택하라. 이것은 그로 부터 선택하기 위한 hairstyle들의 다양성을 주면서 hair folder를 선택할 수 있는 그곳으로 부터 Visor window panel을 열 것이다.
[[Attachment(maya_193_1.jpg,width=500)]]

== USING POINTPOSITION TO TRACK OBJECTS TO COMPONENTS ==
[[Attachment(maya_194_1.jpg,width=400)]]
마야에서 하나의 오브젝트에 Point constrain이 가능하다. 하지만 다른 오브젝트 구성요소(예를 들어, CVs나 verteices)에 오브젝트를 point constrain하기 원하다면 우리는 MEL The pointPosition을 이용해서 변환해서 적용해야 한다. 이는 다른 컴포넌트의 변환을 기본으로한 오브젝트의 위치 업데이트를 통해 사용할 수 있다. sphere를 생성하고 버텍스 하나를 선택하고 pointPosition 명령어를 Script Editor창에서 다음처럼 실행한다.
pointPosition;
선택한 CV의 world space position 값이 반환되는 것을 볼 수 있다. 이 방식은 기하학적인 흥미로운 패턴이나 아주 간단한 particle instancing, 여러 프로그램 이름으로 사용할 수 있다. 여기 예를 보자. 폴리곤 구를 생성하고 이름은 “baseFrame", radius=10, Subdivisions Axis = 4, Subdivisions Height = 4로 설정한다. 다음으로 14개의 넙스 구를 생성하고 각각 이름을 "ns0"부터 "ns13"까지 붙인다. 그리고 ”baseFrame" 오브젝트의 버텍스를 선택하고 Windows>Animation Editors>Expression Editor를 열어 아래 내용을 입력한다.
// retrieve the number of vertices in the frame object
int $i, $numVerts[] = `polyEvaluate -v baseFrame`;
float $pos[3] ;
// retrieve the position of each vertex and
// move the corresponding sphere there
for($i=0; $i<$numVerts[0]; $i++)
{
$pos = pointPosition("baseFarme.vtx[" + $i + "]");
move -a $pos[0] $pos[1] $pos[2] ("ns" + $i);
}
반복식은 move 명령어와 pointPosition 명령어를 이용하여 각 버텍스에 구를 이동시킨다. 이 식은 “baseFrame" 오브젝트에 애니메이션을 줄 수 있고 넙스 구는 따라갈 수 있다. 단, 타임라인을 움직였을 때만 따라다닌다. 기준이 되는 구를 움직인다고 해서 실시간으로 반영되지는 않는다.
== CONSTRAIN ONE OBJECT TO ANOTHER USING THE XFORM COMMAND ==
[[Attachment(maya_195_1.jpg,width=400)]]
이전 팁에서는 pointPosition 명령어를 사용하여 오브젝트 구성요소에 constrain하는 방법을 설명했다. 이 팁은 xform 명령어를 사용하여 하나의 오브젝트에 변형된 다른 오브젝트를 맞추는 방법을 설명한다. 이것의 핵심은 point, orient, scale constraint를 한번에 된다는 것이다. 여기 방법이다. nc1이라는 넙스 콘을 생성하고 당신이 좋아하는대로 변형한다. 그리고 nc2라는 넙스 콘을 만들어서 다음 명령어를 적는다.
xform - q -worldSpace -matrix nc1;
이는 world space 기준으로 오브젝트의 수치 정보를 16개의 값으로 반환한 것이다. 즉, 오브젝트의 회전, 사이즈를 변환한 것이다. 당신은 이 값을 가지고 xform를 이용해 다음과 같이 다른 오브젝트에 적용이 가능하다.
xform -m 1.53468 -1.168758 0.0709192 0 2.049844 0.770313 -2.758336 0 0.899852 0.460056 0.797199 0 -13.217321 6.6293 -16.896341 1 nc2;
이를 더 프로그래밍하면 당신은 첫 번째 xform에서 반환된 값을 배열에 저장할 수 있다. 아래처럼:
float $mat[16] = `xform -q -worldSpace -matrix nc1`;
xform -m $mat[0] $mat[1] $mat[2] $mat[3] $mat[4] $mat[5] $mat[6] $mat[7] $mat[8] $mat[9] $mat[10] $mat[11] $mat[12] $mat[13] $mat[14] $mat[15] nc2;
비록 xform 명령어는 단순히 수치를 문서화하는 것이지만 기능은 강력하다. 단적으로, 중간에서 체크하고 어떤 노드의 변환 설정을 맞춘다는 것은 오브젝트를 translate, rotate, scale할 수 있으며 축중심과 변형을 줄일 수 있다.(의역:각 설정들 사이에서 값을 체크 할 수도 있고, 오브젝트 변형작업을 쉽게 할 수 있게 해준다.) 추가적으로, xform을 사용하여 오브젝트에서 bounding box를 얻을 수 있다.(이 부분은 정확한 의미를 모르겠습니다.;)
== Animation Retargeting ==
마야는 하나의 스켈레톤의 조인트부터로 애니메이션 데이타를 다른 스켈레톤에 줄 수 있게 한다. 소스 스켈레톤은 데이터를 받고 싶어하는 것이고, 타켓 스켈레톤은 리타켓이 된 데이터를 주는 것이다. 재 타케팅 애니메이션은 하나의 스켈레톤에서 다른 스켈레톤 비율을 무시하여 옮기는 매우 강력한 툴이다. 먼저, 소스와 타겟 스켈레톤을 평자세에서 설정하여 시작하라. 그 다음으로 소스와 타켓의 이름을 선택한 스켈레톤에 Skeleton->Retargeting->Joint labeling 에서 자동으로 설정하라. 아니면, Attribute editor에서 수동으로 바꾸어도 된다. 그 다음에는 소스가 되는 skeleton을 선택하고 나서 타켓이 되는 skeleton을 눌러라. 그 다음으로, Animation menu에서 skeleton-> Retargeting->Toggle Seleted Labes를 눌러서 애니메이션을 리 타케팅을 해라. Source skeleton에 있는 애니메이션은 타켓 skeleton으로 리 타켓이 된다.
[[Attachment(maya_196_1.jpg,width=500)]]
== History is only skin deep ==
[[Attachment(maya_197_1.jpg,width=300,align=left)]]
smooth bind skin 모텔은 꽤 난잡한 결과를 얻을 수 있다. 특히 그것이 매우 복잡한 모텔일 경우 더욱더 그렇다. 덧붙여 모델링에는 히스토리가 남아있고, 매번 히스토리를 업데이트가 업데이트가 만들어 진다. 6.0에서의 새로운 특성은 Menu-> Skin -> Edit Smooth Skin-> Delete Non-Skin History 이다. 이 옵션을 쓰면, 모델의 smooth bind skin 를 남기면서 히스토리를 지울 수 있다.
[[HTML(<div class='clear'></div>)]]
== Deform Points outside the deformer ==
[[Attachment(maya_197_2.jpg,width=400,align=left)]]
lattice deformer를 쓸때 lattice 안에서만 조절할 수 있었다. Maya 6.0에서는 lattice 옵션 매뉴 안을 선택함으로써 완벽한 포인트를 조절할 수 있게 만들엇다. animation 메뉴에서 Deform ->Create Lattice -> option으로 가서 Outside Lattice deformer의 서로다은 방법으로 선택할 수 있게 new Pull-down menu 메뉴가 추가 되었다.
[[HTML(<div class='clear'></div>)]]
== LATTICE DEFORM YOUR GRAPH EDITOR ==
애니메이터는 CG입무에서 가장큰 컨트롤을 요하는 열중적인 임무를 가진 사람이다. 그들은 끝없는 주문한 활동부 그리고 그들의 성취를 위한 조종 방법을 원한다. 버전 6.0에서는 그래프 에디터에서 새로운 방법으로 그들의 커브를 조종할 수 있다. 가장 흥미로는 것은 lattice deform keys tool 의 확장이다. 무거운 커브에서 로딩하고 키를 잡고 add keys 버튼 후에 lattice deform keys버튼을 더블 클릭해라. 당신은 선택된 키들의 한도가 묶여진 세로줄과 가로줄을 컨트롤 할 수 있다. 왼쪽 마우스 버튼으로 추가되어진 Shift-clicking 포인트들을 클릭하고 오른쪽마우스버튼으로 움직여라. 다음 단계는 완전히 전체적이게 비춰진 커브들의 튜브 랜더는 어쩌지? 흠...
[[Attachment(maya_198_1.jpg,width=500)]]
== COLOR YOUR ANIM CURVES ==
끝없이 모든 마야의 틈과 모퉁이를 개인의 희망에 맞추는 추구에서 버전 6.0 유저들은 이제 그래픽 에디터에서 애니메이션 커브에 색을 적용할 수 있다. 사실 명백한 신경과민 이나 강방관념의 행동 보다도 이 적용은 더 유용하다 예를들면 읽기 쉽고 밀집된 모션 캡쳐 데이터의 필더링이 쉽다. 심지어 더 흥미로운점은 특별한 캐릭터들에 링크된 색이 적용된 커브의 그룹을 첨가할 수 있는 MEL을 사용할 수 있는 능력이다. 이 새로운 컨트롤은 명료하지는 앖다 하지만 커브를 선택함으로 시작할 수 있고 그다음 그래프 에디터에 있는 커브들을 선택할 수 있다. 천천히 내림으로 당신은 Use Curve Color를 찾을 수 있다. 그리고 Color Editoe에 연결할 수 있다. 20개의 컬러가 이용할 수 있고 16,780,000개가 적용될 수 있다.
[[Attachment(maya_199_1.jpg,width=500)]]

----
CategoryBook



1. GETTING ORIENTED WITH YOUR JOINTS

maya_172_1.jpg
[JPG image (356.24 KB)]

조인트의 생성은 뻣뻣한 캐릭터에서 활발한 캐릭터로 변환할 수 있는 당신의 캐릭터를 위해 뼈대를 만드는 방법이다. 조인트를 만들기 위해서 Skeleton, joint Tool로 가라. 당신은 View port안에 당신 캐릭터의 뼈대위치에 Joint Tool을 클릭하여 조인트를 생성하기 시작하고 미들 마우스 버튼을 사용하여 조인트를 당신이 원하는 정확한 지점에 설치해야 한다. 당신은 새로운 뼈대의 부분에 생성할 수 있고, child와 parent를 선택하여 p key를 눌러서 적절한 조인트에 parent 시킬 수 있다. 당신이 당신의 캐릭터의 뼈대를 배치하고 난 후 , 캐릭터 몸의 조인트 타입을 위해 각 조인트의 적절한 orientation은 필수적이다. 예를 들어, 힙 조인트에서, 다리 위쪽의 전체와 주위가 rotate 한다면, 캐릭터 정면에 하나의 축 점들 앞으로 회전축이 oriented 될 것이다. 그리고 다른 점들은 옆으로 될 것이다. 당신은 조인트를 선택하여 local 회전 축을 수정해야 한다. component 모드로 가서, 물음표와 같이 보이는 것을 오른쪽 클릭으로 선택하여 mask를 잡고, Local 회전 축을 선택해라. 당신은 뼈대와 그것들의 회전을 통하여 이 구성을 수정할 수 있다. 당신이 oriented를 완벽하게 하고 난 후, 당신의 모든 조인트를 선택하고 command line에 MEL 명령어를 실행하라. joint -e -zso -ch; 이것은 당신의 모든 scale orientations을 당신의 rotate orients와 함께 조정할 것이다. 만약 당신이 당신의 조인트의 scale을 언제고 조절하기 원한다면 이것은 매우 중요하다. 마지막으로 당신은 gimbal lock을 되도록 피하려고 노력해야 한다. gimbal lock은 Euler 회전의 공통된 현상이다. 두 회전 축이 각각 다른 것들과 완벽하게 세워져 있을때, 당신은 회전 축을 포기해야 하는 것이 원인이다. gimbal lock과의 싸움에서 좋은 시작은 toolbox로부터 Rotate Tool을 더블 클릭하고 gimbal을 선택하여 당신의 회전을 gimbal mode에서 set한다. 다음은 각 조인트를 위해 Attribute를 열고 조인트의 Transform Attribute를 클릭하여 다른 rotate 명령을 주어서 실험한다. 그리고 menu에 drop-down의 선택으로부터 다른 rotate 명령을 한다. 가장 좋은 회전 명령을 얻기위해 적어도 캐릭터의 gimbal lock을 얻어야 한다. 간단하게 조인트가 회전하고, 만약에 90도 회전한 것을 본다면 각각 다른 두개의 축이 세워졌을 것이다. 그러면 새로운 회전 명령을 시도하라.


2. FK, IK, OK?

maya_173_1.jpg
[JPG image (402.76 KB)]

IK, 다른 말로 inverse kinematics라고 알려있다. 실제로 그 소리대로 복잡하진 않다, 사실 어떤 simpler도 실제 하진 않는다. ik 핸들은 당신이 팔 또는 다리를 컨트롤 하는 것을 가능하게 한다. 당신이 붙잡고 움직이게 할 핸들을 생성한다. 당신이 ik 핸들을 생성한 후에, 당신은 손 또는 발 주위를 translate 할 수 있고, 모든 parent 조인트의 회전의 각도로 적절한 위치를 얻을 수 있다. - ik solver을 이용하여 수학적인 계산을 한다. ik는 당신이 손 또는 발을 위아래로 위치시키고 그 주위 뼈대만 움직이고 나머지는 고정시키고자 할 때 훌륭하다예를 들자면, 캐릭터가 땅위에서 푸쉬업을 하는 것처럼 말이다. ik핸들을 생성하기 위해서 skeleton menu로 가고 ik handle tool을 선택한다. 다음에 간단히 parent 조인트(shoulder)를 선택하고 그 하위 조인트(wrist)를 선택하면 ik핸들이 자동으로 만들어질 것이다. ik에서 fk 혼합을 위한 능력은 새로운 solver 부분이 설계되어야 하는데 상당히 유망한 추가가 될 것 같다. ik 에서 fk로의 혼합을 위해서는 attribute의 ik blend가 0에서 1이 되는 간단한 변화가 있어야 한다. 당신은 간단한 선택과 key의 setting에 의하여 뼈대의 FK 모드에서의 움직임을 할 수 있다. 다른 한가지는 실제로 ik 셋업의 중앙 조인트(elbow)를 통한 행위는 안정적인 컨트롤을 할 수 있다는 것이 중요하다. 당신은 항상 ik 핸들상의 twist attribute를 움직일 수 있다. 그러나 종종 당신이 선택하고 움직이는 것에 따라 더 나은 컨트롤을 할 수도 있다. 당신은 locator를 이용하여 중앙 조인트를 위한 컨트롤을 만들어야 한다. 그리고 중앙 조인트 bends 쪽으로 위치잡이를 하고 locator를 선택해서, ik handle, 그리고 pole vecter constrain을 해줘야 한다.


3. SMOOTH SKINNING HOTKEYS FOR PAINTING WEIGHTS

maya_174_1.jpg
[JPG image (426.24 KB)]

당신의 character를 set up하고 rigging한 후엔 deform할 시간이다. Smooth skinning은 더 복잡한binding tool의 선택(skin, Bind Skin, Smooth Bind)보다 더 낫지만 당신의 smooth bound character의 weights를 painting하는 것은 joint names의 끝없는 바다를 헤처나가는 것 같은 것 보다 더 일 수 있다. 하지만, 꼭 그래야만 하는 법이 없다! 여기 의심없이 당신의 weight painting 노력을 빨리 끌어줄 몇가지 quick tips와 Artisan hotkeys가 있다. 먼저, 당신이 geometry의 vertex들을 고르려는 것과 paint weights tool(Skin, Edit Smooth Skin, Paint Skin Weights Tool)에 들어가려고 단순히 vertex 하나하나 마다 weights를 paint하거나 assign할 수 있다는 것을 언제나 기억하라. 당신이 tool안에 있을 때, 당신은 당신이 sigle value로 선택했던 모든 vertex들을 채우기 위해 Flood option을 사용할 수 있다. 그러므로 당신은 Componet Editor을 여는 것과 그 길고 지긋지긋한 vertex들의 list를 정렬하는 것과 그때 손으로 직접 숫자들을 typing하는 토나오는 예전 방법 없이 이 방법으로 각 vertex들을 weight할 수 있다. 두번째로, weight painting process를 streamlining하면서 엄청난 시간을 절약하는 painting을 위한 이미 defined된 Artisan hotkeys의 굉장한 set이 있다. 여기 정말로 도움되는 것들이 있다 : 1. joint 위에 오른쪽 마우스 클릭을 하고 그 joint를 위한 weights를 paint하기 위해 Paint Weights를 선택하라. joint names의 혼란스러운 끝없는 list에 더이상의 scrooling없이 말이다! 2. "U"키를 누르고 당신의 painting mode를 선택하기 위해 왼쪽 마우스 클릭을 하라. 3. "N"키를 누르고 마우스 왼쪽 클릭을 하고 당신의 painting value(0에서 1사이)를 바꾸기 위한 virual slider을 활성화 시키기 위해 drag하라. 4. "B"키를 누르고 마우스 클릭을 하고 brush size를 변화 시키기 위해 drag를 하라. 당신이 vertex 하나하나에 weights를 painting을 한 후 이 별로 알려지지 않은 마야의 기본 hotkey들을 사용하면서 당신의 weights를 painting의 쉬움과 속도는 빠르게 증가할 것이다.


4. PLEASE CONSTRAIN YOURSELF

maya_175_1.jpg
[JPG image (118.41 KB)]

Constraints은 가장 흔하게 사용되는 rigging tools중 하나일 것이다. 두번째는 Joints와 IK밖에 없을 것이다. constraint weights의 각각 하나를 기본으로 해서 각 object위에 같은 type(point, orient, 등등)의 각각의 constraint가 그 type의 다른 constraints의 평균을 얻는 것 의미하기 때문에,Constraints하려는 object를 조정하는 능수능란한 방법중 하나는 constraints가 weighted되어 있는 상황에 유리하다는 것이다. constraint weight가 0이면, 그 constraint는 0 influence나 control를 가진다. constraint weight가 하나라면, 이 것은 동등하게 모든 다른 constraints와 평균한 값을 얻는다. 당신은 2개의 constraints를 가지고 1에서 0까지 weight attributes중 하나와 동시에 0에서 1까지 다른 weight attribute를 간단하게 animating하는 것에 의해 한 object에서 다른 object로 blending effect를 쉽게 성취할 수 있다. IK setup, special dynamics setup 안에, 그리고 아마도 motion caputer setup안에서와 같은 다양한 skeletal setups사이에 blending과 같은 이러한 테크닉을 위한 많은 방법들이 있다. Constraint weights를 blending하는 것을 위한 다른 굉장한 방법은 objects를 고르고 character의 손이나 몸에 그들을 attach하는 것이다. Constraints는 언제나 그들이 세게 공간안에 있는 것처럼 작동한다. 그말은 즉슨 당신이 parent transform에 의해 control되어지는 node를 가져본적이 있다면 constraint는 parent를 앞서 인계받을 것이라는 것이란 말이다. Point와 orient constraints는 또한 비교적으로 Offset이라 불리는 새로운 attribute를 가진다. constraint의 offste attribue를 사용함으로써 당신은 당신이 원하는 어느 위치에 constraint를 offset하게 해주는 추가 방법으로 constraint 위에 추가적인 motion을 layer할 수 있다. 그러니까. 다양한 constraint weights는 다 쓸만한 방법이다. 당신이 언제든지 한 transform space로 부터 다른 transform space로 blend하길 필요로 할때, 경악하지 마라, constrain!


5. Not your GrandFather's utility nodes

maya_176_1.jpg
[JPG image (66.89 KB)]

캐릭터 리깅할 동안 , 간단한 연산을 리깅에 적용하고 싶을 때가 있을 것이다. 일반적으로 Expressin Edior를 열고, 두가지 값을 곱하거나 더하고, 다른 값으로 나눌려고 할 것이다. 이것은 정형화된 방법이지만, 적용하기 힘들때가 종종있다. 이 중 하나가, Expression안에 삽입된 어려운 코드들은 노드가 새롭게 이름이 붙여지면 엉키게 된다. 두번째로, 공간안에서 계산되기 때문에 어떻게 계산하느냐에 따라 느릴수 있다.그럼 어떤 것이 좋은 해결법인가? Utility nodes를 사용하라. 이 렌더링만을 위한 더해진 긍정적인 이유를 위한 같은 노드들은 매우 편리하게 셋업 아티스트들에게 다가 올 수 있다. Window ->Rendering Editors-> Multilister로 가라. Multilister가 열리면 Edit ->Create를 눌러라. Create Render node가 열리면 창 메뉴중에 가장 오른쪽에 있는 Utilities를 눌러라. 이 텝아래에 잇는 것은 캐릭턱 셋업을 위한 좋은 장치들이다. 단순히 시작할때, PlusMinusAverage node, MultiplyDivide node 그리고 VectorProduct node 들은 백터연산에 모든 것을 즉시 계산해 줄 것이다. Condition node, reverse node 그리고 clamp node는 또한 큰 값을 분류할때 굉장히 편리하다.


6. Squash And Stretch Expresstions

maya_177_1.jpg
[JPG image (45.68 KB)]

여기 예제에서는 타원형의 값을 유지하기 위한 기능을 사용할 것이다. 빠른 쓰기와 효율적인 수학연산 표현의 첫번째 룰 중 하나는 당신은 절대로 Expression를 통한 리깅안에 데이터를 묶을려는 Mel Procedures를 바로 계산할려고 하지 않을 것이다. Attribute values에 바로 여러 값들을 넣는 것보다 괜찮을 방법을 써 보아라. 이 것을 하는 것은 Expression node에게 활동적으로 들어오는 속성연결에서 expression에서 쓰이는 값들을 쓸려는 노드을 만든다. 예를 들면,다음과 같은 표현을 써라.

$value = nurbsSphere1.scaleX;

이것은 expression node 자신을 구의 scaleX 설정창에 인풋 설정(.input0)을 바로 연결한다. expression node는 방어데이터사이에 직통 설정 연결을 함으로서 데이터의 트랙을 유지하고, expression 안에서 연산을 아웃풋 하기위해서 많은 연산을 할 필요가 없기때문에 이것은 계획된 동작이다. expression 안에서 getAttr를 부르려고 노력하지마라.(그렇지않으면 잠재적 문제에 봉착하게 될 것이다. 만약에 이름을 바꾸면 expression을 부수어 버리고 쓰레기 값을 만들어 버릴 것이다. ) 물론 expression 안에서 무거운 MEL을 쓰기위한 여러 완벽하면서 유효한 시간이 있다,그러나 attribute assignment가 유효할려면, 필요하지 않는 이상 getAttr를 쓰지마라. 여기에 간단한 공식을 연산 표현으로 합치는 예가있다. 유효한 타입의 정의와 그와 연관된 즉각적인 attribute assignment와 같은 expression과 MEL의 차이점을 항상 상기시켜라. 또한 square root function에서 다양한 이름의 직접적인 사용을 알고 있어라. : 이것은 expression은 설정값을 내부적으로 attribute name을 바로 사용함으로써 빠르게 사용할 수 있다. 그러므로 이것을 사용하기 위해 노력하라:

Sphere ;
$P1 -3.14159265358979323846264;
$Squash = sqrt (($PI*3*4)*(4*$PI/3)) /(4*$PI*nurbsSphere1.scaleY) ;
nurbsSphere1.scaleX= $squash;
nurbsSphere1.scaleY= $squash;

다을으로 scaleY를 이용하여 Y축으로 구의 비율을 조절해보시오. 이 표현은 잘 쓰면 리깅하는데 상당히 파워풀 하다.


7. SCIPTING YOUR SETUP

maya_178_1.jpg
[JPG image (33.24 KB)]

MEL스크립팅은 다양한 방법에서 유용하다. MEL사용에 실제로 가장좋은 방법의 하나는 캐릭터 셋업과정 자동화한 MEL스크립트를 생성하는 것이다. 이 말을 캐릭터 셋업 과정중 하나의 목적으로 써진 다른 멜 스크립트와 마찬가지로 built-in MEL funtions 이라 부르는 대량의 스타일 스크립트를 생성하는 것이다. 자동적인 스크립트 셋업을 만드는 것의 장점은 두가지가 있다. 첫번째 리깅의 과정이 때때로 복잡하고 혼란스울 수 있다. 그러나 만약 스크립트가 셋업이 되어있다면 당신은 다른 케이스에서 다시 사용가능하거나 뒤로 다시가서 활용할 수 있는 스크립트를 가질 수 있다. 두번째 캐릭터 셋업 스크립팅은 결합구조나 심지어 나중에 셋업이 바뀐 조인트 같은 경우에서도 셋업이 가능하고 자동 스크립트 셋업은 여전히 작동할 것이다. 이 의미는 캐릭터가 과도하게 변했을 때 셋업은 바뀔필요가 없다는 것이다. 이로써 특히 캐릭터가 다시디자인 할 위험을 가질 때 리깅도 다시 디자인 될 때 많은 시간을 아낄 수 있다. 가장 간단한 스크립트 생성의 예는 조인트를 셋팅하는 것이다. 그리고 조인트에 IK 스핀을 추가하고 그리고 각각의 spline IK curve 에 각각 CV를 위해 크러스터를 생성하는 것이다.


8. BULGING BICEPS WITH SCULPT DEFORMERS

maya_179_1.jpg
[JPG image (59.83 KB)]

Sculpt deformers 는 안정하면서 빠르고 다이나믹한 레이어를 형성할 수 있기에 마야에서 가장 근사한 nonlinear deformers이다. Sculpt deformers는 레이어드되고 스킨된 캐릭터에 가장 유용하고 선형 구조의 부분에 유용한 부분으로 첫번째 형성된 결합구조의 윗 부분에서 레이어드된 선형 구조에 유용하다. 그 이유는 sculpt deformers가 표면의 구조를 가로질러 우습게 생긴 타원형의 불룩한 변형을 생성할 수 있기 때문이다. 하지만 그것들은 당신이 skincluster 범위내에서 joint를 mesh에 위치시키는 간단한 변형을 절대로 가능케 하지 않을 것 이다. 대신에 당신은 sculpt object를 적절한 사이즈로 크기를 조절하거나, 지리적 구조 바로 밑에 있는 object의 외관을 생성하는 driven key 혹은 expresiion 설정을 이용한 모든 종류의 불룩한 효과를 생성하는 등 조인트의 변형하에서 sculpt deformer object를 조작할 수 있다. 완벽한 변형을 가능하게 할 정도로 충분한 해상도를 지닌 폴리곤 실린더를 생성하라. 실린더를 선택하고 deform 메뉴로 간다음 sculpt deformer를 생성하라. 자, 당신은 실린더에 매우 큰 불룩한 부분이 생긴 것을 볼 수 있다. 3d view에서 하이퍼 그래프의 노드를 보라. 당신은 구 형태의 sculpt object볼 것이다. 그리고 구의 중심에서 바로 오른쪽에 locator도 생성될 것이다. 양쪽 둘다를 선택하고 당신의object에서 불룩한 부분이 보기 좋게 될 때까지 사이즈를 조절하라. 자. sculpt node의 channel box에서 어트리뷰트를 조절하라. maximum displacement 는 바깥쪽까지 뻗어진 불룩하게 되는 원인이고, dropoff distance는 sculpt objcet의 원본과 타원형으로 뻗어진 border 사이에서 좀 더 큰 gradient를 생성하는 원인이 된다. 생성된 locator는 비록 약간 차감계산하였을 때 약간 더 좋은 angular sliding을 생성하기는 하지만 sculpt object의 정확한 중심에 위치하며 sculpt sphere의 하부요소로써 완벽하게 유지된다. 그러므로 이것은 단지 일반적인 방법이며 이것은 곧 정확한 효과 생성을 깨버리는 걸 의미한다. 또한 NURBS geometry는 좀 더 큰 가능성을 지닌 sculpt deformer로써 사용될 수 있음을 기억하라.


9. blendshape facials

maya_180_1.jpg
[JPG image (153.48 KB)]

facial animation에 쓰이는 blendshapes 을 세팅하는 것은 하나의 과정이다. 이 과정은 조작 가능한 facial target을 얻기 위한 사려깊은 계획이 요구된다. facial target으로 blend shape을 만드는 세팅을 할 때 모양들이 어떤 레이어를 이루어야 할지 생각해보아라.blend shape의 중심은 매우 간단하다, 전부 일직선 혹은 더해지는 방정식이다. 각각의 버텍스 위치를 혼합하고 처음에는 상충되는 것을 계산하여 본래의 위치에서 뺀다. 그 다음 움직임을 의미하는 weight offset의 값을 증가시킨다.그리고 현재 bledshape과 연결되어 있는 다른 모델들로부터 weighted offset의 모든 값을 더한다.이것이 점에서 점으로부터의 직선을 초래할지라도 그것은 굉장히 호감가는 결과를 야기한다. 이것을 염두해두고 모양을 생각해보고 blendshape을 정할 때 레이어를 어떻게 둘건지 생각해본다. 여기에 얼굴 모양을 모델링을 시작할 때 좋은 목록이 있다.각각의 모델들은 그 모양 자체나 부분에 영향을 미치는 것에 의존해서 각각 왼쪽, 오른쪽, 위 ,아래로 쪼개질 수 있다. 각각의 모양을 모델링 하면서 서로 어떻게 작용하는지,어느 부분이 중요한 부분인지 테스트 하는 것은 중요하다. 마지막으로 이미 변형된 모델에 blendshape을 더할 때 Blendshape Option window에 있는 Deformation Order 옵션을 사용하도록 해라.


10. wrap deformers

maya_181_1.jpg
[JPG image (132.04 KB)]

wrap deformers의 목적은 낮은 해상도의 mesh를 높은 해상도의 mesh로 옮기는 것이다. 이 방법으로 많은 일들을 실제의 weight 영향 없이 더 빨리, skinning, weighting, 마지막 높은 해상도의 geometry로 업데이트 하는 등의 일들을 할 수 있다. wrap deformer의 한가지 단점은 특히 처음의 합치는 계산에서 느리게 할 수 있다. 처음, subdivision Axis를 20, height을 10으로 설정하고 폴리곤 실린더를 만든다. 다음 Axis를 8, height를 3으로 낮은 해상도의 실린더를 만든다. 이제 history를 지우고 모든 변형속성을 고정시킨다. 다음, skeleton, joint tool를 사용해서 실린더의 밑에 lower joint를 놓는다. center joint를 실린더의 center에 두고 top joint는 top에다 둔다. 마지막으로 낮은 해상도의 실린더를 smooth skinning을 사용해서 joint로 묶는다. 그리고 묶을 때 높은 해상도의 mesh는 선택하지 않도록 조심한다. 아무것도 선택하지 않은 상태에서 높은 해상도의 mesh를 먼저 선택하고 두번째로 낮은 해상도의 mesh를 선택하고 create wrap을 실행한다. 그러면 하나의 낮은 해상도의 mesh의 joint를 회전시킴으로서 높은 해상도의 mesh를 조작할 수 있는 wrap deformer 가 생긴다. 마지막으로 어떠한 속성을 바꿈으로써 하나의 수행을 할 수 있다. 예를 들어 weight threshold 속성을 하나의 방법으로 정할 수 있다.이것은 높은 해상도의 모델을 부드럽고 둥글지게 만들 수 있다. 그리고 적절한 낮은 해상도의 edgef를 묶고, 그러나 이것은 wrap deformer 스스로의 수행을 증가시킬 수 있다. 또는 Max Distance를 바꿔서 wrap deformer 노드가 생성될 때 낮은 해상도의 물체와 높은 해상도의 물체가 얼마나 떨어져 있는 가를 결정하기 위해서 사용된다. 이러한 속성들을 최소한으로 바꾸는 것은 wrap deformer 의 수행을 증가시킬 수 있다.


11. FLOWING DOWN THE PATH

maya_182_1.jpg
[JPG image (281.73 KB)]

일반적인 애니메이션 테크닉은 움직임 변환의 동작선에 오브젝트를 set 하는 것이다. 일반적이지 않은 이 테크닉의 변화는 Flow Paths를 사용하는데, lattice는 오브젝트와 같이 따라서 변하는 멋진 트릭이지만, 그의 선을 따르는 점들의 각각의 set의 기본 축, 이렇게 볼품없는 각각의 길과 세력이 주인오브젝트이다. 이것은 물고기가 수영하는데 의심할 여지 없이 쓸모있지만 무언가 애니메이션 테크닉을 억누르는데 적용될수 있다. NURBS 스페어를 만들고 z의 크기를 2로 만들어라. sphere 위치에 약간의 날카로운 코너가 시작되는 곳에 CV커브를 그려라. 가느다란 쪽과 y축으로 sphere를 회전시켜 한줄로 커브에 정령시켜라. 다음으로, sphere를 선택하고 Shift-click으로 커브를 선택해라. Animate > Motion Paths > Attach to Motion Path 옵션을 선택해라. Follow에 체크, Front Axis의 방향을 x로, 그리고 Attach 해라. 적당한 애니메이션 길을 검사 실행해라. 이제 sphere를 선택하고 그때 커브를 다시, 그리고 Animate>Motion Paths>Flow Path Obect 옵션을 다시 열어라. 골라라 10 Front Divisions와 Flow를 눌러라. 이제 sphere는 커브의 윤곽을 따를것이다.


12. CYCLE THOSE CURVES

maya_183_1.jpg
[JPG image (193.8 KB)]

Graph Editor의 curve들은 오브젝트의 애니메이션 확립을 조작한다. 과다한 키 세팅을 줄이는 하나의 길은 Graph Editor의 cycle options을 사용해 말아 넣는것이다. 커브의 약간의 기본 키를 만들고 Graph Editor > Curves > Post Infinity > Cycle을 선택해라. 커브는 무한반복 될것이지만, Graph Editor > View > Infinity를 선택해라. 이제 마지막 접선이 무한으로 발사 될 때 시간의 속도확립에 권능을 부여하는 두개의 키 Linear같은 다른 옵션을 시도해라. Cycle 옵션과 Offset은 순환할것이지만 마지막의 정상 다음에 확대효과를 만들어 쌓아올린다.


13. FREE THEN BREAK YOUR TANGENTS

maya_183_2.jpg
[JPG image (156.33 KB)]

Graph Editor의 간단한 키 조종의 좋은 결과 얻기는 종종 좋은 선을 할수 있지만, 당신의 동작에 미묘한 조작을 진짜로 준다, 가득한 이용할수 있는 접선툴의 배열을 사용하다. 약간의 키를 만들 때, 커브를 선택하고 Graph Editor > Curves > Weighted Tangents로 가라. 이것은 평소대로 단순한 접선 핸들의 더욱 정확한 조작을 해 줄 것이다. 다음으로, 키를 선택하고 Keys > Free Tangent Weight로 가면 Keys > Break Tangents만큼 좋다. 이제 각각의 접선 핸들은 실례 꾸러미 안의 Bezier curve 지배하에 있다. 한가지가 아닌 이 방법은 직관적이지만, 이 또한 기본 방법으론 할수 없는 매우 미묘하거나 극적인 커브들 만드는 걸 할 수 있다.


14. FLAP YOUR WINGS WITH EXPRESSION

maya_184_1.jpg
[JPG image (108.53 KB)]

maya_184_2.jpg
[JPG image (90.62 KB)]

만약 당신이 새로운 방식을 사용할 경우, 여기에 새가 날개를 퍼덕거리는 것을 사용할 때
거기에 대한 괜찮은 소개와 근거가 있습니다. 예를 들어, 우리는 간단한 구를 사용할
것이지만, 모델링을 위해 도움이 되는 ‘Audubon Society’ 챕터에서 도움을 받는 것에
대해서는 자유롭게 선택하시기 바랍니다. 세가지 종류의 구를 만드는 것으로 시작하며,
하나는 대강 몸을 위한 것이고 두 개는 날개를 위해 필 것입니다. 날개의 주축을 몸의
안쪽에 먼저 위치시키십시오. 오른쪽날개와 왼쪽날개를 몸 하위에 페런트 시키시고
이름을 ‘Boid’ 라고 지으십시오. 다음 윈도우창에 ‘Expression Editor’과 ‘Animation Editors’를
여십시오. Expression Name을 wing_flapping라고 부르고 이것을 메인 expression field에
삽입시키십시오.
right_wing . rotateZ=sin(time*10)*10;
left _wing . rotateZ=sin(time*10)*10;
첫 번째 10이라는 값은 초당 퍼덕이는 속도이고 다른 10은 회전각의 양입니다. 이것은
당신이 선호하는 것으로 맞게 바꾸십시오. 여기에 더 쉬운 컨트롤과 속도의 가능한
키프레임을 제공하는 특성을 추가하기 위해서는, 몸 노드를 선택하고 Attribute Editor를
선택하십시오. 그리고 Attribute를 선택하여 추가하십시오. Attribute Name은 flap_speed라고
부르고 최소값을 0으로 설정하십시오. 그리고 최대값은 40까지 이며, 그렇게 되면 10까지는
실행이 되지 않게 됩니다. 지금 이것을 그 방식에 바로 적용시켜 보십시오.
Right_wing . rotateZ=sin(time * Boid . flap_speed) * 10;
Ieft_wing . rotateZ=sin(time * Boid . flap_speed) * 10;
Boid 's Attribute Editor안에 새로운 슬라이더를 사용하고, 키 또는 다른 방식을 위한 다른
연결을 만들 특성을 추가하십시오.


15. GRAPH EDITOR EXPRESSIONS

maya_185_1.jpg
[JPG image (145.05 KB)]

Graph Editor는 주로 키프레임을 엑세스하는데 제공되어지지만, 방식의 간단한 보기를
제공하지는 않으며, 필요한 경우 우용한 정보를 줄 수 있습니다. 이전의 팁에서 만들어진
Boid 노드를 선택하고 Graph Editor를 엽니다. View를 선택하고, 결과를 봅니다.
Graph Editor Outliner에서 단계를 열고 왼쪽 또는 오른쪽 날개의 RotateZ를 선택합니다.
Sine 곡선이 나타나게 되지만, Bake Channel의 Curves 없이는 편집이 되는 않는 것을
유의하셔야 됩니다. 또한 Graph Editor에 복잡한 식이 표시되는 것을 유의하셔야 되고,
그래서 Show Results options에서는 이 문제를 처리하기 위한 다른 셈플링률을 제공하게
됩니다.


16. FINDING THOSE RECLUSIVE LOCAL AXES

maya_185_2.jpg
[JPG image (119.62 KB)]

여기에 많이들 빠트리고 있는 구석의 숨겨진 기능들이 있습니다. 때때로, 애니메이션을
목적으로 하지 않은 다른 방향으로 로컬 축을 지정하게 됩니다. 이것을 위한 명령은 없으며,
여기 그것에 대한 방법이 있습니다 : 질문에서 개체를 선택하고 Component mode
selection menu로 이동합니다. 오브젝트의 로컬 축 디스플레이의 질문 마크를 오른쪽
클릭합니다. 선택할 때는, 표준 회전 명령을 통해서 회전이 가능합니다. 여기에 허용되는
로컬 피벗을 변경해야 하기 때문에(인서트 키의 사용) 로컬 축의 이동은 여기에서
사용할 수 없는 것을 참고하시기 바랍니다.


17. PROMPTING MULTIPLE KEYFRAMES

maya_186_1.jpg
[JPG image (84.88 KB)]

maya_186_2.jpg
[JPG image (41.34 KB)]

신속하게 여러 키를 한번에 설정할 수 있는 방법이 있다. Animate -> Set Key Option 에서 Set Key At Prompt를 체크하고 Set Key 버튼을 누르면, 작은 메뉴창이 뜨면서 키를 설정할 프레임들을 넣을 수 있는 텍스트 바가 생긴다. 어트리뷰트상의 수치들 중 일부만 키를 주려면 키를 주려는 속성을 선택한 상태에서, Set Keys on Current Manipulator Handle를 체크하면 된다.


18. BREAKDOWN YOUR KEYS

maya_186_3.jpg
[JPG image (194.12 KB)]

Graph Editor의 Breakdown key기능은 많이들 놓치고 있는 기능 중 하나이다. Breakdown key는 키값이 인접한 키의 변화에 따라 영향을 받아서 키값을 손쉽게 수정시켜주는 기능이다. 여러 키를 가지고 있는 커브에서, 인접한 키를 가지고 있는 키를 몇개 선택한후 Key -> Convert to Breakdown 을 선택한다. 인접한 키값을 이동시켜서 적당한 위치값으로 이동시킨뒤에 Breakdown된 키를 다시 Convert to Keys 로 변화 시켜준다.


19. DRIVING MISS DRIVEN KEY

마야는 다른 패키지에는 없는 몇가지 기능을 숨기고 있다. 그중 하나가 바로 expression에 기초한 Set Driven Key이다. Set Driven Key는 애니메이션되는 어트리뷰트값을 다른 어트리뷰트값과 간단하게 연결 시키는 것이다. 구하나와 긴박스형태의 오브젝트를 만들자. 구가 박스의 위로 가게 한후 구를 선택한다. Animate -> Set Driven Key 의 옵션을 선택하자. 구가 선택되어 있도록 한후 Load Driver를 누르고 박스를 선택한후 Load Driven버튼을 누른다. 구에서는 Translate Y, 박스에서는 Rotate Y를 선택한다. Key를 누른후 구의 Y값을 늘리고 박스의 rotate Y값을 변화시킨후 Key버튼을 다시 누른다. 구의 높이를 변화시키면 박스가 재빠르게 돌아가는 것을 볼 수 있다. 결과로 생기는 curve는 박스의 Graph Editor에서 확인 할 수 있다. Set Driven Key의 장점은 무엇보다 여러 속성값들을 연결해서 복잡한관계를 단순하게 만들수 있다는 것이다.
maya_187_1.jpg
[JPG image (421.55 KB)]


20. Texture map your animation

maya_188_1.jpg
[JPG image (111.08 KB)]

이 팁은 오브젝트의 애니메이션 채널에 랜덤한 기능의 2D 텍스쳐를 만드는 데 매우 좋다. 구를 만들고 속성 에디터를 연다. 그러면 채널 박스 속성 필드로 접근할 수 없는 속성을 조절할 수 있다. Y축 위치 채널 필드에 오른쪽 클릭을 하고 새로운 텍스쳐 만들기를 누른다. 2D 프랙탈 텍스쳐를 고르고 프랙탈 속성에서 애니메이티드 체크 박스를 온으로 한다. 시간표에서 플레이를 해 보면 아직 모션이 만들어 지지 않아서 시간 필드에 키프레임을 넣던가, =시간/25 같은 간단한 표현을 필드에 직접 넣을 필요가 있다. 이렇게 입력을 하면, 불규칙한 모습을 볼 수 있다. 이제 smoothness의 비율이나 Alpha Gain이나 Intensity의 Offset 수치를 조절해 수정해 보자. 2D 노이즈 텍스쳐에 Space-Time에 보면 perlin, Billow, Wave 혹은 Intriguingly 같은 비슷하지만 다른 재미있는 옵션이 있다.


21. Time slider tricks

maya_188_2.jpg
[JPG image (80.77 KB)]

마야에서 키를 지정하는 것은 보통 속성 필드에서 오른쪽 버튼을 눌러 Set Key를 누르던가 단축키를 눌러 만들 수 있는데 "S"같은 경우 키를 만들 수 있는 모든 필드에 키를 만들고, Shift-W는 위치만을, Shift-E는 회전만을, Shift-R은 스케일만 키를 만든다. 하지만 수많은 아티스트들은 타임라인 자체에서 키프레임을 잡는데 유용한 수많은 기능을 제공하는 것을 종종 까먹는다. 시간축의 빨간 키 인디케이터에 쉬프트 클릭을 하면, 두 화살표가 생겨나 타임라인 안에서 이동을 할 수 있고, 그래프 에디터에 트립을 저장할 수 있다. 그리고 키의 모음에 쉬프트 클릭을 하고 바깥 엣지에 새로운 화살표가 추가되어서 모음에 있는 것의 크기를 조절할 수 있고, 안쪽 화살표는 모든것의 위치를 이동할 수 있다. 마지막으로, 슬라이더를 지우고 싶은 빨간 마커나 키프레임으로 이동하고 오른쪽 버튼을 누르면 삭제를 포함하는 수많은 유용하지만 숨겨져 있던 팝업 메뉴가 뜨게 될 것이다. 이는 시간 잡아먹는 로컬 그래프 에디터 수정 시간을 줄일 수 있다.


22. Recording your mouse

maya_189_1.jpg
[JPG image (155.4 KB)]

마야에는 잘 밀어넣어진 숨겨진 보석이 있다. 이것은 마우스의 움직임을 이용해 애니메이션 커브를 만들어 손으로 들고 찍은 느낌을 주거나 오브젝트에 불규칙한 모션을 주던가 속성을 불규칙하게 만들 때 유용하게 쓸 수 있다. MEL의 안쪽 깊은곳에 레코드 노드라는 노드가 있는데 이를 사용하여 위의 트릭을 가능하게 할 수 있다. 이 노드는 기본적으로 마우스의 액션을 기록해 키프레임화 된 커드로 만들어 이 커브를 이어 다른 노드의 속성으로 쓸 수 있다. 데이터를 캡쳐한 후 레코드 노드는 삭제될 수 있다. 이 MEL을 설정하여 사용하려면 다음과 같이 입력하면 된다:

sphere;
createNode record;
connectAttr nurbsSphere1.ty record1.input;

이제 레코드 프로세스에서 너무 시간이 벌어지지 않게 하기 위해 애니메이션 예제의 재생 속도를 15프레임으로 설정하자. 캡쳐는 다음 커맨드로 시작된다:

play -record;

이제 마우스를 불규칙하게 움직여서 구의 y축 위치를 이동시켜 보자. 몇초 뒤, esc키를 눌러 레코딩을 종료하고 결과 커브를 그래프 에디터에서 보자. 다른 속성도 동시에 연결할 수 있고 커브를 저장하여 잘라붙이기도 할 수 있다. 이것은 위치 조절만이 아닌 다른 수 많은 속성에도 쓰일 수 있다는 것을 마음에 기억해 두어야 한다.


23. PREFIX YOUR JOINTS

이것은 실제로 차이점을 만들 수 있는 팁중의 하나이고, 특히 복잡한 캐릭터 모델을 위한 복잡한 bone/joint 시스템을 만들 때 쓰인다. Modify, Prefix Hierarchy Names 하에 있는prefix tool을 찾는다. 선택된 오브젝트는 당신의 선택에 따라 prefix name으로 추가할 것이고, 모든 children nodes들은 hierarchical chain에 따라 아래로 옮겨 질 것이다. 이에 대한 좋은 예로, 만약 당신이 이미 joint/bone을 이미 생성했고, joint1, joint2, joint3등등의 default한 이름에서, Left-leg_joint1, Left-leg_joint2, Right-leg_joint1, Right-leg_joint2 등과 같이 당신이 원하는 이름으로 바꿀 수 있다. 당신이 animate를 할 때, 이것은 당신에게 기쁨을 줄 것이다.
maya_190_1.jpg
[JPG image (487.79 KB)]


24. MAKE IT LIVE

maya_191_1.jpg
[JPG image (341.12 KB)]

이 숨겨진 보석은 새로운 geometry에서 오래된 윤곽선을 이용하여, 이미 존재하는 모델로 하나의 필요한 것을 만들때 훌륭하다. Make Live와 함께, 3D drawing 평면상에서 움직이도록 만들어진 geometry 견본에 의한 역설계 모델은 매우 쉽다. curve가 그려졌을때, 만약 자력이 발생했다면, 그들은 Make Live surface에 사실적으로 달라붙는다. 심지어 curve가 아래로 끌어 당겨지면 surface를 위한 윤곽선이 여전히 존재하는 동안에 그 points를 조종할 수 있다. Make it Live는 Modify의 menu table의 Make Live를 통하여 접근할 수 있다. 오브젝트를 live에서 벗어나게 만들려면, Modify의 menu tab에서 Make Not Live로 한다. 이것은 polys에 비해 Nurbs상에서 더 좋은 결과를 얻을 수 있다는 것을 명심해라.


25. PLAYBLAST SELECTED FRAMES

maya_191_2.jpg
[JPG image (116.72 KB)]

playblast는 마야에서 항상 가치있는 tool로 쓰이는데, 특히 애니메이터를 위한 것이다. 다른 viewport를 통해서 real time play를 할 수 없는 애니메이션이나 large scene을 play back 할 수 있는 능력을 가지고 있다는 것이 결정적이다. Playblast는 선택된 viewport를 screen-capture하고, 이미지 또는 애니메이션의 series로 추출할 수 있는데, real time의 palyback을 위한 FCheck 또는 media player 중의 하나를 지원하는 것을 얻어야 한다. 만약 애니메이션의 전체가 아닌 일부의 frame만을 바란다면 어떻게 해야 할까? 이 문제에 대하여 6.0 버전에서는 단순한 MEL command를 방법을 줄 수 있다. 예를 들어 : playblast -frame 5 -frame 32 -frame 51 이것은 현재 애니메이션에서 단지 5, 32, 51 프레임만을 output 한다.


26. REDIRECTING MOTION

maya_192_1.jpg
[JPG image (82.91 KB)]

이제, 당신은 어디에서나 언제든지 애니메이션의 motion을 전보다 쉽게 redirect 할 수 있다. Redirection motion은 당신이 애니메이션 하는 동안 어떤 point에서든지 character의 path나 orientation을 변경하는 것을 가능케 해준다. 예를 들어, 당신이 path 사이에 animated되어 온 character를 가질 수 있겠지만 지금 당신은 반대방향에 마주하고 이 것이 path의 끝에 도달할 때 한 side로 off인 이 character를 보길 원할지도 모른다. character를 redirectable하게 만들기 위해서, 당신이 원하는 그 것의 motion이 redirected된 character set의 root를 선택하고, 그때 Character, Create Character Set Options에 navigate하라. Create Charcter Set안에 Options menu에서 attributes를 desired로 set하라, 하지만 Redirect Character로 바뀌었는지 확인하라. 당신은 redirect하기 위해 rotation only, the translation only나 both를 선택할 수 있을 것이다. "Apply the rotation과/또는 translation"을 선택한 후에 redirection controls는 현재의 character의 root에 나타난다. 당신이 pivot point가 있길 원하는 곳에 그들을 두고 keyframe을 잡아라. 다음은 Character, Redirect를 selection하는 것에 의해 object를 redirectable하게 만드는 것이다. 이 것은 새로운 rotation과/또는 object의 pivot에 translation redirection controls를 둘 것이다. reposition을 계속하고 당신이 redirected하길 원하는 motion의 point들에 rotation과 translation controls 둘다를 위해서 keyframe들을 잡아라.


27. PAINT FX BRUSH FOR HAIR

당신이 당신의 model들에 hair를 추가하는 빠르고 쉬운 방법을 찾는다면, hair를 위한 새로운 Paint FX brush를 함 해보라. 당신의 paintable한 surfce를 만들고 당신이 언제나 원해왔던 hair의 surface를 painting하는 것을 시작하라. 참 쉽다. 당신은 channel box editor를 통해 hair의 attribute의 매 예상조차 control할 수 있을 것이다. 당신은 얼마나 이 것이 shiny한지, curly한지, 또는 bouncy한지를 control하고 시간의 기간을 넘어 이것의 성장조차 animate할 수 있다. hair를 위한 Paint FX brush는 Window, Paint Effects이내에서 발견될 수 있다. Paint Effects window를 열때, Brush tab을 click하고 Get Brush를 선택하라. 이것은 그로 부터 선택하기 위한 hairstyle들의 다양성을 주면서 hair folder를 선택할 수 있는 그곳으로 부터 Visor window panel을 열 것이다.
maya_193_1.jpg
[JPG image (553.16 KB)]


28. USING POINTPOSITION TO TRACK OBJECTS TO COMPONENTS

maya_194_1.jpg
[JPG image (198.6 KB)]

마야에서 하나의 오브젝트에 Point constrain이 가능하다. 하지만 다른 오브젝트 구성요소(예를 들어, CVs나 verteices)에 오브젝트를 point constrain하기 원하다면 우리는 MEL The pointPosition을 이용해서 변환해서 적용해야 한다. 이는 다른 컴포넌트의 변환을 기본으로한 오브젝트의 위치 업데이트를 통해 사용할 수 있다. sphere를 생성하고 버텍스 하나를 선택하고 pointPosition 명령어를 Script Editor창에서 다음처럼 실행한다.
pointPosition;
선택한 CV의 world space position 값이 반환되는 것을 볼 수 있다. 이 방식은 기하학적인 흥미로운 패턴이나 아주 간단한 particle instancing, 여러 프로그램 이름으로 사용할 수 있다. 여기 예를 보자. 폴리곤 구를 생성하고 이름은 “baseFrame", radius=10, Subdivisions Axis = 4, Subdivisions Height = 4로 설정한다. 다음으로 14개의 넙스 구를 생성하고 각각 이름을 "ns0"부터 "ns13"까지 붙인다. 그리고 ”baseFrame" 오브젝트의 버텍스를 선택하고 Windows>Animation Editors>Expression Editor를 열어 아래 내용을 입력한다.
// retrieve the number of vertices in the frame object
int $i, $numVerts[] = polyEvaluate -v baseFrame;
float $pos3 ;
// retrieve the position of each vertex and
// move the corresponding sphere there
for($i=0; $i<$numVerts0; $i++)
{
$pos = pointPosition("baseFarme.vtx + $i + ");
move -a $pos0 $pos1 $pos2 ("ns" + $i);
}
반복식은 move 명령어와 pointPosition 명령어를 이용하여 각 버텍스에 구를 이동시킨다. 이 식은 “baseFrame" 오브젝트에 애니메이션을 줄 수 있고 넙스 구는 따라갈 수 있다. 단, 타임라인을 움직였을 때만 따라다닌다. 기준이 되는 구를 움직인다고 해서 실시간으로 반영되지는 않는다.

29. CONSTRAIN ONE OBJECT TO ANOTHER USING THE XFORM COMMAND

maya_195_1.jpg
[JPG image (140.56 KB)]

이전 팁에서는 pointPosition 명령어를 사용하여 오브젝트 구성요소에 constrain하는 방법을 설명했다. 이 팁은 xform 명령어를 사용하여 하나의 오브젝트에 변형된 다른 오브젝트를 맞추는 방법을 설명한다. 이것의 핵심은 point, orient, scale constraint를 한번에 된다는 것이다. 여기 방법이다. nc1이라는 넙스 콘을 생성하고 당신이 좋아하는대로 변형한다. 그리고 nc2라는 넙스 콘을 만들어서 다음 명령어를 적는다.
xform - q -worldSpace -matrix nc1;
이는 world space 기준으로 오브젝트의 수치 정보를 16개의 값으로 반환한 것이다. 즉, 오브젝트의 회전, 사이즈를 변환한 것이다. 당신은 이 값을 가지고 xform를 이용해 다음과 같이 다른 오브젝트에 적용이 가능하다.
xform -m 1.53468 -1.168758 0.0709192 0 2.049844 0.770313 -2.758336 0 0.899852 0.460056 0.797199 0 -13.217321 6.6293 -16.896341 1 nc2;
이를 더 프로그래밍하면 당신은 첫 번째 xform에서 반환된 값을 배열에 저장할 수 있다. 아래처럼:
float $mat16 = xform -q -worldSpace -matrix nc1;
xform -m $mat0 $mat1 $mat2 $mat3 $mat4 $mat5 $mat6 $mat7 $mat8 $mat9 $mat10 $mat11 $mat12 $mat13 $mat14 $mat15 nc2;
비록 xform 명령어는 단순히 수치를 문서화하는 것이지만 기능은 강력하다. 단적으로, 중간에서 체크하고 어떤 노드의 변환 설정을 맞춘다는 것은 오브젝트를 translate, rotate, scale할 수 있으며 축중심과 변형을 줄일 수 있다.(의역:각 설정들 사이에서 값을 체크 할 수도 있고, 오브젝트 변형작업을 쉽게 할 수 있게 해준다.) 추가적으로, xform을 사용하여 오브젝트에서 bounding box를 얻을 수 있다.(이 부분은 정확한 의미를 모르겠습니다.;)

30. Animation Retargeting

마야는 하나의 스켈레톤의 조인트부터로 애니메이션 데이타를 다른 스켈레톤에 줄 수 있게 한다. 소스 스켈레톤은 데이터를 받고 싶어하는 것이고, 타켓 스켈레톤은 리타켓이 된 데이터를 주는 것이다. 재 타케팅 애니메이션은 하나의 스켈레톤에서 다른 스켈레톤 비율을 무시하여 옮기는 매우 강력한 툴이다. 먼저, 소스와 타겟 스켈레톤을 평자세에서 설정하여 시작하라. 그 다음으로 소스와 타켓의 이름을 선택한 스켈레톤에 Skeleton->Retargeting->Joint labeling 에서 자동으로 설정하라. 아니면, Attribute editor에서 수동으로 바꾸어도 된다. 그 다음에는 소스가 되는 skeleton을 선택하고 나서 타켓이 되는 skeleton을 눌러라. 그 다음으로, Animation menu에서 skeleton-> Retargeting->Toggle Seleted Labes를 눌러서 애니메이션을 리 타케팅을 해라. Source skeleton에 있는 애니메이션은 타켓 skeleton으로 리 타켓이 된다.
maya_196_1.jpg
[JPG image (429.17 KB)]


31. History is only skin deep

maya_197_1.jpg
[JPG image (167.85 KB)]

smooth bind skin 모텔은 꽤 난잡한 결과를 얻을 수 있다. 특히 그것이 매우 복잡한 모텔일 경우 더욱더 그렇다. 덧붙여 모델링에는 히스토리가 남아있고, 매번 히스토리를 업데이트가 업데이트가 만들어 진다. 6.0에서의 새로운 특성은 Menu-> Skin -> Edit Smooth Skin-> Delete Non-Skin History 이다. 이 옵션을 쓰면, 모델의 smooth bind skin 를 남기면서 히스토리를 지울 수 있다.


32. Deform Points outside the deformer

maya_197_2.jpg
[JPG image (313.17 KB)]

lattice deformer를 쓸때 lattice 안에서만 조절할 수 있었다. Maya 6.0에서는 lattice 옵션 매뉴 안을 선택함으로써 완벽한 포인트를 조절할 수 있게 만들엇다. animation 메뉴에서 Deform ->Create Lattice -> option으로 가서 Outside Lattice deformer의 서로다은 방법으로 선택할 수 있게 new Pull-down menu 메뉴가 추가 되었다.


33. LATTICE DEFORM YOUR GRAPH EDITOR

애니메이터는 CG입무에서 가장큰 컨트롤을 요하는 열중적인 임무를 가진 사람이다. 그들은 끝없는 주문한 활동부 그리고 그들의 성취를 위한 조종 방법을 원한다. 버전 6.0에서는 그래프 에디터에서 새로운 방법으로 그들의 커브를 조종할 수 있다. 가장 흥미로는 것은 lattice deform keys tool 의 확장이다. 무거운 커브에서 로딩하고 키를 잡고 add keys 버튼 후에 lattice deform keys버튼을 더블 클릭해라. 당신은 선택된 키들의 한도가 묶여진 세로줄과 가로줄을 컨트롤 할 수 있다. 왼쪽 마우스 버튼으로 추가되어진 Shift-clicking 포인트들을 클릭하고 오른쪽마우스버튼으로 움직여라. 다음 단계는 완전히 전체적이게 비춰진 커브들의 튜브 랜더는 어쩌지? 흠...
maya_198_1.jpg
[JPG image (123.87 KB)]


34. COLOR YOUR ANIM CURVES

끝없이 모든 마야의 틈과 모퉁이를 개인의 희망에 맞추는 추구에서 버전 6.0 유저들은 이제 그래픽 에디터에서 애니메이션 커브에 색을 적용할 수 있다. 사실 명백한 신경과민 이나 강방관념의 행동 보다도 이 적용은 더 유용하다 예를들면 읽기 쉽고 밀집된 모션 캡쳐 데이터의 필더링이 쉽다. 심지어 더 흥미로운점은 특별한 캐릭터들에 링크된 색이 적용된 커브의 그룹을 첨가할 수 있는 MEL을 사용할 수 있는 능력이다. 이 새로운 컨트롤은 명료하지는 앖다 하지만 커브를 선택함으로 시작할 수 있고 그다음 그래프 에디터에 있는 커브들을 선택할 수 있다. 천천히 내림으로 당신은 Use Curve Color를 찾을 수 있다. 그리고 Color Editoe에 연결할 수 있다. 20개의 컬러가 이용할 수 있고 16,780,000개가 적용될 수 있다.
maya_199_1.jpg
[JPG image (122.24 KB)]



Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2012-05-08 14:46:09
Processing time 0.0352 sec