Skip to content 메뉴

CGCODE - 강좌와 팁애니메이션 › UDK로 들어간 WoW 리치킹 1부 : 추출해서 Unreal Skeletal Mesh 셋업까지

Devil 2012.02.19 01:39:52

finalgathering.jpg

 

시작하기 전에 : 

 

어쩌면 이 글을 읽는 당신은 이렇게 물을지 모른다. 대체 왜 Unreal Developemnt Kit에 와우(WoW) 캐릭터를 넣으려고 한단 말인가?

단순히 답변하자면, 재미있을 것 같아서 라고 대답하고 싶다. 그리고 웹마스터(필자)는 언리얼 엔진의 무궁한 가능성을 공감하고 있으며, 실제로 게임개발에 Unreal 2 엔진을 사용해 본 경험이 있어, Unreal 이 익숙하기도 하다. 더불어 Unreal 2 를 사용해 본 경험이 있으면, Unreal 3를 손쉽게 사용 가능하다는 점을 증명하고 싶었다. 

 

리치킹에 대해서는, 사실 World of WarCraft 의 리치킹이 사용된 이유는 해외 사이트에서 어떤 사용자가 UDK 로 리치킹을 추출한 것을 본적이 있었는데, 참 재미있겠다는 생각을 했기 때문이다. 그리고 그 밑에 이런 답글이 달려 있었다. "역시 UDK 로 넣으면 리치킹이 더 멋져보이는군. WoW 엔진이 엉망인 것이었군." 라고..

 

lichking_wow01.jpg 이상적인 리치킹의 모습

 

 

lichking_wow02.jpg

 WoW 게임에서의 리치킹의 모습

 

물론 WoW는 온라인 게임이고, WarCraft3 엔진의 업그레이드 버전으로 개발되었기 때문에 개발 수년이 지난 지금에 와서 그래픽 퀄리티를 기대하기는 어렵다. (그렇다고 그래픽 엔진을 바꾸는 것도 블리자드에겐 큰 모험일 것이다.)  또한 한국만이 아니라 미국도 저사양/노트북(랩탑)유저들의 시스템에서 적절히 구동할만한 그래픽 옵션을 제공해야만 불특정 다수의 게이머 하드웨어를 만족시킬 수 있고, 이것은 결국 매출증가로 이어진다는 점도 너무나 현실적인 사실이다. 게다가 WoW는 아직까지도 게임성이나 스토리등 게임자체는 대단히 훌륭한 게임이기 때문에, 블리자드로서도 게임성 자체를 증대시키는 지속적인 업데이트에 주력하는 것이, 위험부담을 최소화할 수 있는 안정적인 수익창출임을, 그 누구보다 잘 알고 있을 것이다.

 

다만 수익성과 결부되어 있는 개발사의 입장과 다르게, CGCODE.net 웹마스터는 다양한 실험을 감행해도 부담이 없는 개인의 입장이므로, 진일보한 시각적 효과(퀄리티)를 구현해 낼 수 있다는 실험적 정신에서 UDK와 와우 캐릭터의 접목을 시도하기로 했다. 

 

우선 필자가 몇 시간만에 UDK 로 급조한 마티네 애니메이션(시네매틱)을 보라. 

시각적 아름다움이 WoW 엔진보다 확실히 발전했다는 느낌이 들지 않는가?

(그래픽이 반드시 좋을 필요는 없지만, 현실적으로 가능한 수준에서 시각적 효과를 올리는 것은 시도해볼만한 가치가 있는 것 같다.)

 

언리얼로 들어간 리치킹 by 김진우

720P 로 보기를 권장합니다.

 

  

 

 

 

 

 

이제 시작해보자~

 

 

 

 

 

 

Step 1. WoW 에서 M2 캐릭터 추출하기(export) 

 - 필요한 준비물 : WoW Model Viewer or  MPQediter, 컴퓨터를 어느 정도는 어떻게든 사용할 줄 아는 사용자.

 - WoW Model Viewer 공식 홈페이지 : http://www.wowmodelviewer.org/

 

블리자드社의 게임들은 대부분 MPQ 라고 하는 파일형식으로 압축되는데, 이 압축파일을 해제하는 방법은 Unreal 만큼이나 널리 알려져 있으며, 통상적으로 MPQeditor 라는 유틸리티가 사용되지만, 3D 모델을 추출하는데는 보다 특화된 WoW Model Viewer 를 사용하기를 권장하며, 필자도 이 강좌에서 WoW Model Viewer(줄여서 WMV)를 사용했다.

 

lichking001.jpg

→ WMV 에서 리치킹을 확인한다.

Arthaslichking 탭에 서리한(무기)를 들고있는 리치킹과, 무기가 없는 리치킹 두가지 버전으로 존재하며, 왜 리치킹 앞에 아서스라는 이름이 붙었는지를 잘 모르는 사용자들은 워크래프트3 를 플레이 해보기 바란다. ^^

 

 

 

lichking002.jpg

→ Export Textures 를 선택한다.

Export Model 만 사용하는 경우, 텍스처가 추출되지 않는것도 문제지만 무엇보다 fbx 로 추출되지 않는다. 현재 최신버전인 7.3.0 에서 fbx 추출이 불가능한 문제가 있고, 범용 포맷으로는 obj가 유일한 선택이지만 obj 의 경우 본(bone)을 추출할 수 없다는 치명적 단점이 있으므로, 리깅을 처음부터 다시할 목적이 아니라면 권장하지 않겠다.

 

 

 

lichking003.jpg

→ Export All 한다.

참고로 추출된 데이터는 여러분이 WMV 가 설치된 폴더의 Export 폴더에 저장된다. 예를들어 필자처럼 64비트용 WMV 를 사용한 경우에는 보편적으로는 C:\Program Files\World of Warcraft Model Viewer 이다. 다른 폴더에 프로그램을 설치했거나 포터블 버전을 설치한 유저는 알아서 찾아갈 수 있으리라 생각한다. 다른 폴더나 포터블 버전이 무슨 소리인지 모른다면, 십중팔구는 필자와 똑같은 폴더에 있다고 생각하시면 되겠다.^^

 

 

 

 

 

 

 

Step 2. 3DS MAX 에서 M2 데이터 불러들이기 

 - 필요한 준비물 : 3DS MAX 2010 or 2011, M2 Importer for 3DS MAX, 3DS MAX 를 사용할 줄 아는 사용자.

 - M2 Impoter for 3DS MAX 제작자 : http://www.3dbuzz.com/vbforum/showthread.php?114833-(WoW)-M2-import-plugin

 

 

lichking004.jpg

→ 3DS MAX 에서 M2를 임포트 한다.

3DS MAX 에서 임포트를 할 때, 어떤 자료를 임포트 할 것인지 애니메이션까지 임포트 할 것인지 물어볼텐데, 필자는 애니메이션은 필요하지 않았으므로, 메쉬와 기본적인 스킨맵만 임포트 하였다.

 

 

 

lichking005.jpg

→ 정상적으로 임포트 된 M2 리치킹 모델.

일단 기본적으로 스킨맵이 적용된 본(bone)이 존재한다. 이말은 다시말해서, 웨이트를 별도로 색칠할 필요가 없다는 말이다. (만세!)

 

 

→ 그리고 fbx 포맷으로 마야로 익스포트 한다.

 

 

 

Step 1~2 동영상 : 720P 로 보기를 권장합니다.

 

 

 

 

 

 

 

 

 

 

Step 3. 마야에서 캐릭터 최종 완성하기

 - 필요한 준비물 : MAYA 2011 or 2012, 마야를 사용할 줄 아는 사용자(리깅에 대한 어느정도의 지식도 가지고 있어야 함)

 

 

A. 매터리얼(쉐이더) 연결하기 

 

lichking006.jpg

→ 매터리얼의 연결이 정상적이지 않다. 수동으로 텍스처를 연결해준다.

텍스처 파일이 별로 많지 않으므로, 긴 시간이 필요한 작업은 아니다.

 

 

Step 3-A 동영상 : 720P 로 보기를 권장합니다.

 

 

 

 

 

 

 

 

 

 

B. IK/FK 리깅하기

 

lichking007.jpg

→ WoW 본을 확인한다.

발의 본이 저런식으로 만들어져서는 사실 애니메이션 키를 넘기는데는 문제가 없지만, IK 체인을 연결해서 애니메이션을 할때 문제가 발생한다. 반드시 수정해야 한다.

 

 

 

lichking008.jpg

→ 발목과 발의 본은 이런식으로 수정되어야 한다.

발가락의 움직임은 없다고 가정하고 리깅한 것이다. 기본적으로 다리는 IKRP, 발목과 발을 연결하는데는 IKSC 체인을 사용해서 연결했다. 추가된 본들은 IK 체인의 움직임에 관여할 뿐, 스킨과는 무관하므로 웨이트에 대한 걱정은 하지 않아도 괜찮다. 이미 스키닝된 모델에 본을 추가하는 것은 가능하다.

 

 

 

lichking009.jpg

→ 다리의 IK체인과 몸 각부분의 FK 컨트롤러가 추가되어 최종적으로 완성된 MAYA용 리치킹.

리깅은 사용자 마음이지만 필자가 작업하는 애니메이션의 경우에는 팔에 IK 체인은 필요치 않았으므로, 팔은 FK, 다리는 IK 로 리깅되었다. 시간을 많이 투자해서 FK/IK 스위치 까지 만들수도 있겠지만, 게임용 캐릭터이고 투토리얼 만드는데 너무 시간을 투자하지 말자는 생각으로 간단히 리깅이 되었다.

 

 

Step 3-B 동영상 : 720P 로 보기를 권장합니다.

 

 

 

 

Step 4. 발생 가능한 문제점 및 추가사항 확인.

 

 

A. WoW 캐릭터의 크기(scale)가 상당히 작은 편이다.

물론 맥스나 마야에서 스켈레톤이나 메쉬를 별도로 조절해서 크기를 키우는 방법이 있지만, 기본적으로 제공되는 weightmap(skinmap)이 호환되지 않을 가능성이 있으므로 기본 크기를 언리얼 사이즈로 맞추려면 반드시 weightmap(skinmap)을 테스트해야 한다. 그렇지 않았다가 웨이트가 깨져서 웨이트를 울면서 다시 칠하는 문제를 필자는 책임지지 않는다. :p

 

 

B. 캐릭터의 root joint 위치는 반드시 0,0,0 로 고정해야 한다.

이것은 영상작업용 캐릭터에는 일반적이지 않지만, UDK 같은 게임엔진에서는 흔하게 발생하는 주의점으로, UDK 에서는 피봇을 0,0,0에 두기를 권고하고 있다.

 

FBX 스켈레탈 메시 파이프라인 : 피벗 포인트

언리얼 엔진 내 메시의 피벗 포인트는 트랜스폼(트랜슬레이션, 로테이션, 스케일)이 이루어지는 중심점을 결정합니다. 스켈레탈 메시의 피벗 포인트는 항상 스켈레톤의 루트 본/조인트에 위치합니다. 즉 스켈레톤의 루투는 씬 어디에 있어도 상관 없다는 뜻입니다. 그렇기에 3D 모델링 어플리케이션에서 익스포트할 때 원점(0,0,0)에 있습니다.

- [링크] http://udn.epicgames.com/Three/FBXSkeletalMeshPipelineKR.html#스켈레톤

 

 

 

C. WoW 본 구조와 UE3 애님세트는 호환되지 않는다. 

UDK3 에는 기본적으로 언리얼 3 개발에 사용된 애니메이션 세트가 포함되어 있지만, 유감스럽게도 WoW 의 캐릭터와 본의 구조가 일치하지 않아 애니메이션이 상호 호환되지 않는다. 만약 애니메이션을 호환시키고 싶다면, UDN에서 제공하는 ExampleSkeleton 을 사용해서 리깅을 하면 된다. 필자는 웨이트(스키닝)을 다시 칠하고 싶지 않았으므로 이 방식을 적용하지 않았다. 

ExampleSkeleton 다운로드 : http://udn.epicgames.com/Three/FBXAnimationPipelineKR.html

 

 

D. 립싱크/페이셜을 위한 모프타켓 세팅은?

UDK의 장점은 모프타겟 혹은 블렌드쉐입을 지원한다는 점이지만, 필자가 사용하기에는 몇 가지 문제가 있는데, 첫째는 필자가 페이셜 모델러가 아니어서 모델링을 전혀 못한다는 것이고,  둘째는 WoW의 모델들은 대다수가 블렌드쉐입을 만들만한 얼굴 버텍스 구조를 이루고 있지 않다는 점이다. 모프타켓의 임포트/익스포트도 방식도 사실상 fbx 파이프라인으로 흡수되었으므로, 이를 적용하고 싶다면 UDN 도큐멘트를 참고하면 된다

모프타겟 익스포트 : http://udn.epicgames.com/Three/FBXMorphTargetPipelineKR.html#ExportingMorphs

 

 

 

 

 

 

lichking016.jpg

 

 우수에 잠긴 리치킹

(보기보다 감성적인 외적으로만 시크한 사나이..)

 

 

 

 

 

2부에서 계속됩니다.~

 

 

 

 

 

첨부 [14]

Copyleft © The Sketch Book Since 2001. by hikaru100