Содержание всех постов:
- Вступительный пост
- Обучение разработке на Unity3D. Установка, настройка и описание окон
- Обучение разработке на Unity3D. Написание небольшого шутера. Разбираемся с террейном.
- Обучение разработке на Unity3D. Написание небольшого шутера. Результат моих трудов с террейном. Добавляем воду.
Итак, в прошлой статье мы установили Unity Editor и разобрали в кратце для чего предназначены разные окна. Дальнейшее обучение будет основываться на практике, чтобы небыло так скучно.
Начнем пожалуй с написания небольшого, очень простого шутера. Заодно разберем как создаются локации встроенными средствами Юнити, а так же механику выстрела пули, как хотел @tristamoff в самой первой статье.
Для начала нам надо импортировать в наш проект уже готовый пак ассетов, который даст нам быстрый старт. Для тех, кто пропустил при установке Standard Assets, нужно их установить. Для этого запускаем опять скачанный в прошлый раз установщик (UnityDownloadAssistant-2017.2.0f3.exe) и выбираем там только Standard Assets:
Игнорируем сообщение, что нам нужно еще MonoDevelop или Visual Studio и дожидаемся загрузки. Теперь можно запустить Unity Editor и импортировать готовый пак с разными текстурами, которые будут нам нужны для рисования на террейне. Для этого жмем Assets -> Import Package -> Environment:
После появления окна со списком импортируемых файлов, жмем Import и дожидаемся окончания процесса.
После этого мы увидим, что у нас в проекте появилась папка Standard Assets с кучей файликов. Так как мне не очень нравиться стандартный вид окна Project, мы переключимся на вид, где сразу же видно все файлы. Для этого надо кликнуть правой кнопкой мыши по табу Project и выбрать One Column Layout:
Как по мне, так намного удобнее найти то, что необходимо.
Пусть пока все эти файлики подождут своей очереди, а мы пока создадим какую-то локацию небольшую. Это можно сделать разными способами - можно импортировать уже готовую из магазина ассетов (я покажу как это делать позже), можно смоделировать ее в 3D редакторе и импортировать, а можно использовать Unity Terrain.
Мы будем использовать Unity Terrain. Он конечно тормознутый чуток, но зато можно по быстрому сварганить локацию. Для его использования нам нужно добавить его на сцену. Для этого выбираем GameObject -> 3D Object -> Terrain. После этого на сцене появиться объект с названием Terrain. Если мы его выберем, то в окне Inspector сможем увидеть его свойства:
Эти свойства нам и понадобятся для редактирования этого террейна. Как видно на изображении, там есть несколько кнопок:
Слева направо:
- Для создания высот или углублений в террейне.
- Для установки высоты террейна.
- Для сглаживания высот и углублений террейна.
- Для установки и смешивания текстур террейна.
- Для расстановки деревьев
- Для расстановки травы, цетов и других небольших объектов
- Для настройки разных свойств террейна
Помните мы импортировали пак Environment? Вот сейчас он нам пригодится. Для начала давайте выберем главную текстуру для террейна. Для этого жмем на кнопочку с изображением кисточки (Для установки и смешивания текстур террейна). У нас откроются разные свойства: разный тип кисточек, размер кисточки, прозрачность кисточки и сила кисточки. С этими настройками вы поэкспериментируете сами, а мы сейчас выберем текстуру. Для этого нажмите на кнопку Edit Textures... и потом Add Texture. У вас откроется еще одно окошко, где вы сможете выбрать текстуры. Выглядит оно вот так:
Нам надо нажать на кнопочку Select там, где надо выбрать Albedo текстуру. У нас откроется окно со всеми текстурами, которые есть в проекте. Мы выберем GrassRockyAlbedo, как на скриншоте ниже:
Размер иконок можно увеличить перетащив ползунок справа вверху. Выбрать текстуру можно двойным щелчком. После этого мы вернемся на предыдущее окно, где мы увидим выбранной нашу текстуру. Далее жмем кнопочку Add и у нас весь террейн будет выглядеть как выбранная текстура:
Давайте добавим еще парочку текстур, чтобы было из чего выбирать. Проделываем предыдущие шаги для добавления текстур GrassHillAlbedo и SandAlbedo.
Теперь мы можем выбирать между тремя текстурами (на самом деле двумя, так как первая текстура выступает основной) для смешивания. Выбираем желаемую текстуру и пробуем рисовать по террейну. В итоге мы можем делать что-то такое:
Давайте теперь наставим деревьев. Для этого надо проделать похожие манипуляции, только для деревьев. Выбираем иконку с деревом и там жмем Edit Trees... Откроется окно для выбора префаба дерева:
Нажимаем кнопочку в виде кружочка с точкой посредине и у нас откроется еще одно окно со списком префабов. Там будут не только деревья. Нам надо выбрать поочереди все виды деревьев:
Когда добавите все деревья, свойства в инспекторе будут выглядеть примерно так:
Теперь мы можем выбрать любое из этих деревьев и наставить их в нужных местах на террейне.
Здесь тоже есть разные настройки, чтобы настроить радиус расстановки деревьев, количество и т.д. Опять же, поэкспериментируйте.
Далее можно выбрать инструмент для изменения высот (первая кнопка) и наделать гор или углублений.
Дайте волю вашей фантазии и с помощью всех этих инструментов создайте локацию, которую вам хочется. Можете постить то, что у вас получилось в комментариях, а так же задавать вопросы.
Как вы можете заметить в названии окна Unity Editor, в данный момент наша сцена называется Untitled. Это значит, что она не сохранена.
Чтобы не потерять все ваши труды, надо сохранить сцену. Для этого жмем Ctrl+S и у нас откроется диалог, где мы может дать название нашей сцене и выбрать место, куда ее сохранить. Я рекомендую создать папку Scenes и в ней уже хранить все сцены:
Ну что же, желаю хорошо провести время за этим занятием и получить фан. Свои труды я уже покажу в следующей статье.
Всем пока, всем удачи!
@litovets Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@litovets, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующей категории:
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
vik, tristamoff, oksana0407, vika-teplo, varya-davydova, novy, verdon, kito-boy, goldenriver, cryptoblog
Поэтому я тоже проголосовал за него!
Так как Вы голосуете за мои посты, я проголосовал на 20% сильнее!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас на странице https://golos.io/~witnesses, вот так:
Круто) Обязательно всё это попробую, правда в ближайшую неделю меня не будет.
@litovets Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество полученных голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Хорошее дело делаете, мне бы такой гайд, когда я начинал ковырять Юнити. Собираетесь освещать разработку на мобильные ОС?
Могу и осветить, если в этом будет такая потребность. Я смотрю желающих совсем немного. "Ты, да я, да мы с тобой" :) Мобильная разработка более требовательна к размерам текстур, к адаптации экрана к разным разрешениям ну и вообще к оптимизации. Во всем остальном она не сильно отличается от разработки для ПК.