Unity 3D: Первые шаги

» Раздел: Основы

Итак, ваш выбор пал на Unity3d? Здорово! Тогда я постараюсь описать всё, что вам понадобится для работы на первых этапах.

Создание проекта

Как только вы впервые запустите Unity, вас попросят создать новый проект, или открыть существующий. Мы поступим первым способом. Вот такое окно вы будете созерцать:
  1. Путь для создания проекта.
  2. Стандартные архивы, которые можно залить как сначала создания, так и во время работы с проектом. Разберём подробнее каждый из них :
  • Character Controller: в этом архиве содержится всё необходимое для создания вашего персонажа в 3D пространстве, как от первого так и от третьего лица.
  • Light Cookies: Набор изображений масок для световых эффектов.
  • Light Flares: Небольшой набор из текстур для создания эффектов свечения солнца/бликов и т.д.
  • Particles: Содержит несколько примеров создания частиц/партиклов.
  • Physic Materials: Примеры физических материалов, для наложения характеристик на объекты. (прим. упругость)
  • Projectors: Название говорит само за себя - инструменты для создания прожекторов.
  • Scripts: Стандартный набор скриптов.
  • Skyboxes: Текстуры неба.
  • Standart assets(Mobile): Джойстики/Тачпады - всё для мобильных игр вы найдёте здесь. Лично я этот пак не исползую, ибо там довольно кривые примеры, но ознакомиться стоит.
  • Terrain assets: Текстуры и прочие штуки для создания ландшафта.
  • Tesselation assets(DX 11): Шейдеры тесселяции(способ, с помощью которого возможно увеличить количество полигонов в трёхмерной модели).
  • Toon Shading: Шейдеры для создания эффектов "мультяшности".
  • Tree Creator: Инструмент для создания деревьев на ландшафте. Если вы не собираетесь пользоваться ландшафтом - это вам не пригодится.
  • Water(Basic): Вода. В стандартной версии она выглядит убого, поэтому я не советую даже прикасаться к этому паку.
  • Water(Pro): Улучшенная и реалистичная вода, но доступна только в купленной версии.
Так-же, если вы будете импортировать сторонние архивы, они будут включены в данный список при создании нового проекта.
  1. Этот параметр переключает инспектор из режима 2D в 3D и наоборот. Иными словами, вы выбираете тот параметр, который соответствует задумке игры: 3D или 2D.
Если вы выбрали всё, что вас интересует и создали проект - переходим к следующему этапу.

Обзор

Давайте изначально договоримся, что мы будем работать в режиме 2 к 3(Windows -> Layouts -> 2 by 3). Этот режим наиболее удобен и менее глючный.
Не пугайтесь, что много пунктов, сейчас всё доступно объясню.
1. Как полагается - меню. Состоит из:
  • File: Манипуляции с проектом. Создание/Cохранение/Параметры построения проекта - всё здесь.
- Edit: Основные манипуляции с действиями, как в любой другой программе.
  • Assets: управление "активами" или просто игровой ресурс/ассет. Ассетом можно назвать компонентами для создания игровых объектов, это как атомы и молекулы.
  • GameObject: Вкладка для создания игровых объектов.
  • Components: Компоненты для игровых объектов.
  • Window: Вкладка управления окнами.
  • Help: Важная вкладка для начинающих. Здесь вы найдёте быстрый доступ к базе данных Unity.
2. Панель действий на сцене. (Просмотр, Перемещение, Вращение, Масштабирование).
3. Кнопки, влияющие на способ отображения сцены. Я лично никогда не использую.
4. Кнопки старта/паузы/шага. Первая отвечает за запуск сцены, вторая ставит на паузу, третья запускает в режиме 1 fps/в секунду.
5. Layers: Контролирует отображение объектов по признакам. Layouts: способ расстановки окон(то, что я просил сделать вначале).
6. Фильтры отображения объектов. (Может показать объекты без текстур/только полигоны, итд).
7. Кнопка переключения сцены в 2D/3D.
8. Кнопка включения/выключения освещения на сцене.
9. Кнопка включения/выключения звука на сцене.
10. Фильтр отображения неба/тумана/вспышек/анимированных материалов.
11. Меню 2д значков.
12. Строка поиска объектов по названию.
13. Иерархия объектов на сцене.
14. Файловый менеджер вашего проекта.
15. Инспектор. Здесь отображаются все данные объекта, который вы на данный момент выбрали на сцене.
16. Эмуляция игрового разрешения. Здесь вы можете поэкспериментировать с разрешением, таким образом протестировав отображение игры на разных экранах.
17. Кнопка, включение которой увеличивает игровую сцену во время старта проекта.
18. Статистика, отображающая интернет-соединение, задержу, фпс, и т.д.
19. Собственно сцены, игровая и сцена редактора.
Теперь подробнее о важном:
Иерархия
Это окно отображает всё, что находится на сцене. Что нужно знать здесь - присваивание родительского объекта. Это происходит тогда, когда в инспекторе название одного объекта перетаскивается на название другого, отображается стрелочкой слева. Эти объекты будут двигаться синхронно в игровом пространстве и получать доступ к скриптам.
Файловый менеджер/Project
Окно файлов. Этим всё сказанно.
Инспектор
В основном можно разбить на Transform(Координаты объекта, его масштаб), на Collider(Объект, отвечающий за столкновения), и на Mesh Renderer(Натягиваемая текстура).
Здесь у нас всё. Конечно, я рассказал не всё, к примеру, иконки замочков, и прочие детали, но они не особо вообще нужны, и не заслуживают особого внимания.

Основные компоненты и понятия

Collider - Компонент, отвечающий за столкновения. Если, к примеру у объекта нет коллайдера - персонаж сможет проходить сквозь него.
Rigidbody - Компонент, отвечающий за физическую составляющую. Если у объекта не будет этого компонента - объект не будет подвержен физическим законам.
Prefab - Это, скажем, куча всего, сложенного в один объект, т.е. предустановка.
Light - освещение. Имеет 4 вида: Directional(Глобальное освещение, направленное), Point(Точечное), Spotlight(прожектор), Area(Честно говоря я пока не пользовался этим, но могу точно сказать, первых трёх вам пока хватит).
Audio Listener - компонент-ухо, без него звук просто не будет проигрываться на сцене. Присутствовать должен только один компонент на сцену
Audio source - источник звука.
Particle system - источник частиц. Используется для создания спецэффектов.
GuiTexture - Объект-текстура, располагающийся поверх всех объектов. Используется для создания интерфейса.
GuiText - текст, располагающийся поверх всех объектов. Используется для создания интерфейса.

Заключение

А вот теперь возникает вопрос: а дальше? А дальше, к сожалению, вам помочь сможет только ваш мозг, ибо в Unity, как и в программировании в целом, есть миллионы способов как начать создавать игру. Всё зависит от вашего выбора: жанр, масштаб, особенности игры. Мой совет: Для начала просто пробуйте сделать что-нибудь. Вопрос варкрафтерам: что вы делали как только открывали WE? Пытались что-то сделать, правильно. Так и здесь, пробуйте!

Домашнее задание

» Как создать бродилку от третьего лица
  • Создайте проект, предварительно импортировав Character Controller. (Assets -> Import package)
  • Создайте плоскость для персонажа. (GameObject -> Create Other -> Plane)
  • Найдите в нашем менеджере префаб персонажа. (Assets -> Standart assets -> 3rd character controller)
  • Перетащите префаб на сцену.
  • Убедитесь, что коллайдер(зелёная оболочка) не касается пола, в противном случае персонаж провалится в бесконечность.
  • Вуаля! Можете нажимать на кнопку старт и играть!)
» Шурикам-ландшафтерам посвящается
  • Создайте проект, предварительно импортировав Terrain assets и Tree creator. (Assets -> Import package)
  • Создайте ландшафт. (GameObject -> Create other -> Terrain)
  • Выберите ландшафт, и разберитесь с инструментами.
  1. Кисти повышения/понижения уровня.
  2. Подгоняет кисть под определённый уровень ландшафта.
  3. Сглаживание.
  4. Текстурирование.
Для добавления текстуры нажмите на Edit textures -> add texture.
  1. Деревья.
Для добавления дерева нажмине на Edit trees -> add tree -> щелчок на кружок справа от None(Game Object) -> щелчок на BigTree.
  1. Кусты.
  2. Общие настройки ландшафта.
  • Флаг в руки, рисуйте! Так-же вы можете добавить воду и создать речушку, правда, повторюсь, вода действительно убогая.

Просмотров: 12 073

» Лучшие комментарии


RSQR #1 - 3 года назад 1
Прошу оценить статью =)
Опрос: Оценка

Всего проголосовали: 65
Audes #2 - 3 года назад (отредактировано ) 0
А насчёт 3rd character controller, это скрипт на камеру от 3 лица и управление вшито в игровой объект или что? Разве это не моделька?
RSQR #3 - 3 года назад -1
Audes:
А насчёт 3rd character controller, это скрипт на камеру от 3 лица и управление вшито в игровой объект или что? Разве это не моделька?
Это префаб. Т.е. несколько объектов сложенных воедино.
П4ела #4 - 3 года назад 0
Нужно скачать и опробовать его
Audes #5 - 3 года назад (отредактировано ) 0
Rescuer, значит его можно редактировать? Ну скрипты и т.д.
RSQR #6 - 3 года назад (отредактировано ) 2
Audes:
Rescuer, значит его можно редактировать? Ну скрипты и т.д.
Смотри: у тебя на сцене есть куб, просто куб, созданный в GameObject. Затем ты цепляешь на него скрипт управления(пишешь сам или копируешь). далее цепляешь модель и скрипт управления камерой. Потом берёшь этот куб и сохраняешь как префаб, в дальнейшем чтобы заного не создавать этот куб, ты просто его перенесёшь из файлов на сцену, уже готовенький.
А редактировать да, конечно можно. Я бы посоветовал для совсем начала тупо прикрепить ему анимации, это не сложно. Дело в том, что префабы не сохраняют данные инспектора, и расставлять приходится вручную. Когда ты выбираешь человечка на сцене - в инспекторе появится скрипт Third person controller - вот там есть 4 строчки с названиями анимаций. просто туда нужно вставить нужные анимации, всё =) Главное это практика.
P.s. а вообще кто хочет получить консультацию и заинтересовался движком - пишите в скайп, смогу провести что-то вроде онлайн уроков =)
Audes #7 - 3 года назад 0
Rescuer, спасибо.
lentinant #8 - 3 года назад (отредактировано ) 0
В основном можно разбить на Transform(Координаты объекта, его масштаб), на Collider(Объект, отвечающий за столкновения), и на Mesh Renderer(Натягиваемая текстура).
Можно обойтись одним "на", перед Transform. И пробелы между скобками.
И вообще, какое "разбить на"? А если это материал? Скрипт? Что-то еще? Инспектор - просмотр и редактирование свойств выбранного элемента. Компоненты там отображаются исключительно когда выбран gameObject.
И перед тем, как писать основные компоненты, можно было бы расписать хотя бы саму концепцию объектов как совокупности различных компонентов.
RSQR #9 - 3 года назад 0
lentinant:
В основном можно разбить на Transform(Координаты объекта, его масштаб), на Collider(Объект, отвечающий за столкновения), и на Mesh Renderer(Натягиваемая текстура).
Можно обойтись одним "на", перед Transform. И пробелы между скобками.
И вообще, какое "разбить на"? А если это материал? Скрипт? Что-то еще? Инспектор - просмотр и редактирование свойств выбранного элемента. Компоненты там отображаются исключительно когда выбран gameObject.
И перед тем, как писать основные компоненты, можно было бы расписать хотя бы саму концепцию объектов как совокупности различных компонентов.
Зануда.
ehnaton #10 - 3 года назад 0
Rescuer, между тем lentinant, дело говорит.
TheDragon #11 - 3 года назад 0
Хорошая статья, основы описаны как надо)
WarSC #12 - 3 года назад -9
Играл я в данный продукт, скачал на движке Юнити 2 игры и! Они обе глючат когда игры на порядок выше по графике по типу крайзис или же Анриал на своих движках идут куда лучше и графика там глаз радует. Юнити тянет потому что относительно бесплатна. Скажу честно Unrel 4 учите. Юнити не трогайте, думаю тоже умрет также и варкрафт))).
ehnaton #13 - 3 года назад 2
WarSC, сразу видно специалист.
TheDragon #14 - 3 года назад 0
Играл я в данный продукт, скачал на движке Юнити 2 игры и!
2 игры
Всё с тобой ясно.
ehnaton, согласен.
GeneralElConsul #15 - 3 года назад 0
WarSC:
Играл я в данный продукт, скачал на движке Юнити 2 игры и! Они обе глючат когда игры на порядок выше по графике по типу крайзис или же Анриал на своих движках идут куда лучше и графика там глаз радует. Юнити тянет потому что относительно бесплатна. Скажу честно Unrel 4 учите. Юнити не трогайте, думаю тоже умрет также и варкрафт))).
NFS World сделана на Unity. Там графа довольно неплохая.
lentinant #16 - 3 года назад 0
Зануда.
Первое предложение (насчет "на") - может быть. Однако насчет инспектора у тебя абсолютно недостоверная информация, которая подходит лишь под частный случай. А инфа, которая вводит в заблуждение, в статье не нужна.
RSQR #17 - 3 года назад 1
lentinant:
Зануда.
Первое предложение (насчет "на") - может быть. Однако насчет инспектора у тебя абсолютно недостоверная информация, которая подходит лишь под частный случай. А инфа, которая вводит в заблуждение, в статье не нужна.
Вместо того чтобы публично обсуждать, мог-бы намекнуть об этом в лс, однако, я обьяснил довольно доступно начинающему пользователю, далее человек разберётся сам.
Audes #18 - 3 года назад 0
WarSC, я играл на планшете в игру (название не помню, но по типу Gravity) на юнити, нормальная игра с нормальной графикой и физикой, не одного глюка не было найдено.
lentinant #19 - 3 года назад 0
я обьяснил довольно доступно начинающему пользователю
Начинающий пользователь выделит что-то, не являющееся геймОбжектом, и окажется в недоумении - а где же Transform, Collider, Mesh Renderer?
RSQR #20 - 3 года назад (отредактировано ) 1
lentinant:
я обьяснил довольно доступно начинающему пользователю
Начинающий пользователь выделит что-то, не являющееся геймОбжектом, и окажется в недоумении - а где же Transform, Collider, Mesh Renderer?
Я сейчас материться начну. Всё, что находится на сцене ИМЕЕТ Transform, В большинстве случаев Mesh Renderer, и Collider по обстоятельствам. А теперь не позорься и уйди в UDK.
Audes #21 - 3 года назад 0
Знаю, что не та тема, но ответа не нашёл: велика ли разница между free и pro?
lentinant #22 - 3 года назад (отредактировано ) 0
Всё, что находится на сцене ИМЕЕТ Transform
Начинающий пользователь выделит что-то, не являющееся геймОбжектом
Мне эту строчку выделить жирным шрифтом? Человек всегда будет выделять только то, что есть на сцене (да, кстати, все, что есть на сцене - это и есть геймОбжекты, включая камеру и источники света)?
Вот. Припустим, неопытный пользователь необдуманно клацнул куда попало, не увидел знакомого Transform и впал в когнитивный диссонанс.
Rescuer:
А теперь не позорься и уйди в UDK.
Ну, не я же размещаю недостоверную информацию, чего это я позорюсь? А если тут и дальше будут подобные моменты, то мне в этом проекте реально делать нечего.
RSQR #23 - 3 года назад 1
Audes:
Знаю, что не та тема, но ответа не нашёл: велика ли разница между free и pro?
Для начинающего - нет.
lentinant:
В этом несомненно мой косяк: я не разделил инспектор на выделение игровых объектов и на ресурсы проекта, тем не менее, как я уже и писал выше, написать мне в лс о том, что-бы можно было исправить, было бы корректнее.
WarSC #24 - 3 года назад -3
Видео ролик с игры Game about Vehicles на основе Unity3D, забавная рекомендую, есть над чем подумать.
прикреплены файлы
ehnaton #25 - 3 года назад 0
WarSC, интересно, над чем?
WarSC #26 - 3 года назад 0
Над глобальными внедрениями игры в массы, и о печеньках))
GF RaiseD #27 - 3 года назад 0
Вчера открыл юниту. Нужно еще статью вроде "Как запилить свою Action RPG самостоятельно? - туториал с пошаговыми инструкциями". Статья кул, но тут только перевод названий вкладок на английском. Да и справка есть по движку.
RSQR #28 - 3 года назад 0
RiseD_Konst:
Вчера открыл юниту. Нужно еще статью вроде "Как запилить свою Action RPG самостоятельно? - туториал с пошаговыми инструкциями". Статья кул, но тут только перевод названий вкладок на английском. Да и справка есть по движку.
Щито поделать, пишу статьи как умею.
GF RaiseD #29 - 3 года назад 0
RSQR, о скайпе ты не шутил?
RSQR #30 - 3 года назад (отредактировано ) 0
RiseD_Konst:
RSQR, о скайпе ты не шутил?
Нет, не шутил. Однако я даже не знаю когда появится возможность такая.
Nerevar #31 - 3 года назад 1
"Как запилить свою Action RPG самостоятельно? - туториал с пошаговыми инструкциями"
так будет вернее в данном случае =)
вообще вряд ли будут такие специализированные статьи - но есть куча статей по разным аспектам,составляющим твою рпг,тебе останется изучить их и применить на практике
GF RaiseD #32 - 3 года назад 0
Нужно сделать адекватную боевую систему. У меня такое чувство что это не легко.
Эт. такое дело - скайп. Мне нужно еще в движке полазить чтобы не задавать глупых вопросов.

С моделями чую будет трудно.