Все для юнити

Unity 3D — это бесплатный, набирающий популярность мощный движок для создания и разработки игр и различных приложений. С его помощью вы можете создавать игры для различных платформ Windows, iOS, Blackberry, OSX, Wii, Android, Playstation 3, Xbox и Flash. Каждое созданное приложение в программе Unity 3D способно поддерживать OpenGL и DirectX.

Обзор игрового движка Unity 3D:

Обозреватель ресурсов и список игровых объектов (Project, Hierarchy)

Обозреватель ресурсов крайне удобен тем, что все необходимые ресурсы можно создавать прямо там, без необходимости открывать проводник операционной системы. Все созданные ресурсы сортируются по имени. При двойном клике на каком либо файле открывается программа для просмотра этого файла ассоциированная с ним в вашей системе, или же файл открывается в редакторе если это сцена. После добавления игрового объекта (3D модели, префаба, эффекта частиц, камеры) в сцену она появляется в списке игровых объектов.

Список игровых объектов или же иерархия – это некая структура из объектов. Тут можно назначить один объект дочерним у другого путем перетаскивания этого объекта в другой, а так же можно выбрать объект для редактирования его в инспекторе.

Инспектор (Inspector)

При выборе игрового объекта в обозревателе, списке объектов, или в сцене, в инспекторе появляются его характеристики, а так же список переменных в назначенном на него скрипте. Все применённые к игровому объекту компоненты так же отображаются в инспекторе.

Главная особенность инспектора заключается в том, что все переменные кроме числовых и строковых назначаются из обозревателя ресурсов, или из списка игровых объектов путем перетаскивания нужного типа ресурса, или игрового объекта на строку с переменной в инспекторе. Еще в инспекторе можно изменять позицию и поворот игрового объекта в сцене, назначать теги и слои, активировать и деактивировать объект.

Верхняя панель

Игру можно тестировать в редакторе без необходимости ее компиляции. Для этого нужно всего лишь нажать на соответствующую кнопку в верхней панели. А так же игру можно поставить на паузу, чтобы внести какие либо поправки. В левой части верхней панели находятся кнопки изменения перемещения по сцене, поворота и масштабирования игровых объектов. В правой же части можно выбрать слой для отображения его в редакторе и режим расположение окон.

Редактор сцен

В редакторе сцен строятся игровые уровни. Уровни состоят из игровых объектов, поведение которых программируется на любом из трёх языков программирования — javascript, C# и Boo. Любой объект, будь то 3D модель, эффект частиц, префаб, или камера считается игровым объектом и отображается в списке игровых объектов. Чтобы назначить скрипт игровому объекту, который находится в сцене, достаточно перетащить его на этот объект, что очень удобно. Положение объектов в сцене легко меняется. Для этого нужно просто перетаскивать их по трём координатным осям в то место, куда вы хотите. Материалы объектам назначаются из обозревателя ресурсов, которые так же перетаскиваются на объект. В верхней части окна сцены можно изменить режим отображения содержимого сцены. Список режимов: textured, wireframe, tex – wire, render paths, и light map resolution. Перемещение по сцене осуществляется клавишами W, A, S, D с зажатой правой кнопкой мыши.

Консоль (console)

В консоль поступают все сообщения из создаваемой вами игры. Все ошибки, предупреждения и уведомления выводятся в консоли. При ошибке указывается ее причина и строка где она допущена.

Общее меню

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

Меню Game Object позволяет создавать различного типа игровые объекты и управлять ими. В меню Component можно добавлять игровому объекту компоненты, например скрипты, или источники звука. В меню Terrain можно создать и управлять ландшафтом. В меню Window можно управлять всеми окнами редактора. В меню Help находится справочник по скриптам, мануал и различного рода помощь.

Компиляция игры (build settings)

Компиляция игры выполняется довольно просто, из пункта меню File->Build settings. В настройках компиляции вы указываете, под какую платформу нужно строить проект, какие сцены будут компилироваться и общие настройки проекта. В общих настройках проекта можно сменить иконку готовой игры, её название, автора проекта и еще много чего.

Графика

Графика в Unity3D на достаточно высоком, современном уровне. Довольно качественные тени и шейдеры. Благодаря полностью настраиваемой графике, игры, созданные на Unity3D, запускаются даже на старых компьютерах. Однако разработчикам нужно будет попотеть над оптимизацией, так как большое количество высоко полигональных моделей и большой ландшафт, заселённый растительностью, сильно сказывается на производительности.

2D или 3D проекты

Unity одинаково подходит для создания как 2D так и 3D игр. Но в чём отличие? Когда вы создаёте новый проект, вам предоставляется выбор: начать в режиме 2D или 3D. Вероятно, вы можете заранее знать, что именно хотите создать, но есть несколько тонких нюансов, которые могут повлиять на то, какой режим выбрать.

Выбор режима 2D или 3D перед началом определяет некоторые настройки редактора Unity — например, будут ли изображения импортированы как текстуры или же как спрайты. Но не стоит беспокоиться, если вы сделали неправильный выбор, вы можете переключаться между 2D и 3D режимом в любое время, вне зависимости от того, какой режим выбрали при создании проекта. Вот некоторые рекомендации, которые помогут вам сделать выбор.

Полноценное 3D

3D игры обычно используют трёхмерную геометрию, с материалами и текстурами, отображаемыми на поверхностях объектов так, чтобы обеспечить целостность окружения, персонажей и объектов, из которых состоит ваш игровой мир. Камера может двигаться внутри и вокруг сцены совершенно свободно, с реалистичным отображением света и теней по всему миру. 3D игры обычно отображают сцену с использованием перспективы, то есть объекты кажутся тем больше размером, чем ближе они к камере. Для всех игр, которые соответствуют этому описанию стоит использовать режим 3D.

Ортографическое 3D

Иногда игры используют 3D графику, но при этом применяют ортографическую камеру вместо перспективы. Эта технология используется в играх, где отображение происходит с высоты птичьего полёта, обычно такие игры называются “2.5D”. Если вы создаёте игру подобную этой, вы должны так же использовать редактор в 3D режиме, так как несмотря на отсутствие перспективы, вы будете по прежнему работать с 3D моделями и ассетами. Вам нужно будет лишь переключить ваши камеру и вид сцены в режим Orthographic.

(выше приведены сцены от Synty Studios и BITGEM)

Полноценное 2D

Многие 2D игры используют плоскую графику, иногда именуемую спрайтами, которая в принципе не имеет трёхмерной геометрии. Спрайты отображаются на экране как плоские картинки, а камера при этом не имеет перспективы. Для таких игр вам следует выбрать режим 2D.

2D геймплей с трёхмерной графикой

Некоторые игры используют трёхмерные модели для персонажей и окружения, но при этом ограничивают геймплей двумя измерениями. Например: камера может использовать “боковое скольжение”(“side scrolling view”) и игрок может двигаться только в двух измерениях, но игра по прежнему использует трёхмерные модели в качестве препятствий, а камера имеет перспективу. Для таких игр 3D выполняет скорее стилистическую роль, нежели функциональную. Такой тип игр так же иногда называют “2.5D”. Хотя геймплей и двухмерный, вы всё равно будете управлять трёхмерными моделями, поэтому для создания такой игры следует выбирать режим 3D.

2D геймплей и графика с использованием перспективной камеры

Это ещё один популярный стиль двухмерных игр, использующий 2D графику, но с перспективной камерой, чтобы создать эффект параллакса (смещения) при движении.

Это сцена в стиле “Картонный театр”, где вся графика является двухмерной, но она расположена на разном расстоянии от камеры. Наиболее вероятно, что для такой игры вам подойдёт режим 2D, однако в вашей игре нужно будет переключить режим камеры на перспективную(Perspective) и отображение сцены в 3D режим. (представленная выше сцена принадлежит One Point Six Studio)

Другие стили

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

О том, как переключаться между 2D и 3D режимами вы можете прочитать здесь: Настройки 2D и 3D режимов.

Полезная информация о 2D проекте

Какой бы тип проекта вы не выбрали, 2D или 3D, вот несколько полезных страниц, которые помогут вам начать Есть так же много конкретных страниц именно по особенностям 2D

Начало работы с Unity

Обзор 2D

2D графика

2D Физика

  • Физика — Введение в 2D и 3D физику в Unity.
  • Rididbody 2D — Размещение игрового объекта под управлением физического 2D движка.
  • Physics 2D Manager — Управление глобальными настройками для двухмерной физики.
  • Physics 2D Raycaster — Tell the Event System where current input events should be sent.

2D Joints

2D Коллизии

2D физический материал

2D эффекторы

Downloading and Installing Unity

Downloading and Installing Unity

Геймплей в 2D

Несмотря на то что Unity известен своими 3D возможностями, он может быть использован и для создания 2D игр. Знакомые функции редактора также доступны, но с полезными для 2D разработки дополнениями.

Самая заметная черта — это кнопка переключения режима 2D на тулбаре окна Scene. Когда этот режим активен, будет установлен ортографический вид (камера смотрит вдоль оси Z и оси Y, направленной вверх).

Это позволит вам легко визуализировать сцену и размещать 2D объекты.

For a full list of 2D components, how to switch between 2D and 3D mode, and the different 2D and 3D Mode settings, see 2D or 3D Projects.

2D Графика

2D объекты называются Спрайтами. По сути, спрайты представляют собой стандартные текстуры, но для более эффективного объединения и управления спрайтами в процессе разработки, есть специальные техники. Unity предоставляет встроенный Редактор Спрайтов, позволяющий извлечь спрайт из большого изображения. Он позволяет редактировать компоненты изображений внутри единой текстуры. Вам следует его использовать, например, для разделения рук, ног и тела персонажа внутри одного изображения.

Рендер спрайтов осуществляет компонент Sprite Renderer (аналог Mesh Renderer для 3D объектов). Вы можете добавить его через (, либо создать спрайт с уже прикрепленным к нему компонентом через меню: ).

In addition, you can use a Sprite Creator tool to make placeholder 2D images.

2D Физика

Unity имеет отдельный движок для 2D физики, что делает оптимизацию доступной только для 2D объектов. Его компоненты соответствуют стандартным компонентам 3D физики, таким как Rigidbody, Box Collider и Hinge Joint, но с добавлением к имени “2D”. Так, спрайтам могут быть добавлены компоненты Rigidbody 2D, Box Collider 2D и Hinge Joint 2D. Большинство 2D компонентов представляют собой просто “сплющенные” версии соответствующих 3D компонентов (например, Box Collider 2D — квадрат, а Box Collider — куб), однако и здесь есть несколько исключений.

Смотрите раздел руководства Физика для получения дополнительной информации о концепциях и компонентах 2D физики.

.

Подготовка своего персонажа

Существует три главных шага по созданию “с нуля” своего анимированного гуманоидного персонажа: моделирование, риггинг и скиннинг.

Моделирование

Это процесс создания своих гуманоидных мешей в одном из инструментов 3D моделирования — 3DSMax, Maya, Blender, и т.д. Хоть это и целая тема для обсуждения сама по себе, существует несколько принципов, которые рекомендуется соблюдать, чтобы ваша модель была совместима с анимацией в Unity проекте.

  • Соблюдайте разумную топологию. Понятие “разумной” структуры вашего меша довольно тонкое, но в целом вам следуем помнить о том, как вершины и треугольники модели будут искажаться при анимации. Неправильная топология приведёт к неприятным искажениям меша при движениях модели. Изучая существующие 3D меши персонажей, можно узнать много нового о том, как правильно размещать топологию и почему.
  • Не забывайте про масштаб вашего меша. Попробуйте импортировать модель и сопоставить её размер с “метрическим кубом” (длина одной стороны стандартного Unity примитива “куб” равна одной условной единице, так что такой примитив можно рассматривать как однометровый куб в большинстве случаев). Проверьте единицы измерения вашего приложения для 3D моделирования и скорректируйте настройки экспорта так, чтобы размер модели был в нужных вам пропорциях к метровому кубу. Если не учитывать это при работе над моделями, легко прийти к ситуации, когда вы создадите несколько разных моделей без учёта масштаба и они окажутся несоразмерны после импорта в Unity.
  • Располагайте меш так, чтобы ступня персонажа находилась в центре вращения модели. Так как обычно персонаж ходит по горизонтальной поверхности, будет намного проще с ним работать, если его центр вращения(то есть, его позиция трансформации) будет на этой поверхности.
  • По возможности, моделируйте в Т-позе. Это даст дополнительное пространство для манёвра при работе над труднодоступными местами (например, подмышками). Кроме того, это упростит размещение рига внутри меша.
  • Держите модель в порядке. Не оставляйте дырок в поверхности, объединяйте вершины и избавляйтесь от скрытых поверхностей, которые никогда не будут видны. Это поможет при скиннинге, особенно если скиннинг автоматизирован.

Риггинг

Это процесс создания скелета из сочленений для управления движениями вашей модели.

Программы для 3D моделирования предоставляют множество инструментов создания сочленений гуманоидного рига. От уже готовых скелетов, которые достаточно отмасштабировать под свою модель, до средств создания отдельных костей и объединения их в костную структуру. Чтобы риг работал с Mecanim, таз должен быть корневым элементом всей иерархии костей и в скелете должно быть не менее 15 костей.

Иерархия сочленение/кость должна соответствовать натуральной структуре создаваемого персонажа.

Поэтому руки и ноги должны идти в парах и вам следует соответствующе их называть (напр. “arm_L” для левой руки, “arm_R” для правой и т.д.). Возможные структуры иерархии:-

  • Таз — позвоночник — грудная клетка — плечи — рука — предплечье — кисть
  • Таз — позвоночник — грудная клетка — шея — голова
  • Таз — бедро — нога — ступня — палец — конец_пальца

Скиннинг

Это процесс привязки меша к скелету.

Скиннинг включает в себя связывание вершин в вашем меше с костями скелета. Вершина может быть связана с костью напрямую (жёсткая привязка) или с несколькими костями, используя на них смешанные воздействия (мягкая привязка). В разных программах используются разные способы, например, привязывание отдельных вершин и вписывание в меш степени воздействия на каждую кость. Изначальная настройка обычно автоматизирована, к примеру, с помощью поиска ближайшего воздействия, или с помощью “heatmap”. Обычно скиннинг требует изрядного количества работы и тестирования с помощью анимаций, чтобы достичь желаемых результатов деформации скина. Вот несколько основных рекомендаций для этого процесса:

  • Используйте автоматизацию для начальной настройки скиннинга (см. соответствующие руководства для 3DMax, Maya и т.д.).
  • Создавайте простые анимации или импортируйте готовые анимации для своего рига, чтобы проверить скиннинг. Это позволит вам быстро выяснить, хорошо ли выглядит ваш скиннинг во время движения.
  • Постепенно редактируйте и улучшайте свою работу по скиннингу.
  • Используйте не более 4 воздействий при использовании мягкой привязки, т.к. это наибольшее количество, которое может использовать Untiy. Если к части меша будет применено более четырёх воздействий, то как минимум часть информации будет потеряна при проигрывании анимации в Unity.

Использование Гуманоидных Персонажей

Использование Гуманоидных Персонажей

Добавить комментарий

Закрыть меню