언리얼 엔진으로 카툰 렌더링 해보자-2-라이팅 마스크
오늘은 지난번에 이어 툰 렌더 과정을 작성해보겠습니다.
당연한 얘기를 하나 하자면,
제가 하는 과정 다 꼭 필요한 거 아닙니다.
외곽선만 만들고 충분히 카투닉하다고 생각하시면 거기까지 하면 되고,
뭔가 더 필요하다 싶으면 이것저것 추가해보시면 됩니다.
저도 이번에 글 쓰면서 처음해보는 것이기 때문에 만들어 놓고 안 쓰는 머티리얼도 분명 있을 것이고, 그러한 과정을 통해 이것저것 배울 수 있을 거라 생각합니다ㅎ
그러니 만들었는데 어째 안넣느니만 못한다? 싶으면 억울해마시고 과감히 꺼버리세요.
(Array수치를 0으로 설정하면 됩니다.)
머티리얼 1,2,3,4,... 여러개 만들어놓고 이리저리 조합하는 것도 꽤 재밌습니다.
서론이 길어졌는데 얼른 이어서 가봅시당.
지난번 포스팅에서 가장 처음 만들었던 베이스컬러만 추출하는 블렌더블이 불필요하다고 느껴져 일단 꺼둔 상태입니다.
(이 베이스컬러 블렌더블은 다른 블렌더블을 만들 때 반드시 필요하기 때문에 꺼둘지언정 삭제는 하시면 안됩니다.)
즉 원본에 외곽선만 추가되어있는 상태네요.
또 VRoid 활용 방법을 터득했기 때문에 한 번 넣어줘 봤습니다.
이것과 관련된 내용은 제 이전 포스팅에서 볼 수 있습니다 ㅎ
MIXAMO 에서 앉아있는 애니메이션을 하나 가져와서 리타깃해봤습니다.
침대가 허벅지를 뚫고 있습니다만 그냥 넘어갑시다.
라이트를 마스킹하는 머티리얼을 만들 것이기 때문에 뷰 모드를 Detail Lighting모드로 바꿔줍니다.
새 머티리얼을 생성해주고 이름을 PPMM_GraphicLights 로 바꿔줍니다.
새 머티리얼 만들 때마다 이렇게 바꿔주는 것 잊지말아주세요~
이후에 따로 언급 안하겠습니다.
머티리얼 창 들어가서 SceneTexture 노드 생성해주세요
타깃을 PostProcessInput0 으로 해주시고 복붙해서 두개를 만듭니다.
하나는 BaseColor로 설정해줍니다.
여기서 PostProcessInput0 이란 것은 현재 만들고 있는 머티리얼을 제외한 직전까지의 최종 출력화면을 의미합니다.
블렌더블 목록에 머티리얼을 추가해주시고 Lit모드로 바꾼 모습입니다.
Exposure Compensation을 0으로 바꿉니다.
이렇게 하면 아까 봤던 디테일 라이팅 모드와 유사한 것을 알 수 있습니다.
다시 머티리얼 창에 들어가서 Component Mask 노드를 추가해주시고 채널은 R채널만 체크해줍니다.
저장하고 확인하면 똑같은데 흑백화되어있습니다.
이어서 위 사진처럼 연결해주시고 동그라미친 것은 1Vector 파라미터 노드인데 s키를 누르면서 좌클릭해주면 생성할 수 있습니다.
이름을 LightFallOff로 설정해줍니다.
Slide Max를 1.0으로 바꿉니다.
또 이어서 이렇게 만들어줍니다. 똑같은 거다 싶으면 알아서 복붙 활용 잘 해주세요.
Mask를 RGB 다 활성화 시켜줍니다.
그 뒤 If 명령문 노드를 Emessive Color와 연결해주고 저장 눌러주면 베이스컬러가 들어온 것을 볼 수 있습니다.
잘 보고 따라해주시면 됩니다. 3vector의 파라미터인데 처음엔 블랙으로 되어있으니 화이트로 변경시켜줍니다.
방금 만든 3vector와 multiply노드를 복붙해서 이름을 DarkAreaControl로 바꿔준 뒤 검은색으로 설정합니다.
저장하고 화면을 보면 이렇게 나타나는데 섀도우와 하이라이트 컬러를 아까 생성한 3vector 노드의 값을 조절해서 변경할 수 있습니다.
저는 살짝 푸른 색조를 넣고 밝기를 올렸습니다.
유독 캐릭터만 어두침침해진 이유가.. 아무래도 VRoid 캐릭터를 가져온거라 베이스컬러만 보이는 지금 상태에서 영 이상해보이네요.
이 부분은 해결해볼 필요가 있을 것 같습니다.
일단은 아쉽지만 끈 게 더 나으므로 꺼줍니다...
후다닥 시퀀스를 짜주고 간단하게 렌더해보았습니다.
결국 쓰인 것은 Outline밖에 없네요 ㅠ
역시 이건 많은 연구가 필요할 것 같습니다.
불타오르게 하네요 ㅎ..
가장 큰 문제는 역시 무료에셋을 가져온거라 툰 쉐이딩을 고려한 텍스처링이 전혀 안되어있었다는 점과
브이로이드 역시 마찬가지 문제네요ㅎㅎ
처음부터 이게 문제가 될거라고 예상하긴 했는데 생각보다..흠...
여러가지 문제들 공부하고 포스팅을 작성하겠습니다~