본문 바로가기
유니티3D

유니티3D - NPC 메이커? UMA! ( 유니티 다목적 아바타 ) #1

지난 시간까지는 NPC와의 대화창을 만들었다면,

https://itadventure.tistory.com/422

 

유니티3D - NPC 대화창 #4. 이미지 UI, 그리고 마스크 이미지

지난 게시글에서는 리치 텍스트란걸 사용하여 대화창의 대사에 색상을 넣는 방법과 크기를 조절하는 등 몇가지 방법을 살펴보았습니다. https://itadventure.tistory.com/421 유니티3D - NPC 대화창 #3. 대화

itadventure.tistory.com

이번 시간에는 인간형 NPC를 만들어 볼 차례입니다.
하지만 인간형 NPC 모델을 만드는 것은 꽤 어렵습니다.

그래서 에셋 스토어에서 쓸만한 NPC 가 없나 찾아보던 중 멋진 도구를 발견했습니다.
그것은 바로 NPC 랜덤 메이커 에셋입니다.

정확한 명칭은 UMA 2 ( Unity Multipurpose Avatar : 유니티 다목적 아바타 ) 인데요.
아래 URL 에서 무료로 구하실 수 있습니다.

https://assetstore.unity.com/packages/3d/characters/uma-2-unity-multipurpose-avatar-35611

에셋 스토어에서 에셋을 구매해서 유니티로 가져오는 부분은 
지난 "에셋 스토어로 마을을 꾸며보자" 편을 참조해 주세요.
지금까지의 프로젝트를 열어놓은 상태에서 불러와 주시면 됩니다.

https://itadventure.tistory.com/408

 

유니티 3D - 에셋 스토어로 마을을 꾸며보자!

지난 챕터에서는 에셋 스토어에서 공짜로 구매한 자모 로봇 캐릭터의 스크립트를 수정하는 방법을 살펴보았는데요. itadventure.tistory.com/405 유니티 3D - 아셋 스토어 캐릭터 스크립트 수정 - 스카이

itadventure.tistory.com

UMA 에셋을 불러온 경우, 에셋 창은 아래와 같을 겁니다.
여기서 UMA 라는 폴더가 바로 UMA 에셋이 들어 있는 곳입니다.

UMA 폴더를 펼치신 다음 Getting Started 폴더를 선택해 주세요.

해당 폴더에는 몇가지 선택 옵션이 보이실 겁니다.

우선적으로 UMA 기능을 총괄적으로 작동하게 하는 라이브러리를 하이라치창에 한번 설치해야 하는데요.
설치한다고 해서 거장한 것 없고, UMA_GLIB 프리팹 오브젝트를 마우스로 클릭,
하이라치(Hierarchy)창에 드래그해 넣어주시면 됩니다.

이 동작은 NPC 를 몇 사람으로 하든 관계없이 하나의 씬에 한번만 세팅하면 됩니다.

이제 NPC를 배치해 볼까요?
먼저 UMADynamicCharacterAvatar.prefab오브젝트를 선택해 보시는데요.
이름이 잘려서 안보이니 하나씩 클릭해서 하단의 명칭을 확인해 주세요.
크레이가 다운받은 버전은 끝에서 2번째이지만 차후 버전업이 되면 위치가 달라질 수 있습니다.

이 오브젝트를 Scene 창의 바닥에 드래그해보세요.
그러면 이렇게 NPC 가 따딴하고 나타납니다.

NPC 가 좀 추워보이니 옷을 입혀주도록 합시다.
NPC 에게 옷을 입혀주면서 실시간으로 조회하는 것은 플레이모드에서민 가능한데요.
먼저 플레이 버튼을 눌러주신 다음에,

플레이 중에 Scene 탭을 선택해 주세요

NPC를 선택하신 다음에 F 키를 눌러주시면 이렇게 NPC가 화면중앙에 잘 보이실 겁니다.

하지만 옷을 입히려면 현재 선택된 오브젝트가 아닌 그 상위 오브젝트를 선택해주어야 하는데요.
Hierarchy 창에 보면 UMARenderer 오브젝트가 선택되어 있을 겁니다.

먼저 그 상위 오브젝트인 UMADynamicCharacterAvatar 오브젝트를 선택해주세요.

그리고 나서 우측 Inspector(인스펙터) 창을 보시면 매우 많은 속성이 있는 것을 보실수 있습니다.

먼저 Active Race 선택상자는 NPC 의 성별을 의미합니다.
남자, 여자 NPC, 웨어울프 등 몇가지 선택항목이 있습니다.

HumanFemale 을 선택한 경우

그 아래 보이는 Customization 은 NPC 커스터마이징인데요.
첫번쨰로는 Default Wardrobe Recipes 가 바로 의상입니다.

Drag Wardrobe Recipes here or click to pick ( 의상레시피를 이 곳에 드래그하거나 클릭하여 선택하세요 ) 라고 적힌 부분을 마우스로 클릭해 주세요.

그러면 팝업창이 뜨는데요. 이 중에서 입혀줄 의상을 선택하시면 됩니다.
참고로 Female 이 여성아이템이고, Male 이 남성아이템입니다.

이것 저것 입혀보세요 :) 대충 클릭하니 이런 의상이 나오는군요,

아쉬운 점은 미리보기같은게 없다는 점입니다. 클릭하면 바로 입혀집니다.
착용한 의상은 Inspector 창에서 위에서부터 아래로 하나씩 추가되는데요.
의상을 잘못 선택한 경우에는 바로 X 버튼을 눌러주시면 됩니다.

아이템 착용 바로 아래에 피부색을 정하는 부분이 나옵니다.
위에서부터 머리색상, 눈색상, 피부색상인데요.

BaseColor색상을 의미하고, Matalic/Gloss광택을 의미합니다.
BaseColor 의 색상영역을 선택하면 아래와 같은 색상 선택창이 노출되는데요

이중에서 원하시는 색상을 선택하시고 창을 닫아주시면 됩니다.
동그란 원에서 원하는 색상을 선택하고, 가운데 네모난 상자에서
채도(색의 짙고 옅은 정도)와 밝기를 선택해주시면 됩니다.

광택의 경우도 이와 같은 색상 선택창이 뜹니다
특히 광택의 적용여부는 알파값으로 조정하는데요. 아래 그림과 같은 부분의 막대를 드래그하시면 됩니다.

광택을 전혀 적용 안한 얼굴은 이와 같고

광택을 100% 적용한 얼굴은 이와 같습니다.
웬지 액체 터미네이터같은 느낌이지요 ? :)

많은 옵션이 있지만 쭉쭉 넘어가고 UMA Data 라는 부분을 보도록 하겠습니다.

이 것은 NPC의 체형을 꾸미는 기능입니다.

Arm 은 어깨를 의미하는데요.
Length 는 팔의 길이를 늘리거나 줄여주는데 비정상적일 정도까지 수축이 가능합니다.

그 외 여러 옵션은 여러분께서 직접 테스트해보세요 :)
기회가 되면 해당 부분만 조사해서 따로 정리하도록 하겠습니다.

자, 이렇게 공들여 꾸민 NPC 세팅이 세상에나.. 세상에나..
플레이를 중지하면 모두 사라집니다! ( 이게 무슨 날벼락인가!? )

그렇기 때문에 이렇게 설정한 NPC 는 프리팹으로 구워버려야 하는데요.
프리팹으로 구워버리면 에셋에 저장이 됩니다.
관련 기능은 UMA - Prefab Maker 에 있습니다.

위 메뉴를 선택하면 아래와 같은 프리팹 메이커 창이 나오는데요.
이중에서 UMA Avatar, Prefab Name, Prefab Base Folder 3가지 필수 항목을 채워넣어 주셔야 합니다.

먼저 UMA Avatar 는 프리팹으로 구울 NPC를 선택하라는 것인데요.
여러 NPC를 만들었을 때 그 중 하나를 선택하기 위한 것입니다.

우측 과녁판을 클릭!

지금은 단 하나밖에 없으니까 해당하는 오브젝트를 더블클릭해서 선택해주시면 됩니다.

Prefab Name 에는 NPC 오브젝트의 이름을 적어주시면 되는데요.
자유롭게 지어주시면 됩니다.
크레이는 NPC-MAIN-01 로 짓도록 하겠습니다.

다음으로 저장할 에셋 폴더를 선택해주시면 되는데요.
폴더가 없으니 이 창 말고 뒤로 보이는 Project 창에서 
Assets 폴더 하위에 UMA_PREFAB 폴더를 하나 만들어주도록 합시다.
Assets 을 마우스 우클릭 - Create - Folder 선택 후 폴더이름을 UMA_PREFAB 라고 정해주시면 됩니다.

이제 폴더가 생겼으니 Prefab Base Folder 우측의 과녁판을 클릭하시고

UMA_PREFAB 폴더를 선택하시면 되는데요.

내용이 너무 많아서 찾기가 어렵습니다. ( 무료라서 그런가... )
이 때는 상단 검색창에 UMA_PR 까지만 입력하면 이름이 매칭하는 항목만 노출되어
더블클릭하시면 선택됩니다.

자, 이렇게 모든 항목이 입력되면 Make Prefab 버튼이 뜨는데요.
고민하지 말고 클릭해주세요.

1~2분간 무언가를 막 혼자 작동하다 아래와 같은 창이 나옵니다.
제대로 만들었단 이야기이지요. 당연히 OK 클릭!

자, 이제 플레이를 중지해봅시다.
분명 금방 옷을 입히고 이것 저것 주었는데도 불구하고 NPC가 다시 이렇게 되버렸습니다.

하지만 걱정마세요. 금방 우리는 완성된 NPC 를 프리팹으로 구워버렸습니다.
이 NPC는 이제 지워버리시고,

금방 만들었던 UMA_PREFAB 폴더에 보면 NPC-MAIN-01 폴더가 생겼을 것입니다.
이 폴더를 선택하신 다음에,

폴더 안에 보면 이런 내용들이 들어 있을텐데요.

그 중 제일 첫번째 프리팹을 끌어다가 Scene의 바닥에 놓아주시면 됩니다.
우리가 설정했던 NPC의 모습이 그대로 나오는 것을 보실수 있지요.

NPC 1명 완성입니다!

하나의 NPC를 추가하는 방법을 설명드렸는데요.
필요한 NPC 가 많다면 이런 과정이 귀찮을 수도 있습니다.
그래서 랜덤 NPC를 여러명 생성해서 추가하는 방법도 있는데요
관련 방법은 다음번 게시글을 기대해 주세요~

필요하신 분에게 도움이 되셨는지 모르겠군요.
오늘도 여기까지 읽어주셔서 감사하며
유익하셨다면 좋아요! 구독! 감사합니다 :)


다음 게시글. NPC 랜덤 메이커 UMA! 랜덤 군중 만들기 편입니다.

https://itadventure.tistory.com/424

 

유니티3D - NPC 랜덤 메이커 UMA! ( 유니티 다목적 아바타 ) #2

지난 게시글에서는 UMA 를 이용한 NPC 생성에 대해서 살펴보았습니다. https://itadventure.tistory.com/423 유니티3D - NPC 메이커? UMA! ( 유니티 다목적 아바타 ) #1 지난 시간까지는 NPC와의 대화창을 만들었..

itadventure.tistory.com