Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Основы анимации в Unity

Покупка
Артикул: 660019.03.99
Доступ онлайн
399 ₽
В корзину
Unity является самодостаточным, интегрированным движком для разработки игр, который предоставляет готовые к применению функции для создания интерактивного 3D-контента. Это игровой движок, соединенный с многофункциональной и сложной системой анимации Mecanim. Данная книга содержит описание мощных инструментов анимации и способов их применения в Unity. Сначала рассматриваются основные идеи, а затем примеры их практического использования для создания анимации в режиме реального времени в играх. В издании собрано множество полезных советов для создания анимации профессионального качества, а также для разработки быстрых интерактивных сцен. Каждая глава посвящена одной из областей анимации, от установки и событий до анимации персонажей и систем частиц. Прочтя эту книгу, вы сможете в полной мере использовать возможности системы Mecanim и Unity.
Торн, А. Основы анимации в Unity : практическое пособие / А. Торн ; пер. с англ. Р. Рагимова. - Москва : ДМК Пресс, 2019. - 176 с. - ISBN 978-5-97060-716-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/2012522 (дата обращения: 06.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Алан Торн

Основы анимации в Unity

Unity Animation 
Essentials

Alan Thorn

Bring your characters to life with the latest features 
of Unity and Mecanim

Оживите свои персонажи с помощью последних 
достижений Unity и системы Mecanim

Основы анимации 
в Unity

Москва, 2019

Алан Торн

УДК 004.4'2Unity3D
ББК 32.972
 
Т60
 

 
 
Торн А.
Т60 
Основы анимации в Unity / пер. с англ. Р. Рагимова. – М.: ДМК 
Пресс, 2019. – 176 с.: ил. 

 
ISBN 978-5-97060-716-9

Unity является самодостаточным, интегрированным движком для 
разработки игр, который предоставляет готовые к применению функ-
ции для создания интерактивного 3D-контента. Это игровой движок, 
соединенный с многофункциональной и сложной системой анимации 
Mecanim. Данная книга содержит описание мощных инструментов 
анимации и способов их применения в Unity. Сначала рассматриваются 
основные идеи, а затем примеры их практического использования для 
создания анимации в режиме реального времени в играх. В издании 
собрано множество полезных советов для создания анимации профес-
сионального качества, а также для разработки быстрых интерактивных 
сцен. Каждая глава посвящена одной из областей анимации, от уста-
новки и событий до анимации персонажей и систем частиц.
Прочтя эту книгу, вы сможете в полной мере использовать возмож-
ности системы Mecanim и Unity.

 
УДК  004.4'2Unity3D

 
ББК 32.972

Все права защищены. Любая часть этой книги не может быть воспроиз-
ведена в какой бы то ни было форме и какими бы то ни было средствами без 
письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но по-
скольку вероятность технических ошибок все равно существует, издательство 
не может гарантировать абсолютную точность и правильность приводимых 
сведений. В связи с этим издательство не несет ответственности за возможные 
ошибки, связанные с использованием книги.

ISBN 978-1-78217-481-3 (анг.) 
         Copyright © Packt Publishing
ISBN 978-5-97060-716-9 (рус.) 
          ©  Оформление, перевод,  

 
 
    ДМК Пресс, 2019

Содержание

Об авторе .......................................................................... 7

О технических рецензентах .................................................. 8

Предисловие ..................................................................... 9

Глава 1  Основные принципы анимации .............................15
Основные понятия анимации ........................................................................................15
Кадры .............................................................................................................................16
Ключевые кадры ........................................................................................................17
Типы анимации ...................................................................................................................18
Анимация твердого тела ..........................................................................................18
Оснащенная анимация, или анимация на основе скелета ...........................19
Анимация спрайтами ...............................................................................................20
Анимация, основанная на физике ........................................................................21
Анимации превращения ..........................................................................................22
Видеоанимация ..........................................................................................................23
Анимация частицами ................................................................................................25
Программная анимация ...........................................................................................25
Анимация с помощью кода – придание предметам движения ..........................27
Совместимая анимация – скорость, время и deltaTime ................................29
Движение в направлении ........................................................................................31
Программирование автогенерации с помощью анимационных  
кривых ...........................................................................................................................34
Вращение объектов – анимация с помощью сопрограмм ...........................38
Материалы и рельефная анимация .....................................................................41
Дрожание камеры – анимационные эффекты .................................................43
Итоги ......................................................................................................................................45

Глава 2  Анимация спрайтами ...........................................46
Спрайты, их импорт и настройка .................................................................................47
Отдельные спрайты ..................................................................................................47
Атлас спрайтов............................................................................................................50
Анимация с помощью спрайтов ....................................................................................54
Анимация спрайтами слишком медленная или слишком быстрая .........56
Анимация должна быть цикличной ....................................................................58
Кадры воспроизводятся в неправильном порядке.........................................58
Итоги ......................................................................................................................................61

Глава 3  Встроенная анимация ..........................................63
Окно анимации – создание полета ..............................................................................63
Анимация нескольких объектов сразу .......................................................................71
Вызовы функций из анимации .....................................................................................72

 Содержание

Системы частиц ..................................................................................................................75
Система частиц для имитации светлячков .......................................................77
Общие свойства системы частиц ..........................................................................79
Форма эмиттера и скорость эмиссии ..................................................................80
Внешний вид частиц .................................................................................................82
Скорость частиц .........................................................................................................83
Цвет частиц и их исчезновение .............................................................................85
Итоги ......................................................................................................................................87

Глава 4  Анимация предметов с помощью  
системы Mecanim ..............................................................89
Подготовка сцены с помощью прототипирования активов  ...............................89
Создание анимаций для кнопки и двери ...................................................................90
Начало работы с системой Mecanim ...........................................................................95
Переходы и параметры системы Mecanim ................................................................98
Создание графа системы Mecanim для открывания двери ...............................105
Создание интерактивных сцен ....................................................................................105
Итоги ....................................................................................................................................113

Глава 5  Основы анимации персонажей ............................114
Создание оснащенных персонажей  ..........................................................................114
Импорт оснащенных персонажей ..............................................................................116
Аватары и ретаргейтинг  ................................................................................................118
Ретаргейтинг анимации  ................................................................................................124
Перемещение корневого объекта ...............................................................................130
Исправление смещения при движении  ...................................................................130
Итоги ....................................................................................................................................135

Глава 6  Продвинутая анимация персонажей  ....................137
Создание управляемого персонажа ...........................................................................137
Смешивание деревьев  ....................................................................................................139
Размерности .......................................................................................................................142
Отображение десятичных чисел с дробной частью .............................................146
Подготовка к написанию скрипта для смешивания деревьев анимаций .....149
Написание скрипта для управления смешиванием деревьев системы 
Mecanim .......................................................................................................................150
Тестирование смешивания деревьев системы Mecanim .....................................152
Итоги ....................................................................................................................................152

Глава 7  Смешивание форм, инверсная  
кинематика и анимированные текстуры ..............................154
Смешивание форм ...........................................................................................................154
Инверсная кинематика ..................................................................................................157
Анимированные текстуры ............................................................................................168
Итоги ....................................................................................................................................173

Предметный указатель .....................................................175

Об авторе

Алан Торн (Alan Thorn) – независимый разработчик игр и писатель, более 13 
лет занимающийся промышленной разработкой игр. Он основатель компании 
Wax Lyrical Games и создатель игры Baron Wittard: Nemesis of Ragnarok, 
отмеченной многочисленными призами. Он также автор более десятка видео-
курсов и пятнадцати книг о разработке игр, среди которых – Mastering Unity 
Scripting, How to Cheat in Unity 5 и UDK Game Development. Кроме того, он яв-
ляется приглашенным лектором магистерского курса дизайна и разработки 
игр в Национальной школе кино и телевидения в Лондоне.
Алан участвовал как независимый разработчик в более чем 500 проектах 
по созданию игр, симуляторов, игровых киосков, сложных игр, программ рас-
ширения реальности, программного обеспечения для игровых студий, музеев 
и тематических парков по всему миру. В настоящее время он работает в двух 
игровых проектах. Он также увлекается графикой, философией, йогой и пе-
шими походами. Больше информации о нем можно найти на сайте http://
www.alanthorn.net.

О технических  
рецензентах

Адам Сингл (Adam Single) – муж, отец, профессиональный разработчик, ин-
ди-разработчик, любитель музыки и геймер. Он программист игры 7bit Hero; 
программист в команде Real Serious Games в Брисбене, Австралия; соучреди-
тель, программист и содизайнер Sly Budgie; соорганизатор компании Game 
Technology Brisbane meetup.
В области профессиональной разработки игр он с 2011 года, он работал 
над многими мобильными играми, в том числе над хитом для андроида Photon 
и предустановленными играми для мобильных телефонов Disney Japan’s. 
Адам был программистом в команде, которая создала огромный интерак-
тивный дисплей в технологическом университете Квинсленда (Queensland 
University of Technology’s), поразительную мультитач-инсталляцию, которая 
была названа The Cube. Это было сделано в рамках Australia’s first Digi tal 
Writing Residency. Он также работал в команде Real Serious Games над соз-
данием масштабных интерактивных демонстраций для горнодобывающей 
и строительной промышленности, некоторые из которых являются виртуаль-
ными реальностями и основаны на Oculus Rift. Все это было сделано с по-
мощью игрового движка Unity.
У Адама страсть к уникальным возможностям современных технологий. 
Когда он не работает над новой перспективной игровой механикой для ком-
пании Sly Budgie, он экспериментирует с домашней виртуальной реально-
стью с использованием технологии мобильного телефона, создает мобильные 
приложения, применяя самые современные методы веб-разработки и выдви-
гая захватывающие идеи.
Брайан Р. Вензен (Bryan R. Venzen) – художник визуальных эффектов 
и аниматор из Тампы, штат Флорида. После окончания Florida Interactive 
Entertainment Academy (FIEA) в 2011 году он увлекся спецэффектами и ани-
мацией для мобильный телефонов, ПК и игровых приставок. Благодаря сво-
им способностям и опыту он вносит свой вклад во многие проекты, создавая 
спецэффекты, включая спецэффекты для производства, работающие на фи-
зическом движке NVIDIA (PhysX), анимацию, и выполняя моделирование 
в пакетах Autodesk 3ds Max и Maya, разрабатывая уровни на Unity и UDK, 
активно участвуя в обсуждениях дизайна, чтобы улучшить общее качество 
продукции. Брайан быстро обучается и целеустремленно работает в  команде, 
владея многими 3D-пакетами, движками и инструментами для игр. Он явля-
ется специалистом в вопросах поиска и устранения неисправностей и хорошо 
себя чувствует в быстро развивающейся рабочей среде. Создание развлека-
тельного контента – его страсть.

Предисловие

Ничто не сравнится с ней! Анимация играет в играх главную роль 
практически везде, от простого применения, такого как, например, 
полет космического корабля, до сложного, как мимика лица. Вы 
просто не сможете разработать полноценную игру и по-настоящему 
интерактивное приложение без хоть какого-то использования анима-
ции. В этой книге мы шаг за шагом обойдем всю обширную область, 
предлагаемую Unity, для создания анимации в реальном времени. 
Мы начнем свой путь с самого простого. Эта книга не предполагает 
предварительного наличия каких-либо знаний об анимации или опы-
та применения анимации в Unity. Однако книга предполагает хотя 
бы некоторое знакомство с разработкой в Unity, умение пользоваться 
ее основным интерфейсом и хотя бы начальные навыки написания 
кода на языке программирования C#. Используя все это в качестве 
отправной точки, вы с помощью данной книги научитесь создавать 
множество удивительных анимаций и применять их для отображе-
ния реального мира, сможете достичь ощутимых результатов быстро 
и легко. А сейчас давайте посмотрим, что ждет нас впереди…

Что охватывает эта книга

Глава 1 «Основы анимации» начинается с формального описания ани-
мации как понятия, раскрывается сущность анимации. Затем в этой 
главе рассматриваются применяемые в Unity типы анимаций и напи-
сание связанных с ними скриптов. Сюда включены описания работы 
с deltaTime, анимационными кривыми и даже рельефная анимация 
мешей. В общем, эта глава начинает наше путешествие по анимации 
и охватывает все, что нам необходимо знать для продвижения вперед.
Глава 2 «Анимация спрайтами» исследует анимацию в мире 2D, 
свойства спрайтов, используемых для создания 2D-игр, текстуры 
книг с двигающимися картинками и плоскую анимацию. Рассматриваются 
редактор спрайтов Unity, кадры анимации, частота кадров 
и исправление общих проблем анимации.
Глава 3 «Встроенная анимация» позволит вам ознакомиться с анимацией 
и для 2D, и для 3D в Unity, научит вас использованию окна 
Animation и системы частиц. Мы рассмотрим два реальных и полезных 
проекта. Во-первых, мы заставим камеру облететь уровень. Во-
вторых, мы создадим систему частиц светящейся пыли, которая нередко 
встречается в фантастических играх.

 Предисловие

Глава 4 «Анимация предметов с помощью системы Mecanim» научит 
вас обращению с флагманским инструментом Unity, носящим 
имя Mecanim. Mecanim включает в себя набор функций, совместное 
использование которых делает возможным создание современной 
плавной анимации, особенно для персонажей. В этой главе мы рассмотрим 
несколько нетрадиционные примеры использования системы 
Mecanim для оживления дверей и других интерактивных реквизитов 
уровней.
Глава 5 «Анимация персонажей: основы» начинается с анализа оснащенной 
анимации персонажей. В этой главе мы рассмотрим, как ани-
мировать гуманоидный скелет и персонаж в реальном времени. Мы 
также рассмотрим, как импортировать готовые персонажи и оптимально 
настроить их для анимации.
Глава 6 «Продвинутая анимация персонажей» логически вытекает 
из предыдущей главы. Итак, возьмем импортированный и настроенный 
в Unity персонаж и  анимируем его как управляемый игроком. 
Этот персонаж будет поддерживать анимацию ожидания, анимацию 
ходьбы и бега, а также анимацию поворотов влево и вправо.
Глава 7 «Смешивание форм, инверсные кинематики и анимирован-
ные текстуры» последняя в этой книге. В этой главе рассматриваются 
следующие темы: смешивание форм для анимации лица и других 
телодвижений, обратная кинематика для точного позиционирования 
рук и ног персонажа в режиме реального времени, анимированные 
текстуры для воспроизведения видеофайлов в виде проецирования 
на геометрических поверхностях.

Что вам необходимо при чтении 
этой книги

Эта книга содержит почти все, что вам нужно при работе с ней. Каждая 
глава рассматривает практические, реальные проекты анимации 
и включает сопутствующие файлы, которые можно загрузить и использовать. 
Одно только вам нужно, не считая этой книги и вашего 
внимания к ней, – это копия самой последней версии Unity; на время 
написания данной книги это Unity 5. Приложение Unity 5 бесплатно 
для личного использования и может быть загружено с сайта Unity 
https://unity3d.com/. В дополнение к Unity, если вы захотите создать 
движущиеся модели персонажей и прочие анимированные 3D-активы, 
вам понадобится программное обеспечение для 3D-моделирования 
и анимации, такое как 3ds Max, Maya или Blender. Blender можно бес-

Соглашения  11

платно использовать, загрузив его с сайта http://www.blender.org/. Однако 
в этой книге описана только анимация в Unity.

Для кого эта книга

Если вы имеете базовые знания о Unity и собираетесь их расширить, 
хотите узнать больше об анимации в реальном времени, тогда 
эта книга для вас. Автор книги предполагает, что вы уже разрабатываете 
простые приложения, пишите несложные скрипты и желаете 
научиться чему-то большему, например понимать наиболее продвинутые 
концепции анимации. Особенно вы, возможно, хотите узнать, 
как инструменты, такие как Mecanim, помогут вам не только создать 
невероятную анимацию, но и сделать вашу работу проще и эффективнее.


Соглашения

В этой книге использовано несколько стилей текста для выделения 
разных видов информации. Здесь приведены примеры этих стилей 
с объяснением их назначения. 
Тексты программ, имена таблиц баз данных, имена папок, файлов, 
расширения файлов, параметры, просто URL, ввод пользователя 
и заголовки в Twitter будут выглядеть так: «По умолчанию все новые 
скрипты создаются с  двумя функциями Start и Update».
Блок программного кода будет приведен в следующем виде:

using UnityEngine;
using System.Collections;
public class MoviePlay : MonoBehaviour 
{ 
 //Reference to movie to play 
 public MovieTexture Movie = null; 
 // Use this for initialization 
 void Start () 
 { 
  //Get Mesh Renderer Component 
  MeshRenderer MeshR = GetComponent<MeshRenderer>(); 
  //Assign movie texture 
  MeshR.material.mainTexture = Movie; 
  GetComponent<AudioSource>().clip = Movie.audioClip; 
  GetComponent<AudioSource>().spatialBlend=0; 
  Movie.Play(); 
  GetComponent<AudioSource>().Play(); 
 }
}

 Предисловие

Когда мы захотим обратить ваше внимание на отдельные части 
программного кода, соответствующие строки или слова будут выделены 
полужирным шрифтом:

using UnityEngine;
using System.Collections;
public class Mover : MonoBehaviour 
{ 
 // Use this for initialization 
 void Start () { 
 } 
 // Update is called once per frame 
 void Update () 
 { 
  //Transform component on this object 
  Transform ThisTransform = GetComponent<Transform>(); 
  //Add 1 to x axis position 
  ThisTransform.position += new Vector3(1f,0f,0f); 
 }
}

Новые термины и важные слова будут выделены полужирным 
шрифтом. Слова, которые вы увидите на экране, например в меню 
или в диалоговых окнах, будут отображены в нашем тексте так: «Как 
только кривая будет закончена, для тестирования кода запустите проект 
в Unity, и вы увидите эффект на закладке Game».

 Так будут оформляться предупреждения и важные примечания.

 Так будут оформляться советы и рекомендации.

Обратная связь с читателями

Для нас важны отзывы наших читателей. Дайте нам знать, что вы думаете 
об этой книге, что вам понравилось или, может быть, не понравилось. 
Отзывы читателей важны для определения наиболее нужных 
вам направлений. 
Чтобы связаться с нами, просто отправьте электронное письмо по 
адресу feedback@packtpub.com, указав название книги в теме вашего 
сообщения.
Если есть область, которую вы хорошо знаете, и хотите написать 
книгу или посодействовать выходу книги, ознакомьтесь с нашим руководством 
для авторов на www.packtpub.com/authors.

Доступ онлайн
399 ₽
В корзину