Отвечу на вопрос-комментарий с прошлого видео, как установить Godot. Всё просто: в Google можно написать Godot, зайти на официальный сайт и скачать самую последнюю версию. Оставлю ссылку в описании. После скачивания распаковываем архив и просто запускаем программу. Ничего устанавливать не нужно.
Вернёмся к созданию ландшафта. Начнём с того, что создадим новый проект с настройкой Forward Plus. Если твой компьютер не поддерживает этот формат, просто используй совместимость. Также в данных управления версиями укажем Нет.
Создадим несколько нужных папок. Во-первых, создадим папку со сценами, назовём её Scenes. Также создадим папку со скриптами. Далее добавим папку для моделей. И также нам понадобится папка для данных Terrain. В папку со сценами переносим сцену с персонажем, который мы создавали в прошлом видеоролике. Если ты его не видел, обязательно посмотрите.
Открываем сцену с персонажем. Несмотря на предупреждение, всё равно открываем его. Как видишь, скрипта здесь нет. Нам также нужно перевести скрипт, который мы делали в прошлом видео. Выставляем скрипт в нужное поле в инспекторе персонажа, и он готов. У нас будет управление.
Для создания террейна понадобятся определённые текстуры и модели. Мы нашли очень хорошие, бесплатные в интернете. Можешь скачать их тоже по ссылке. Разрабатывать ландшафт с нуля для нас было бы очень трудно и, но можно не изобретать велосипед и воспользоваться плагином кодов, который поможет создать красивый ландшафт. Переходим на вкладку Assets Lib. Здесь в поиске напишем Terrain3D и выберем самый первый вариант.
Ждём загрузку. Для плагина в комплекте всегда идёт демо. И если оно тебе не нужно, его можно убрать. Жмём Установить. Теперь заходим в настройки проекта, находим здесь модули и включаем наш плагин. При создании скрипта персонажа мы составляли свои действия, поэтому пока мы в настройках, давай сразу же их добавим.
Отлично, всё готово.
Создание ландшафта
Теперь мы можем приступать к созданию ландшафта. Открываем новую сцену и добавляем обычный узел Node 3D и переименовываем его. Сразу же сохраняем сцену. Добавляем узел, который отвечает за рельеф местности. Он называется Terrain 3D. Как видишь, стоит предупреждение о том, что он не знает, где хранить свои данные, поэтому указываем папку, которую мы создали ранее.
Теперь мы можем использовать основные инструменты для террейна, чтобы менять рельеф. Основные инструменты – это поднять рельеф, сгладить рельеф, поднять высоту рельефа, чтобы делать плоские зоны или, наоборот, сделать ямы и также сделать наклон. Внизу, как видишь, есть дополнительные инструменты: размер и сила кистей.
Нажимая левую кнопку мыши, можно менять рельеф с помощью инструмента, который выбран. В правой части экрана есть три точки. В этом меню можно найти дополнительные настройки для твоей кисти. Рассказывать можно долго, поэтому самый лучший вариант – это взять и всё попробовать самому. Если что, всегда можно просто открыть новую сцену или даже новый проект и начать сначала. Не бойся экспериментировать.
Добавление текстуры рельефа
В итоге может получиться что-то такое, но это только рельеф. Неплохо бы добавить какую-то текстуру. Давай это сделаем. По ссылке в описании можешь найти подготовленные материалы. Добавь их в свой проект. Выбираем инструмент рисования текстуры или спрей. И внизу появится возможность добавить новую текстуру. Нажимаем на плюс. И, как видишь, текстура для всего террейна поменялась. Текстуру можно настроить в окне спектра. Здесь есть разные интересные настройки, с которыми даже с этой текстурой интересно поиграть.
AlbedeTexture
Но самое интересное наступает тогда, когда мы заменяем AlbedeTexture. Для стандартной текстуры я выберу dry. Переношу материал с названием div. AlbedeTexture. И как видишь, текстура нашего рельефа сразу же преобразилась.
Но сейчас пока текстура очень плоская. Для того, чтобы это исправить, можно также добавить Normal Map. Сразу скажу, что добавление NormalMap заметно снизит мощность компьютера, если у тебя нет дискретной видеокарты. Поэтому с этими картами лучше быть аккуратным. Тем не менее, если нужно качество и мощность компьютера позволяет, используй как AlbedeTexture, так и Normal Texture.
Добавляем ещё одну текстуру для того, чтобы нарисовать землю. Передаю в эту текстуру Albedo Texture. Беру любую кисть, которая нравится. И здесь можно указать дополнительные настройки. К примеру, можно ограничить наклон, под которым кисть будет рисовать. Сейчас я сделал так, что кисть не будет рисовать на пологих склонах, потому что обычно трава и земля осыпается с них. Таким образом террейн будет выглядеть гораздо лучше.
И дальше наша задача просто нарисовать нужный нам ландшафт. Можно менять настройки кисти, настройки для текстуры или смешивать разные текстуры. Например, давайте ещё третью или четвёртую.
А если ты хочешь зарисовать какой-то часть террейна, но только чуть-чуть, то ты можешь использовать инструмент спрей. Он наносит текстуры понемногу, и таким образом переход от одной текстуры к другой становится гораздо красивее.
Декорации ландшафта
Ландшафт готов. А теперь перейдём к декорациям. Под ними понимают растения, трава и деревья. Добавить их на сцену очень просто. Открываем инструмент instance. В меню внизу нажимаем на плюс. Это добавит новую Mesh или сетку для рисования декорации. Теперь берём любую модель и перетаскиваем её в поле Scene File.
Далее настраиваем кисть и рисуем траву. Обрати внимание, что скорее всего придётся немного поработать над масштабом модели, потому что, к сожалению, нет единой системы создания размеров, так что её реальные размеры в движке приходится подбирать непосредственно при работе с ней. Для изменения масштаба просто нажми на инструмент Масштаб и выбери новый размер процентов. К примеру, для этой модели отходит размер 1000%.
Так же добавляются деревья. Но стоит учесть один важный момент. Поскольку деревья весят больше, поскольку это более серьёзная Mesh, то при её переносе может немного начать лагать. Тут не стоит бояться. Просто перенеси дерево и оставь мышку, пока всё не загрузится.
Если ты видишь, что твой компьютер не выдерживает нагрузки, можешь смело отключать тени для своих Mesh. Пока что они в любом случае не нужны. Для первого раза весьма неплохо. Добавляем плеера на сцену, поднимем его немного, чтобы он не застрял в террейне.
Добавление окружения и света
И также на нашу сцену обязательно нужно добавить environment и свет.
Это нужно, потому что при запуске игры стандартный свет на сцене обнуляется. Добавляем узел World Environment. Добавляем на него новый environment и настраиваем бэкграунд. Как Sky создаём процедурно генерируемое небо. Добавляем в World Environment узел Directional Light Red. В его трансформе в Rotation по X или по Z можно поставить наклон, но стоит ставить с минусом для того, чтобы свет смотрел вниз.
Если видишь, что у тебя немного подлагивает, можно попробовать в узле Terrain 3D настроить размер сетки. Найди там поле Mesh size и уменьши его. К примеру, я уменьшил с 48 до 12, и FPS увеличится. Перейду на вкладку Game и сделаю так, чтобы сцена запускалась прямо в редакторе. Так управлять гораздо удобнее. Запускаю сцену и посмотрим, как выглядит наш мир.
Итак, мы сделали свой террейн и добавили на него декорации. Но что можно сделать дальше? К примеру, можно найти больше бесплатных моделей и добавить их в свою игру для разнообразия. Во-вторых, можно настроить коллизию для деревьев. Как видишь, сейчас её нет. В-третьих, можно попробовать разработать несколько разных террейнов. В этом тебе помогут знания, полученные в этом видео.