Top

유니티 애니메이션 에센셜 [유니티 C# 스크립트로 애니메이션 기초부터 고급까지]

  • 원서명Unity Animation Essentials (ISBN 9781782174813)
  • 지은이앨런 쏜(Alan Thorn)
  • 옮긴이조경빈
  • ISBN : 9788960779730
  • 20,000원
  • 2017년 01월 26일 펴냄
  • 페이퍼백 | 220쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

요약

유니티를 활용해 2D와 3D 게임에서 활용할 수 있는 다양한 애니메이션 기법을 기초부터 고급 단계까지 차근차근 설명하고 있다. 유니티와 C# 스크립트에 대한 기본적인 이해만 갖추고 있다면 전체적인 내용을 무리 없이 따라올 수 있도록 쉽게 구성되어 있다. 게임 개발의 필수 요소인 애니메이션 기법을 처음 접하는 독자 또는 다양한 애니메이션 기법을 배우고 싶은 독자에게 유용한 책이다.

이 책에서 다루는 내용

■ 유니티 5가 제공하는 최신 기능 소개 - 상태 기계, 메시, 애니메이션 그래프 등
■ 스크립트 파일을 사용한 오브젝트의 시간 흐름에 따른 이동, 변환, 교체
■ 애니메이션 에디터와 커브 도구 사용
■ 유니티 씬의 외부 생성 애니메이션을 사용하기 위한 불러오기 및 설정 방법
■ 애니메이션과 C# 스크립트 간의 연결
■ 애니메이션 카메라와 파티클 시스템 생성
■ 2D와 3D 게임을 위한 정교한 스프라이트 애니메이션 생성
■ 캐릭터 애니메이션 개선을 위한 고급 작업 흐름 및 기법 적용

이 책의 대상 독자

유니티 관련 지식을 기본적으로 갖고 있으며 실시간 애니메이션 지식을 확장하고자 하는 독자를 대상으로 한다. 이 책은 독자가 유니티로 간단한 예제 정도는 쉽게 만들 수 있다는 것을 전제로 한다. 특히 메카님 같은 기능을 활용해 쉽고 효율적으로 사실적인 애니메이션을 만드는 방법을 주로 다루고 있다.

이 책의 구성

1장. '애니메이션 기초'에서는 애니메이션의 핵심 개념과 스크립트를 비롯한 유니티가 제공하는 다양한 애니메이션의 적용 사례를 소개한다. 델타 타임(delta Time)과 애니메이션 커브, 그리고 Mesh UVs 애니메이션에 관해서도 살펴본다. 또한 앞으로 소개할 내용에 관한 전반적인 개요를 주로 다룬다.
2장. '스프라이트 애니메이션'에서는 2D 애니메이션에 관해 살펴본다. 2D에서 주로 사용하는 스프라이트(Sprite) 기능과 플립 북(flip-book) 텍스처, 평면 애니메이션을 설명한다. 유니티 스프라이트 에디터, 애니메이션 프레임, 프레임률 등과 흔히 발생하는 문제의 해결 방법까지 살펴본다.
3장. '네이티브 애니메이션'에서는 애니메이션(Animation) 창과 파티클(Particle) 시스템을 사용해 2D와 3D 게임에 적용할 수 있는 좀 더 일반적인 유니티 애니메이션을 다룬다. 유용한 두 개의 실전 예제를 통해 구체적인 내용을 살펴본다. 판타지 게임에서 아주 흔히 사용하는 기법인 파티클 시스템을 만들어볼 예정이다. 카메라가 날아가며 이동하는 연출을 만들고, 먼지나 반딧불 파티클 시스템을 만든다.
4장. '메카님 비캐릭터 애니메이션'에서는 유니티의 대표 기능인 메카님(Mecanim)에 관해 살펴본다. 메카님은 주로 캐릭터와 관한 것으로 부드러운 애니메이션을 가능하게 해주는 고급 기능을 합친 형태를 말한다. 메카님을 활용해 버튼을 누르면 문이 열리는 다소 특수한 형태를 만들어볼 예정이다.
5장. '캐릭터 애니메이션의 기초'에서는 리깅 캐릭터 애니메이션을 살펴보며 실시간 인간 체형 애니메이션에 관해 다룬다. 리깅 캐릭터를 불러오는 방법과 이를 애니메이션에 최적화된 형태로 설정하는 방법에 관해서도 살펴본다.
6장. '고급 캐릭터 애니메이션'에서는 설정된 캐릭터를 유니티로 불러온 후, 플레이어가 제어하는 대로 애니메이션이 반응하도록 해볼 것이다. 이 캐릭터에 휴식 애니메이션과 이동하는 애니메이션을 지원한다.
7장. '블렌드 셰이프, IK, 무비 텍스처'에서는 표정 애니메이션이나 모프 모션에 사용하는 블렌드 셰이프(Blend Shape), 캐릭터의 팔이나 손의 위치를 조정할 때 사용하는 인버스 키네마틱(inverse kinematic), 영상 파일을 텍스처로 사용하는 무비 텍스처(Movie Texture) 등의 주제를 다룬다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.

저자/역자 소개

지은이의 말

애니메이션은 우주선을 이동시키는 간단한 형태부터 표정 애니메이션처럼 복잡한 형태까지 게임 개발에서 없어서는 안 되는 매우 중요한 역할을 담당한다. 일정 수준의 애니메이션을 활용하지 않고서는 인터랙티브한 경험을 주는 게임을 만들기란 불가능에 가깝다. 이 책에서는 유니티가 제공하는 실시간 애니메이션에 관해 하나씩 살펴볼 것이며, 독자들이 유니티 애니메이션에 관한 사전 지식이 전혀 없다는 가정을 바탕으로 설명을 진행할 예정이다. 다만 유니티에 대한 기본 지식과 C#에 대한 기본적인 이해는 충분히 갖췄다고 가정한다. 이런 지식을 밑바탕으로 해서 실전에 적용할 수 있는 예제를 통해 기능을 하나씩 살펴보자.

지은이 소개

앨런 톰(Alan Thom)

프리랜서 게임 개발자이자 저자며, 게임 업계에서 13년 이상의 경력을 쌓았다. 왁스 리리컬 게임즈(Wax Lyrical Games)를 설립했고, 수상작인 <바론>를 개발했다. 또한 10편이 넘는 비디오 강의 코스와 15편의 저서를 보유하고 있다. 주요 저서로는 『유니티 C# 스크립팅 마스터하기』(에이콘, 2016), 『How to Cheat in Unity 5』, 『UDK Game Development』가 있으며, 영국 런던에 있는 국립영화학교(National Film and Television School)에서 석사 학위 과정의 하나인 게임 설계 및 개발에 대해 강의하기도 한다. 게임, 시뮬레이터, 키오스크, 기능성 게임, 게임 스튜디오나 박물관, 테마파크 등을 위한 증강현실 소프트웨어 등 500개 이상의 프로젝트에 참여했으며, 현재는 두 개의 게임 프로젝트를 수행 중이다. 또한 그래픽, 철학, 요가, 하이킹 등에도 관심이 많다. 그에 대해 좀 더 자세히 알고 싶으면 http://www.alanthorn.net에 방문해보길 바란다.

옮긴이의 말

8비트 컴퓨터로 처음 게임을 만들던 시절, 제게 게임은 ‘움직이는 그림’이었다. 속으로 ‘게임이 뭐 별건가. 그림이 움직이고 그게 재미있으면 게임이지.’라며 치기 어리지만 용감한 생각을 하던 때가 기억이 난다. 게임 제작을 직업으로 삼고 있는 지금도 그때와 그리 많이 생각이 달라지지 않았다. 물론 지금 정의하는 게임은 대표적인 첨단 복합 예술로 그 격이 많이 올라갔지만, 애니메이션 요소는 게임에서 따로 떼어 놓고는 도저히 생각할 수 없는 필수적인 구성 요소라는 것은 틀림없다.

보통 애니메이션이라고 하면 컴퓨터 애니메이션을 상상한다. 애니메이션은 컴퓨터가 발명되기 이전부터 인류와 함께해온 요소다. 고대 인류는 동굴 벽화로 애니메이션 요소를 그렸다. 동굴 벽화의 캐릭터의 자세가 단계별로 변하는 그림이 그려진 것이 현재의 애니메이션으로 진화하게 된 것이다. 학창 시절에 교과서 한 귀퉁이에 조금씩 변하는 그림을 그려 넣고 빠르게 넘기면서 각자의 애니메이션을 만들고 자랑하던 기억이 있을 것으로 생각한다. 그것 역시 애니메이션이다.

컴퓨터의 발전과 보급으로 게임 제작 기법도 진화를 거듭해왔고, 현재는 단순히 연속적으로 움직이는 그림을 넘어서서 기술적으로도 다양한 2D/3D 애니메이션 기법이 개발된 상태이다. 이 책은 우리가 실제로 게임 개발에 사용할 유니티(Unity)라는 통합 개발 도구가 제공하는 각종 애니메이션 기법을 기초 형태부터 진화된 형태까지 차례로 설명하고 있다. 전통적인 2D 스프라이트 애니메이션부터 네이티브 애니메이션, 비캐릭터 애니메이션과 캐릭터 애니메이션 그리고 블렌드 트리와 블렌드 쉐잎, 무비 텍스처까지 고급 기법도 함께 다루고 있다. 이 서적 하나면 앞으로 개발할 게임에서 필요한 대부분의 애니메이션 기법을 소화하는 데 무리가 없을 것이다.

게임 애니메이션이라는 흥미로운 주제를 유니티 환경에서 구현하는 방법을 다룬 이 책의 번역을 맡은 일은 제겐 영광스러운 경험이었다. 또 유니티 환경에서 게임을 개발하는 개발자에게 애니메이션 제작의 기초를 탄탄하게 다져줄 수 있는 좋은 서적을 소개할 수 있어서 기분이 좋다.

옮긴이 소개

조경빈

인프라웨어에서 웹 브라우저 엔진 개발에 참여했으며 현재는 게임개발사 셀바스에서 신작 개발에 전념하고 있다. 형식에 얽매이기보다는 자유로움 속에서 효율을 찾는 과정에 관심이 많다. 대학 시절부터 다수의 전시회 출품과 공모전 입상 경력이 있으며, SKT T스토어 제1회 공모전 스마트폰 게임 부문에서 입상하기도 했고, 개인 자격으로 애플 앱스토어에 10개 이상의 앱을 등록해 미국 앱스토어에서 카테고리 1위에 오르는 등 다양한 실험을 하기도 했다. 국내 최초의 유니티 관련 서적인 『유니티 게임 엔진 한글 메뉴얼』(2010)을 번역했으며, 에이콘출판사에서 출간한 『Flash Game Development by Example 한국어판』(2011)과 『모던 자바스크립트 Modern JavaScript』(2014), 『유니티 게임 AI 프로그래밍』(2015), 『RPG를 만들면서 배우는 유니티 2D 게임 개발』(2015), 『The Gourmet iOS Developer’s Cookbook』(2015), 『유니티 게임 AI 프로그래밍 2판』(2016)을 번역했다.

목차

목차
  • 1장. 애니메이션 기초
    • 애니메이션의 이해
      • 프레임
      • 키 프레임
    • 애니메이션 타입
      • 강체 애니메이션
      • 리그드 또는 본 기반 애니메이션
      • 스프라이트 애니메이션
      • 물리 기반 애니메이션
      • 모프 애니메이션
      • 비디오 애니메이션
      • 파티클 애니메이션
      • 프로그래밍 애니메이션
    • 코드를 사용한 애니메이션: 물체 이동
      • 일정한 애니메이션: 속도, 시간, 델타타임
      • 특정 방향으로의 이동
      • 애니메이션 커브를 사용한 트윈 구현
      • 오브젝트를 향한 회전: 코루틴을 사용한 애니메이션
      • 재질과 매핑 애니메이션
      • 카메라 흔들기: 애니메이션 효과
      • 요약

  • 2장. 스프라이트 애니메이션
    • 스프라이트: 불러오고 설정하기
      • 개별 스프라이트
      • 스프라이트 아틀라스
    • 스프라이트를 사용한 애니메이션
      • 스프라이트 애니메이션 속도 조절
      • 애니메이션 반복 해제
      • 잘못된 순서로 재생되는 프레임
      • 요약

  • 3장. 네이티브 애니메이션
    • 애니메이션 창: 카메라 이동 생성
    • 다수의 오브젝트를 함께 애니메이션 처리하기
    • 애니메이션으로부터 함수 호출
    • 파티클시스템
      • 반딧불 파티클 시스템
      • 파티클 시스템 글로벌 속성
      • 이미터 모양과 발사 강도
      • 파티클 렌더러
      • 파티클 속도
      • 파티클 색상과 소멸
      • 요약

  • 4장. 메카님 비캐릭터 애니메이션
    • 프로토타이핑 애셋을 포함한 씬 준비
    • 버튼과 문을 위한 애니메이션 생성
    • 메카님 사용하기
    • 메카님 트랜지션과 파라미터
    • 문 열기 메카님 그래프 생성
    • 씬 상호작용 구성
      • 요약

  • 5장. 캐릭터 애니메이션 기초
    • 리깅 캐릭터 생성
    • 리깅 캐릭터 불러오기
    • 아바타와 리타기팅
    • 리타기팅 애니메이션
    • 루트 모션
    • 모션 오프셋 교정
      • 요약

  • 6장. 고급 캐릭터 애니메이션
    • 제어 가능한 캐릭터 생성
    • 블렌드 트리
      • 차원
      • 부동소수 매핑
    • 블렌드 트리 애니메이션에 스크립트 적용
    • 메카님 블렌드 트리를 사용한 스크립트 작성
    • 메카님 블렌드 트리 테스트
      • 요약

  • 7장. 블렌드 셰이프, IK, 무비 텍스처
    • 블렌드 셰이프
    • 인버스 키네마틱
    • 무비 텍스처
      • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안