작가의 말
지난 몇 년간 유니티(Unity)는 게임과 다른 대화식 애플리케이션의 개발을 위한 유연하고 사용자 친화적인 플랫폼으로서 놀라운 가치를 입증했다. 유니티를 이용해 신속하게 게임 메뉴와 인터페이스를 구성하고, 레벨을 제작하며, 캐릭터 애니메이션을 구현할 수 있으며, 이러한 요소가 상호작용하는 방법을 정의할 수 있다.
유니티는 다른 개발 도구에 비해 씬 뷰포트 창을 중심으로 하는 작업 방식과 3D 소프트웨어와 비슷한 제어 방법을 가진 사용자 친화적인 툴이다. 다른 게임 엔진과 마찬가지로 복잡한 동작을 구현하려면 스크립팅이 필요하지만, 신속하게 코드를 테스트하고 조정할 수 있어 프로그래밍에 경험이 많지 않은 사용자에게도 진입 장벽이 높지 않은 편이다.
전문 개발자는 물론 아마추어 개발자도 쉽게 배우고 익숙해질 수 있는 드래그앤드롭 방식을 지원하며, 다중 플랫폼 퍼블리싱 기능으로 PC, 맥, iOS, 안드로이드, 콘솔 등 다양한 플랫폼용 게임을 만들기 위한 과정을 크게 간소화했다.
유니티 퍼스널 버전은 무료로 다운로드할 수 있어 초보 수준의 게임 개발자에게 적합하다. 자세한 온라인 매뉴얼과 스크립팅 참고서, 그리고 활발한 개발자 커뮤니티를 통해 언제든지 필요한 지원을 받고 질문의 답을 찾을 수 있다.
유니티에 추가된 메카님은 독립 게임 개발자에게 추가 소프트웨어를 사용하지 않고도 캐릭터 애니메이션 제작 프로세스의 많은 부분을 처리할 수 있는 포괄적인 툴셋을 제공한다. 메카님은 여러 애플리케이션 간에 데이터를 가져오고 내보낼 때 흔히 발생하는 문제를 걱정할 필요 없이 기존 애니메이션의 세부 수정과 대상 재설정, 타이밍 조정 등의 작업을 간단하게 처리할 수 있게 해준다.
이 책에서는 실제 게임 개발과 최대한 비슷한 현실적인 환경을 만들기 위해 PC나 콘솔, 모바일 플랫폼에서 많이 볼 수 있는 좀비 재앙 배경의 일인칭 액션 게임을 주요 프로젝트로 선택했다. 이 게임에서 플레이어는 좀비로 가득한 사무실 건물에서 무사히 탈출해야 한다. 캐릭터 애니메이션의 관점에서 보면, 우리는 이 프로젝트에서 플레이어와 적에게 필요한 다양한 유형의 이동과 움직임을 구현해야 한다. - 저자 제이미 딘
유니티는 최근 몇 년간 게임 개발 업계에서 가장 주목받은 주제 중 하나입니다.
다만 그동안 모바일과 웹 게임 대상의 소규모 업체와 개인 개발자들이 유니티를 도입하는 데 적극적이었다면 유니티 5로 오면서 메이저 업체에서도 관심을 가질 만한 최신 기능들이 대거 추가됐습니다. 그중에서도 캐릭터 애니메이션을 상태 기반의 통합 환경으로 편리하게 제작하고 관리할 수 있는 메카님을 더 새롭고 강력한 모습으로 다시 선보였습니다.
이 책은 짜임새 있는 실용적 예제를 제작하는 단계별 과정으로, 메카님의 구조와 핵심 기능을 쉽고 재미있게 배울 수 있도록 구성됐습니다. 메카님을 기반으로 1인칭 슈팅 게임을 제작하면서 지루함 없이 진행의 만족감을 느낄 수 있게 체계적으로 설명한 책입니다. 그 과정에서 게임을 개발할 때 알아야 할 기본 개념까지 예제 안에 매끄럽게 녹여 안내하는 영리함까지 보여주고 있습니다. 오랜만에 일하는 즐거움을 느끼게 해준 책이었습니다. 독자 여러분도 같은 즐거움을 맛보시길 바랍니다. - 역자 최민석
출판사 서평
★ 이 책에서 다루는 내용 ★
■ 모션 캡처 데이터를 개선하고 최적화하는 효율적인 기법
■ 다양한 캐릭터 리깅 간 애니메이션 시퀀스의 대상 재설정
■ 인간형 캐릭터를 리깅하는 방법과 유니티에서 사용할 수 있게 내보내는 방법
■ 두 가지 업계 표준 3D 소프트웨어 패키지에서 키프레임 기법으로 처음부터 동적 애니메이션 시퀀스를 제작하는 방법
■ 복잡한 얼굴 리깅을 구성하는 방법
■ 래그돌 게임오브젝트를 제작하고 게임 안에서 인스턴스로 만드는 방법
■ 메카님을 활용한 플레이어 애니메이션과 AI로 운영되는 적 캐릭터 애니메이션의 통합
★ 이 책의 대상 독자 ★
이 책은 유니티를 이용한 게임 제작 과정 중에서 캐릭터 애니메이션 측면에 초점을 맞췄다.
유니티를 처음 접하는 독자는 유니티 공식 사이트에서 제공하는 기초 소개 문서를 충분히 읽고 시작하는 것이 좋다. 유니티 이전 버전을 사용해본 경험이 있다면 이 책을 진행하면서 기존 작업 과정에 메카님을 적용하는 방법을 이해할 수 있을 것이다.
애니메이션을 처음 접하는 독자라면 이 책에서 사용하는 캐릭터 애니메이션 관련 용어가 익숙하지 않을 수 있으므로, 가급적이면 용어가 새로 등장할 때마다 간단한 설명을 포함했다.
이 책은 프로그래머보다는 아티스트를 염두에 두고 쓰여졌다. 자신이 만든 아트워크를 데모나 게임으로 선보이기 위해 유니티를 이용한 캐릭터 애니메이션을 배우려는 것이라면 이 책은 여러분에게 가장 적합한 책이다!
★ 이 책의 구성 ★
이 책은 게임 개발에서 캐릭터 애니메이션 측면의 여러 다양한 프로세스를 독자에게 소개한다. 유니티의 기본적인 애니메이션 툴과 메카님 툴셋을 소개하고, 이러한 툴을 게임 애니메이션 제작에 이용하는 방법을 설명한다.
1장, '좀비가 온다!'에서는 메카님의 인터페이스를 소개하고 리깅된 캐릭터를 유니티로 가져와서 애니메이션을 구성하는 과정을 설명한다.
2장, '3ds 맥스와 마야에서 유니티용 캐릭터 리깅'에서는 유니티 엔진과 널리 이용되는 3D 소프트웨어 간의 관계를 설명하고 외부 소프트웨어로 준비한 캐릭터 모델을 유니티로 원활하게 가져오는 방법을 알아본다.
3장, '환경과의 상호작용'에서는 캐릭터와 환경 간의 현실적인 상호작용을 구현할 수 있는 몇 가지 다른 전략을 비교해본다.
4장, '모션 캡처 데이터 활용'에서는 메카님 툴셋을 이용해 캐릭터 애니메이션에 모션 캡처 파일의 데이터를 적용하는 방법을 배운다.
5장, '애니메이션 대상 재설정'에서는 애니메이션 클립의 재사용에 대해 고려하고, 유니티에서 애니메이션을 다른 캐릭터 유형에 적용하는 방법을 알아본다.
6장, '말하는 머리'에서는 메카님의 얼굴 애니메이션 기능에 대해 알아보고, 게임 안에서 얼굴 애니메이션을 구현하는 데 필요한 스크립팅을 다룬다.
7장, '블렌드 트리를 이용한 플레이어 애니메이션 제어'에서는 애니메이터 패널의 고급 기능을 활용해 제한된 스크립팅으로 서로 다른 애니메이션 클립 사이를 부드럽게 블렌딩하는 방법을 자세히 살펴본다.
8장, '래그돌 피직스 구현'에서는 실세계의 물리 체계와 캐릭터 컨트롤러의 기능을 비교하고, 래그돌을 이용해 캐릭터 구성에 이러한 물리 체계를 적용하는 방법을 배운다.
9장, 'AI와 트리거를 이용한 적 애니메이션 제어'에서는 스크립팅한 행동과 유니티의 navMesh 내비게이션 시스템을 함께 이용해 게임 안에서 적 캐릭터 애니메이션을 제어하는 방법을 알아본다.