마야 3d paint 왜 노이즈가

From the course: Maya: Shader Networks

Video is locked.

Unlock the full course today

Join today to access over 20,500 courses taught by industry experts or purchase this course individually.

Preparing for the 3D Paint tool

- [Instructor] Maya's 3D paint tool allows you to paint directly onto the surface of objects. And it's actually one of the oldest parts of Maya, it's directly descended from the artisan tool in wave front, and that dates all the way back to the mid 1980s. And because of that antique nature of the code base, you will find that you won't be able to get the level of performance or the features that you might see in a dedicated program, such as Mud Box, or Zbrush, or even Photoshop, but for quick and dirty changes to a shading network the Maya 3D paint tool can come in very handy. For example, I've got a noise pattern on my parquet flooring here, but it would be better if I could paint the wear pattern to represent where people have walked in the gallery, so I can do that with the 3D paint tool. Our first step is to set up for the usage of the 3D paint tool. We'll need to have good UVs on the object. It cannot have any…

Contents

https://youtu.be/Q08WLqixuuE

마야 3d paint 왜 노이즈가

X-Gen은 프리미티브 / 가이드를 만드는 시스템으로 긴머리 / 짧은 수염 / 불규칙한 패턴의 표면을 표현하는 데 좋다. 

시작하기 전에 항상 셋프로젝트 옵션을 잊지 말아라.

X-Gen 플러그인이 안 켜져있을 때는 Plugin Manager에서 활성화 시킬 수 있다

X Gen 에디터에서 새로운 Description을 생성하는 버튼을 누른다.

Description은 같은 헤어스타일을 공유하는 하나의 X-Gen 단위이다. (길이,색상,밀도 등)

먼저 이름을 지정하고 X-Gen 타입을 고른다.

1. Spline : 긴머리에 적당하다. 그리고 간단한 가이드나 익스프레션에 의해 조절될 수 있다.

2. Groom: 짧은 머리나 수염에 적당하다. 직접 3차원 상에서 Hair를 Sculpting 하듯 조절할 수 있다.

3. 기타 : 스피어, 카드, 지오메트리 등 원하는 형태로 생성

여기서는 랜덤한 영역에 XGen 생성 / 가이드를 생성 옵션을 적용한다.

생성하고나면 프로젝트 폴더에 Xgen 폴더가 생성되고, 오브젝트에는 모근이 표시된다.

X-Gen Window 에서 Hair를 생성할 가이드라인을 만들 수 있다.

여기서는 Add Guide툴을 사용하는데, 생성하고 나면 Outliner에서 모발 가이드들이 생성되는 것을 볼 수 있다.

Preview 버튼을 누르면 마야가 가이드에 따라 자동으로 두피의 랜덤한 영역에 짧은 털들을 생성한 것을 볼 수 있다.

여기서 털들이 원하지 않는 영역(예를 들어 볼)에도 생성되는 것을 볼 수 있는데, 

이러한 이유 때문에 전체 머리 오브젝트를 사용하는 것이 아니라 두피 오브젝트를 사용하는 것이 좋다.

제대로 생성되지 않은 X-Gen을 정리하기 위해 Outliner에서 DAG 오브젝트만 보기를 해제하고 

"Collection / Expression / xgmRefreshPreview / xgen_hair_phong / xgen_geo1 / xgen_hair_phen" 

항목을 삭제한다. (X-Gen을 생성하면서 생긴 것들 삭제)

다음으로 두피 오브젝트를 생성한다. 

생성방법은 단순히 두피를 생성할 오브젝트에서 원하는 영역을 선택하고, 선택 반전을 시켜 그 부분만 남기면 된다. 

그리고 X-Gen을 생성한 후 이 오브젝트를 숨긴다.

(혹은 이 오브젝트들의 Shape 속성에 들어가서 Render Stats - Primary Visibility를 해제하여 렌더상에 보이지 않게 하고)

이 두피 오브젝트들을 원래의 오브젝트에 Parent Constrain 시켜놓는다. 

이는 리깅이 적용되었을 때에도 움직임을 공유하기 위함이다.

이번에 새로 Xgen을 만들면 두피에만 생성되는 것을 볼 수 있다.

Density를 올려서 적절하게 미리보기를 할 수 있도록 모발 수를 늘리자.

다음으로 가이드라인을 수정하기 위해 모발 미리보기를 해제한다.

그리고 가이드에 우클릭을 하여 Point를 선택하고. Point를 이동시켜가며 가이드라인을 만든다.

또한 완료된 가이드 커브를 선택하고 Mirror Guide를 눌러 가이드를 미러 복사할 수 있다.

미리보기를 하면 몇 가지의 문제점이 보인다.

먼저 모발이 너무 표면에 붙어있게 되는데 이는 이를 구성하는 CV의 수를 증가시키면 되는데, 이는 Rebuild 옵션으로 적용가능하다.

그리고 모발이 오브젝트 표면을 파고드는 경우도 있다. 

이는 가이드에 의해 생성되는 모발들이 공통적인 속성을 공유하기 때문에 발생하는 문제로, 마스크를 사용해 해결할 수 있다. 

마스크를 사용하기 위해서는 먼저 미리보기를 해제하고 Generate Attribute 탭에서 Mask의 우측 화살표를 눌러 Create Map을 누른다. 

이름을 지정하고 하단 항목을 10까지 늘려서 파일을 생성하면 PTEX 기반의 맵을 생성할 수 있게 된다. 

이제 3D Paint 버튼을 누르고 흑백으로 마스크 영역을 설정하고 Save를 누르면 적용된다. 

이제 좀 더 리얼해 보이는 헤어를 만들기 위해 Primitive Attribute 탭에 있는 Taper를 비롯한 여러 항목을 조절하자

다음으로 색상을 조절해보자. 

마야는 Description을 생성하며 자동으로 Hair 셰이더를 만드는데, 이 셰이더의 컬러와 투명도 속성을 조절하면 된다.

이를 뷰포트 상에서도 확인하려면 Viewport 2.0을 사용하면 된다. 

마지막으로 X-Gen Window에서 Tube shape를 해제하여 미리보기용 Tube들을 없앤다.

그리고 Output 탭에서 Primitive Bound 옆의 Auto 버튼을 눌러 모발당 알맞은 모발 굵기를 설정한다. 

https://youtu.be/6xzAsTAJ5uY

마야 3d paint 왜 노이즈가

이번에는 모히칸 스타일을 만들어볼 것이다.

셋프로젝트가 잘 되어있나 확인하고 다시 Random / Guide 형태로 Xgen을 형성한다.

이번에는 일일히 모발을 심지않고 Nurbs 플레인을 사용할 것이다. 

먼저 세로로 누워있는 형태의 Nurbs Plane을 만든다.

그리고 단계를 더 주고 두피와 맞닿는 부분의 형태에 맞게 교정해준다.

다음으로 X-gen Window - Utility에서 Guide to surface Utility를 클릭한다

그러고나면 넙스 오브젝트의 단계 조절 엣지에 맞게 가이드가 생성되고, 이를 이전 튜토에서 처럼 조절할 수 있다.

이를 적용하기 위해서 Guide As Curves / Guide to Curves 를 적용하면 된다.

먼저 Guide To Curve 옵션을 선택하고 가이드를 직접 변형하는 실수를 막기 위해 가이드(Hide)를 체크하고, Lock Length 옵션을 켠다

Lock Length를 설정했기 때문에 Edit Point 옵션으로 포인트를 움직여야한다.

적절하게 모양을 다 만든다음에는 이제 Curves to Guide를 선택한다

그럼 이제 커브가 가이드로 변한다. 

이전에 숨겨졌던 원본 가이드들을 지운다.

다음으로 Modifier를 추가해보겠다.

Clumping을 추가해보자. 처음에는 별 영향을 주지 못한다. 

다시 Clumping을 위한 맵을 만들어주어야 하기 때문에 두피 오브젝트롤 가시화하고, Setup Map을 누른다.

그리고 나서 표면상에 포인트를 찍어주면 그 중심으로 모발이 모이게 된다.

Generate는 표면에 랜덤하게 뿌리고, Guide는 모든 가이드를 따라 생성하고, Clear는 모두 지운다. 

이때 Ctrl + 클릭을 통해 생성된 Clumping Point들을 삭제할 수도 있다. 

또한 Clump Scale을 통해 모이는 정도를 설정하거나 Mask를 적용할 수도 있다.

다음으로는 수염을 만들겠다.

이전처럼 두피 메쉬가 원본 표면에 Parent Constrain으로 묶여있어야 리깅에 반응한다

Description을 새로 만드는데 Groomable Spline 옵션을 적용한다.

그러면 표면을 따라 많은 가이드가 생성된 것을 볼 수 있는데 Density를 조정한다.

그리고 Grooming 탭에서도 Density / Length / Width를 조절한다.

미리보기 설정은 두피를 숨기고 / 프리미티브 오브젝트도 꺼둔 상태에서 작업한다

Length - 길이 설정 / Pose - 털을 빗어주는 효과 / Part - 브러시를 기준으로 분리 / Attract - 브러시를 기준으로 모으기 

Eraser - 잘못된 부분 지우거나 되돌리기

* 더 자세한 항목은 Interactive Groom을 서술한 포스팅에서 참고

https://youtu.be/yLwVLj3zFg0

마야 3d paint 왜 노이즈가

이번에는 여성 헤어를 만들어보겠다. 새 Description 옵션은 Random / Guide 이다.

새로 만들 헤어는 여러가닥으로 분리되어 만들어질 것이다. 

만들어질 머리는 비대칭한 형태로 만들어질 것인데, 앞머리는 한쪽으로 흐르는 뱅헤어가 있고, 머리의 일부는 옆에서 보았을 때 목을 따라 흐를 것이다.

그리고 가이드를 조절하여 머리 모양을 만들어간다. 

컨트롤 포인트가 부족하다면 가이드를 선택하고 Attribute 항목에서 Rebuild를 실행하면 된다.

다 조절하고 나서 Normalize를 실행하면 간격을 균일하게 맞춰준다.

생성한 가이드들은 Utility의 Copy Guide를 통해 복제해나갈 수도 있다. 

복사할 모양(A)을 선택하고 Copy를 누른 뒤, 복사할 부분에(B) Paste 하면 된다.

다음으로 복사된 Guide 들의 조정을 해야하는 데, Joint Groomer 를 사용하여 모발에 조인트를 심어 이동할 수 있다.

또는 여러 가이드를 선택하고 Lattice 를 사용하여 바운더리 박스 형태로 조절할 수도 있다.

미리보기를 실행하면 문제가 몇가지 있다.

먼저 모발이 메쉬를 뚫고 지나간다. 

이는 CV가 부족하기 때문이므로 추가해주고, 세부 속성을 조정하여 리얼하게 만든다

다음으로 정수리 부분에 의도와 다르게 생성된 부분이 보인다.

Region map을 사용하면 모발 들이 설정한 색상과 영역에 따라 분리된다. 

기본값은 1로 두피 전체에 영향을 미치는 형태로 설정된다.

Region Map을 생성하고 나면 빨간색으로 보이는데, 이것은 모든 부분을 빨간색 Region Map이 영향을 미친다는 것이다.

세팅에서 Hard tip을 설정하고 다른 색상을 선택하여 다른 쪽을 칠한다. (경계부까지 꽉 채우기) 

그러면 이제 정수리 부분에서부터 분리되어 머리카락이 생기는 것을 볼 수 있다.

다만 이러한 옵션이 뒷통수까지 영향을 미치지 않는 것이 좋으므로 Region Mask를 생성하여 뒷통수 부분을 경계면까지 칠한다.

이제 앞머리를 위한 가이드를 만들 것인데, MMB를 눌러서 보간되지 않은 기본 가이드를 만들 수 있다.

미리보기를 하면 뱅 헤어가 만들어지지만 얼굴을 덮고 있는 것을 볼 수 있는데 기존의 Region Map을 사용하여 교정한다.

이번에는 3번째 색상을 사용하여 앞머리 부분을 담당하게 한다. 

다음으로 이전처럼 Clumping(Map/Guide)을 적용한다.

이 때 모든 부분에 Clumping이 적용되지 않게 Scale 부분에 흑백맵을 적용한다. 

다음으로 다시 Clumping을 추가하여 랜덤한 느낌을 주겠다.

이 때 마야는 아래쪽에 있는 것부터 위에까지 Clumping 데이터를 계산한다.(레이어처럼)

즉 결과물들이 겹쳐지기 때문에 더 촘촘한 간격을 유지할 수 밖에 없다는 점에 주의한다.

이번에는 Guide Density를 늘려서 두피 전반에 촘촘하게 Clumping Guide가 생기게 한다.

하지만 너무 평평하게 보이므로 Clump 항목에 rand(0.2,0.8)을 입력하여 불규칙하게 만든다.

이는 랜덤 범위가 0.2~0.8이라는 것을 의미한다.

다음으로 Cut Modifier를 추가한다.

이는 각 모발의 끝에서부터 일정량을 잘라낸다. 

역시 랜덤값을 추가하여 불규칙하게 잘리도록 만든다

그리고 Cut Modifier를 최상단에 배치해 아래의 Clumping 데이터가 축적될 수 있게 만든다

다음으로는 Noise를 추가하고 Magnitude 항목에 랜덤값을 적용하여 전체적으로 불규칙하게 만든다.

https://youtu.be/o6Z-GqAfWqU

마야 3d paint 왜 노이즈가

이번에는 Ndynamic을 이용한 애니메이션 세팅을 다뤄보겠다.

N Dynamic은 마야에서 N Solver를 사용하여 N Particle / N Cloth 등 시뮬레이션을 적용하는 기능이다.

이번 프로젝트를 통해 2개의 방법으로 N Dynamic을 적용할 수 있다.

먼저 내림차순방식의 워크플로우로 N Hair System이 가이드의 모션을 다이나믹 커브를 사용해서 조절하는 방법인데, 

다소 조절할 수 있는 범위가 적다.

다음으로 오름차순 워크플로우로, 특별한 Modifier가 직관적으로 가이드의 모션을 조절한다.

이를 사용하면 더 다양한 조절이 가능해진다.

(차이점은 N Dynamic이 주가 되는지 (내림차순) / Modifier가 주가 되는지 (올림차순) 인것 같음)

XGen Window의 Guide Animation 탭에서 Use Animation을 체크하고 Live Mode가 적용되어 있는지 확인한다.

다음으로 Hair System 생성 버튼을 누른다. 

그리고 옵션 중에서 Nurbs Curve를 선택한다.

여기서 필요한 건 Paint Effect가 아니라 데이터가 될 수 있는 커브이기 때문이다.

Make Dynamic 버튼을 누르면 우리가 만든 가이드를 기준으로 nHairSystem이 만들어진다.

그리고 그 시스템이 적용된 Follicle / Output Curve도 만들어진다.

시뮬레이션을 적용하기 전에 정확한 결과를 위해 재생속도 항목이 Play Every Frame으로 되어있는 지 확인한다.

사양이 좋지 않다면 Free로 두면 시스템 환경에 맞춰서 시뮬레이션을 적용한다.

이 때 Preview Primitive 항목은 꺼두는 것이 가볍게 적용할 수 있는 방법이다.

결과물을 보면 몇가닥이 튀는 것을 볼 수 있다.

이를 수정하기 위해서 Nucleus Solver의 Space Scale 항목을 0.01로 설정한다.

이는 시뮬레이션 계산 범위를 마야의 환경에 맞추는 과정이다. 

(보통 미터단위로 계산되는데, 마야의 뷰포트 환경은 cm 단위이므로 0.01)

그리고 Solver의 속성에서 Subdiv를 8 / Max Collision 을 10으로 설정한다.

이번에는 머리카락이 튀지 않지만, 모델링을 파고 들게 된다.

이를 해결하기 위해 모델링 데이터를 클릭하고 Passive Collider를 적용한다.

이제 파고들지 않지만 머리카락이 그래도 약간 원형을 유지할 수 있도록 설정해준다.

이를 위해 Hairsystem에서 Dynamic Properties를 조절한다.

항목은 Stretch / Compression Resist 에 먼저 100을 주어 중력에 의한 늘어짐을 줄여준다.

그리고 Force 탭에서 Mass 항목을 0.05로 낮게 설정해주어 머리카락의 무게를 가볍게 해준다.

Damp 항목에 0.5를 주어 머리카락이 받는 에너지가 점점 줄어들게 만든다

이를 통해 머리카락이 너무 튀지 않고 빠르게 안정된 모양을 찾게 되었다.

다음으로 Start Curve Attract 항목에 0.05를 주면 최초의 모양을 유지하면서 변형되려 한다.

다음은 외부에서 불어오는 바람을 추가하여 시뮬레이션이 잘 적용되는 지 확인해보겠다.

Nucleus의 Wind Direction과 Wind Speed 항목에 키를 주고 혹시 필요하다면 Hair System의 Start Attraction과 Damp에도 키를 준다.

이제 이를 Xgen에 적용시켜 보겠다.

X-Gen Window를 열고,Outliner에서 Output Curve를 모두 선택한다.

다음으로 Guide Animation에서 Attach Hairsystem 버튼을 누른다.

이제 타임라인 상에서 실시간으로 움직임을 확인할 수 있도록 캐쉬 작업을 거친다.

작업 방법은 nCache와 Alembic Cache가 있다. 

nCache는 nDyanmic 오브젝트의 캐쉬만 기록하므로 Alembic을 사용한다.

Output Curve를 Outliner에서 모두 선택하고 Alembic - Alembic Cache를 저장한다.

이제 캐쉬 데이터를 X-Gen Window의 Animation 탭에서 Cache 부분에 불러오고, Nucleus를 비활성화 시킨다.

그럼 이제 실시간으로 움직임을 확인할 수 있게 된다.

https://youtu.be/mF_BXoEW_Pk

마야 3d paint 왜 노이즈가

Anim Wire로 작업할 것이다. 

이 Modifier는 지정한 영역에 다이나믹 커브를 만들어준다. 

그러면 마야는 이를 기반으로 각 가닥에 시뮬레이션을 적용한다.

작업하기 전에 Collision에 관한 문제점이 보이는데, 많은 머리카락이 몸통 메쉬를 뚫고 들어간다.

이러한 현상을 잘 확인하기 위해서 Preview / Output 탭에서 프리미티브 오브젝트의 색상을 바꾼다.

이를 해결하기 위해서 저번에는 Passive Collider를 사용했다.

N hair를 사용할 것이라면 이를 적용할 수 있겠지만, 가이드를 기준으로 생성하는 X-Gen에서는 사용할 수 없는 기능이다.

(N 다이나믹의 연산 과정을 X-Gen에서는 실시간으로 적용하기에는 무리가 있다.)

이번에는 Collision Modifer를 추가하는 데, 이는 자동으로 오브젝트와 충돌하는 것을 감지하고 해석해낸다.

적용 시키면 충돌할 메쉬의 데이터가 담긴 Alembic 파일이 필요하다는 경고 메세지가 보인다.

이번에는 일단 프리뷰를 꺼서 메쉬에만 집중할 수 있도록 설정한다.

그리고 메쉬를 클릭하고 Export Selection to Alembic을 누른다.

프레임 영역을 설정하고 경로를 설정하여 캐쉬를 기록한다.

그 다음에 Collision의 Mesh File 항목에 캐쉬 파일을 추가한다.

프리뷰를 적용하면 꽤 잘 적용된 것으로 보이지만 여전히 메쉬를 뚫어가는 부분이 보인다.

이러한 부분을 처리할 것인데, 단 메쉬에 변화가 있다면 캐쉬를 새로 떠야하는 것을 잊지 말자

이제 Anim Wire를 추가하고 Control Map 항목에서 맵을 만들어 X-Gen을 생성할 다이나믹 커브를 조정할 것이다.

기존에 존재했던 Region 혹은 Clumping 맵을 사용할 수도 있다. 혹은 새로운 맵을 만들 수도 있다.

여기서는 Clumping 맵을 사용한다. 이게 비교적 정확한 결과를 얻을 수 있다.

Create Map 버튼을 누르면 Clumping Map이 존재하는 디렉토리가 설정 되어있는 것을 볼 수 있다.

혹시 가이드를 추가했다면, 현재의 설정을 유지시켜야 한다.

이제 PTEX 파일을 참고하는 Control Map 항목을 조절한다.

이는 어떤 모근이 Anim Wire에 의해 영향을 받을 지 설정하기 위함이다.

여기서는 존재했던 Clumping 맵2 대신에 1번을 Control 맵을 위해 사용할 것이다.

왜 두개의 경로가 다른지 체크하기 위해서는 Clumping 2 Modifier의 Color Preview를 눌러보면 된다.

보면 매우 촘촘한 간격으로 색이 구분 되어있는데, 이 때문에 프리미티브 오브젝트들이 가까운 모발들에 영향을 받을 수 있게 된다.

그리고 1번의 경우 비교적 넓은 간격으로 되어있는데, 이것이 더 각 모발의 시뮬레이션이 너무 자잘하게 이루어지 않게 만든다.

이제 Anim Wire에서 Preview Wire를 눌러보면 커브가 생기는 것을 볼 수 있는데, 이는 실제 프리미티브 오브젝트는 아니다.

Create Hair System 버튼을 누르고, Nurbs curve를 생성한다. 그러면 우리가 지정한 control map의 영역에 맞춰 Follicle이 생성된다.

그리고 이전처럼 정확한 시뮬레이션을 위한 세팅을 해준다.

(Solver 항목 수정 / Subdiv 8, Iteration 10, Scale 0.01 | Hairsystem Stretch, Compression 100 / Mass 0.05)

다시 X-gen Window로 돌아와서 Modifier 탭에서 Collision을 Anim Wire위에 올려놓는다.

이는 Anim Wire가 이전의 가이드가 아니라 Anim Wire의 가이드를 기준으로 Collision 을 계산하게 하기 위함이다.

다음으로 모든 Output Curve를 선택하고 X-gen Window에서 Anim wire를 클릭한다

그리고 Attatch Hair System을 눌러서 X-gen 프리미티브가 생성되도록 지정한다

이제 시뮬레이션을 적용시켜본다.

근데 머리카락이 모델링을 덮어버리는 것을 볼 수 있고, 뚫고 지나가는 것도 있는데 이는 맨 처음에 지정한 Hairsystem 때문이다.

이전의 방법처럼 Start Attraction과 Damp를 수정하는 방법 대신 이번 방법에서 사용할 다른 방법을 이용해본다.

Anim Wire의 Scale 부분에서 첫부분을 0으로 잡는다. 

이는 모든 머리카락이 뿌리 부분 주위에서는 원형태를 유지한다는 것이다.

그리고 끝부분으로 갈수록 자연스럽게 보간된다.

마야에서 기본값으로 지정된 끝부분의 값은 0.5이지만 이것을 1로 만들어 충돌의 문제를 없앨 수는 있다.

이 설정에서 뱅 헤어 부분을 위해 마스크를 사용한다.

이 머리가 n Hair에 의해 작동하기 때문에 베이킹 작업을 거쳐야한다.

이를 위해 GroomBake를 사용한다. Groom Bake는 XPD 파일로 기록된다.

그리고 이 Modifier는 Collision과 Anim Wire에 별 영향을 주지 못하므로 두 Modifier의 아래에 배치한다.

이제 미리보기가 더 빨라진 것을 볼 수 있다.

이후의 과정은 전편의 과정과 같다.

https://youtu.be/aduiQm8is5A

마야 3d paint 왜 노이즈가

이번에는 멘탈레이로 X-Gen을 렌더해보겠다. 조명은 3점 조명을 사용한다.

이전에는 Hair Shader의 항목을 조절했지만, 조금더 전문적인 방법으로 진행해보곘다.

먼저 X-Gen Window에서 Preview / Output 탭을 선택하고 Primitive Bound 속성에 40 같은 높은 수치를 입력한다.

또는 Auto Set 버튼을 누른다. 

이는 씬에 있는 Xgen 프리미티브 헤어의 최대 길이를 조절한다.

다음으로 재질을 설정하기 위해 하이퍼셰이드를 열면 Hair_Phen 셰이더가 있고, 

프리미티브 오브젝트의 디퓨즈, 스페큘러, 투명도를 조절할 수 있다.

이를 조절하여 모발의 색상과 반짝이는 정도 등을 조절할 수도 있다. 

물론 변화값을 실시간으로 보기 위해서는 뷰포트 2.0을 사용해야 한다.

렌더뷰에서 보면 머리가 약간 굵어보이는 것을 알 수 있다.

X-gen window에서 모발의 굵기를 0.01로 줄인다.

이는 각 모발의 굵기를 조절하며, 당연히 전체적인 볼륨감에도 영향을 준다.

Density를 조절하여 더 자연스러운 헤어를 만들 수 있지만, 렌더 시간이 늘어날 수 있다.

이후 렌더세팅을 조정하면서 컴퓨터의 성능에 맞춰 퀄리티와 시간을 고려하여 적절한 렌더값을 찾으면 된다.

렌더된 모발을 보면 다소 밋밋해 보일 수 있는데, 이는 Phen 셰이더가 Tube 형태의 프리미티브를 렌더하기 때문이다.

Phen 셰이더에서는 가는 모발이 얼마나 가는지 표현하기에 적절하지 않으므로, Tube Shape 항목을 해제한다.

Clumping과 스페큘러 면에서 이전의 렌더본보다 개선된 것을 확인할 수 있다.

하지만 여전히 밋밋해보인다.

이전 파트에서는 스페큘러를 조절했지만 다른 방법을 사용해보도록 하자

Preview/Output 탭에서 Primitive Color 항목이 있는데, 이는 이전에도 애니메이션된 가이드를 잘 구별하기 위해 사용했던 기능이다.

이번에는 더 마지막 조절을 하기 위한 맵을 만들 것이다.

Primitive Color에 새로운 맵을 추가하자. 

이것은 두피 메쉬에 어떤 Hair Description이 연동 되어있는지 나타내는 새로운 Ptex 파일을 만들어준다.

이것을 칠할 수 있는 상태로 만들기 위해 Primitive 오브젝트가 안 보이게 해야한다.

또한 미리보기 Percent 항목을 줄여서 페인팅 과정에 악영향을 주지 않도록 설정한다.

이제 색을 칠해나가기 시작한다.

먼저 머리의 Diffuse 색과 유사한 색을 Flood를 사용하여 두피에 꽉 채워준다.

다음으로 약간 연한 색상을 앞머리 뱅헤어 부분에 색칠해준다.

다시 미리보기를 설정하고 Percent를 늘려보면 색상 맵이 반영되어 있는 것을 볼 수 있다.

그러나 이것이 렌더뷰에서는 반영되어있지 않은 것을 볼 수 있다.

이는 Phen Shader가 렌더시에는 Primitive 항목의 색상을 덮어쓰기 때문이고, 스페큘러가 바뀌지 않아 보이게 된다.

이를 해결하기 위해 Phen Shader보다 컬러맵을 상위개념으로 여길 수 있게 하는 작업이 필요하다.

Root_Color / Tip_Color (모근/모발)라는 커스텀 셰이딩 항목을 추가하면 된다.

이는 렌더시 모근과 모발 부분의 색을 각각 계산할 수 있게 만들어준다.

모든 프리미티브에 다른 색상들을 제외하고 한 색상을 사용하는 것과 달리 

그라디언트를 사용하여 한 색에서 다른 색으로 변하는 느낌을 줄 수 있다.

마야는 프리미티브를 렌더하기 전에 이 두 항목을 항상 체크할 것이다.

이 항목이 있는 것을 인지하면 Phen Shader의 항목을 덮어쓸 것이다.

Custom Shader 항목에 "root_shader"를 입력하고 Type은 Color로 설정한 뒤 Create 버튼을 누른다.

이것은 단순한 익스프레션을 사용하는 임의의 Starting Color (모근 부분의 색상)으로 정의될 것이다.

방금 만들어진 항목의 익스프레션 부분을 체크한다. 

현재는 익스프레션이 적용되지 않아 아무런 것도 나타나지 않는다.

샘플 탭에서 익스프레션 목록을 불러오고, Global -> UI를 클릭하고 color_black 항목을 클릭한다.

마야에서는 이 프리셋에 맞는 익스프레션을 자동으로 생성해줄 것이니 확인버튼을 누른다.

이제 익스프레션에 따라 해당 항목이 컬러를 조절할 수 있도록 바뀐 것을 볼 수 있다.

이제 원하는 색상을 설정하면 된다.

색상을 변경하고 렌더를 걸면 Phen Shader에서 지정한 Diffuse 색상 대신 지정한 색상으로 적용된 것을 볼 수 있다.

단 지금은 디퓨즈 색상만 변경되어있기 때문에 스페큘러와 하이라이트 색도 조절할 수 있도록 만들 것이다.

이전에 하이라이트를 표현하기 위해 칠했던 단일 색상 대신 Primitive Attribute 탭에서 맵을 만들 것이다.

Primitive Color에서 맵을 만들며 생긴 경로 파일을 복사하고, 추가한 root_color의 익스프레션 조절창을 연다.

이번에는 Sample - Global - UI - map_ptex를 클릭한다.

그리고 map('____').... 부분에서 따옴표 부분에 복사한 내용을 붙여넣는다.

따옴표가 지워지지 않도록 주의한다.

새로 렌더를 걸면 색상이 잘 적용된 것을 볼 수 있다.

모근 색상을 지정했듯이 모발 색상도 설정할 수 있다.

네이밍은 tip_color로 하고 속성도 Color로 하면 되며, 그라데이션이 적용된 헤어를 볼 수 있다.

더 섬세한 결과물을 위해서는 렌더 세팅을 열고, 렌더 세팅에서 샘플링과 Indirect 렌더링 항목을 수정하면 된다.

이제 여러 프레임의 애니메이션의 렌더를 걸기 위해 배치렌더를 지원하는 렌더러에서 배치렌더 세팅을 해준다.

Modifier 탭에서 Live Mode가 활성화 되어있는 것이 보이는데, 

렌더 과정에서 마야에 부담을 덜 주기 위해 미리 캐쉬를 만들어주는 것이 좋다.

다시 이전의 과정을 반복한다.

이를 위해 이전처럼 Groom Bake를 추가한다.

이를 적용하면 Primitive 탭의 Generate Primitive 항목이 XPD 파일을 기반으로 생성 항목으로 바뀌어 있는데,

다시 헤어에 변화를 주고 싶은 항목이 있으면 다시 Random하게 생성되도록 바꿔두어야 한다.

Anim Wire에서 Live Mode를 해제하고 이전에 만들었던 Alembic 캐쉬 파일을 선택한다.

또한 Solver를 비활성화 시킨다.

렌더를 걸 카메라를 뷰포트 상에서 설정하고, X-Gen Window에서 Update를 항상 자동으로 실행 항목을 체크한다.

* 마야 2014 버전의 렌더 방법은 패스

* 2015 버전 부터는 우선 미리보기와 항상 미리보기 업데이트 항목을 해제한다. 

그리고 FIle - Export Patches for Batch Render를 실행한다. 그리고 프레임 범위를 입력한다.

그럼 이것이 렌더에 적절한 Alembic 캐쉬를 기록해줄 것이다.