Начнём с создания простой статичной платформы, на которой будет стоять гриб. Создадим её из куба, изменив его размеры по осям. Данную платформу поставим точно под ножку гриба. Платформа должна быть больше по ширине, чем сама ножка гриба.
Если запустить игру, то можно наблюдать такую картину.
Здесь есть две проблемы: гриб частично погружён внутрь платформы, платформа затемнена.
Вторая проблема решается простым добавлением освещения. Я рекомендую поставить здесь «Солнце». Вторая проблема решается смещением центра тела. Центром тела является точка, которая отображается во время выделения этого тела. Чтобы её сместить необходимо войти в «режим правки», выделить все полигоны объекта и сместить его (с помощью G или осями) так, чтобы центр оказался у основания ножки гриба.
Если запустить игру, то можно наблюдать, что мы правильно настроили взаимодействие.
Проверьте правильность работы управления персонажем. Если вам кажется, что прыжки или смещение достаточно малы или, наоборот, большие, то можно всегда изменить значения в настройках. В «Движении» изменяем значение смещения, а в физике персонажа изменяем «силу прыжка».
Настроим систему таких платформ для прохождения уровня, так чтобы это было по силу пройти с данным видом управления.
Теперь чтобы отслеживать и правильно управлять персонажем, необходимо привязать камеру к нему. Предварительно, нужно настроить положение камера так, чтобы она смотрела на персонажа и при этом охватывала какую-то часть мира, чтобы можно было ориентироваться в пространстве. Для того чтобы просмотреть какой обзор у камеры, достаточно нажать клавишу «Num 0» — это клавиша 0 на дополнительной раскладке клавиатуры NumPad.
Как только отрегулируем положение камеры и настроим её область обзора, то можем приступить к настройке привязки камеры к персонажу. Привязка к персонажу осуществляется по такой схеме:
— Выделить привязываемый объект. В данном случае – камера;
— Удерживаем клавишу shift и выделяем объект, к которому будем привязывать;
— Нажмём клавишу «P» и выберем команду «Объект».
Как только камера будет привязана, то можно запустить игру и проверить работу системы «Персонаж-камера».
Если всё правильно сделали, камера будет плавно следовать за персонажем.
Протестируйте проект – пройдите препятствия, параллельно фиксируя недочёты. Периодически выходите из игры подправляйте окружение и запускайте проект заново.
На каком-то этапе может возникнуть такая проблема – застревание персонажа в текстуре.
Для того чтобы решить данную проблему, нужно сделать все платформы «Твёрдым телом», но при этом ограничить их перемещение.
Протестируйте свою игру, убедитесь в правильности её работы.
На каком-то шаге добавим усложнение в виде пропасти. Между двумя отдалёнными платформами будет курсировать синяя платформа, на которую можно запрыгнуть и добраться до следующей.
Для того чтобы синяя платформа перемещалась между двумя соседними, необходимо создать анимацию движения для данной платформы. Для этого нужно перейти в окно «Default» и создать для синей платформы анимацию: движение от первой до второй платформы (100 кадров) и от второй – к первой (100 кадров).
Протестируйте игру, не забудьте наложить физику на платформу (твёрдое тело или динамическое) с ограничением движения.
При тестировании можно заметить, что при попадании персонажа на платформу не возникает трения между ними и платформа ускользает из под гриба.
Тут можно подойти двумя, самыми лёгкими, способами. Первый – настроить скорость перемещение гриба или скорость анимации движения платформы так, чтобы персонаж поспевал двигаться по перемещающейся платформе. Второй – сделать для платформы ограничители в виде кубов с настроенной физикой «твёрдого тела» и привязать к синей платформе с помощью клавиши «P».
Во время тестов могут возникнуть «фичи». Например, из-за столкновения с препятствием гриб может смещаться по оси X, которая для игры не нужна. Поэтому, чтобы в дальнейшем не возникла подобная ситуация по смещению вдоль третьей оси можно поставить ограничитель для персонажа.
Как видно, полностью не стали ограничивать смещение по оси X, а оставили в пределах . Если нужно ограничить полностью смещение по заданной оси, просто оставьте значение 0 в максимуме и минимуме.
Теперь настроим фон, для красочность игры. Для фона создадим плоскость и растянем его по оси X и Z. Затем наложим материал. Цвет материала можете выбирать на своё усмотрение.
Если плоскость развёрнута, то необходимо повернуть по нужной оси, чтобы она была перпендикулярно платформам. Теперь нужно найти рисунок фона, желательно чтобы она была из категории free. Такой материал можно использовать в своих проектах не опасаясь претензий по заимствованию. Можно сделать самостоятельно фотографии или нарисовать свой фон в любом графическом редакторе. Формат изображения должен быть png или jpg.
Сохраним её в паку «Материалы_текстуры». После того как мы выбрали материал для плоскости, необходимо перейти в окно «Текстуры» для наложения нашего изображения.
Для того чтобы изображение правильно наложилось на плоскость, нужно сделать развёртку, на которую и накладывается картинка. Для того чтобы сделать развёртку нужно перейти в окно «UV Editing».
Далее, выделенную плоскость переводим в «режим правки». В данном режиме можно проводить развёртку, для этого наводим указатель мыши на 3d сцену и нажимаем клавишу «U». После этого выскакивает контекстное меню, в котором выбираем «Умное UV-проецирование». Для начального уровня этот способ наиболее оптимален.
При выборе функции «Умное UV- проецирование» появляется ещё одно окно, в котором ничего не меняем и жмём кнопку «Да».
Теперь в левом окне была создана пустая рамка – развёртка. Её мы заполним изображением.
В данном окне активируем кнопку «Открыть».
В открывшимся окне необходимо найти файл изображения. В данном случае это папка «Материалы_текстуры».
Как видно, изображение наложилось на развёртку плоскости. Теперь можно выйти в «режим объекта» и перейти к окну «Game Logic». На этом шаге нужно выбрать отображение «Текстур».
Теперь переходим в режим просмотра с камеры и запускаем игру.
Данную плоскость можно продублировать «Shift+D», тем самым мы продлеваем фоновую локацию игры вдоль оси движения персонажа.
Комментариев нет:
Отправить комментарий
Нам важно ваше мнение.