Ваш браузер устарел. Рекомендуем обновить его до последней версии.

Моделирование "Испытательного полигона v 1.1" в blender 3d

Опубликовано 17.05.2017

Разработка уже размещена в "Играх", теперь модель может летать, опишу подробно.

Моделирование "Испытательного полигона v 1.1" в blender 3d

Расскажу подробности моделирования "Испытательного полигона v 1.1" в blender 3d, прямо по ходу видео.

Начинается видео с демонстрации игры и новых возможностей основной модели - теперь она может летать и её состояние отражается в окошке слева от основной сцены.

Потом разработка демонстрируется в окне blender 3d - показана сцена на которой стоит большой куб, а основная модель находится внутри него на плоскости. Все стороны куба являются плоскостями, о чем видео тоже рассказывает. Такая конструкция нужна для обозначения границ сцены, за которые модель выходить не сможет. Тут я встретился с проблемой описанной в статьях, ранее - если бы я поставил обычный куб и поставил модель в его центр, тогда blender 3d, воспринимал бы модель как объект, который постоянно пересекается с границами столкновения куба. Сцена зациклилась бы, так как "сенсор" "Столкновение" срабатывал бы постоянно, а "актуатор" перезагрузки сцены - бесконечно запускал бы игровую сцену.

Что касается стен куба - большинство из них имеют связи "сенсоров", "актуаторов", "контроллеров", следующего вида:

Стены в "Испытательном полигоне v 1.1". Разработка на blender 3dСтены в "Испытательном полигоне v 1.1". Разработка на blender 3d

 

Если материал основной модели соприкасается с границами столкновения стен, тогда сцена перезагружается и модель оказывается в центре сцены.

Индикатор состояния модели в игреИндикатор состояния модели в игре

Появилась новинка в сцене - индикатор состояния основной модели. Он показывает что делает основная модель - летит или ходит. Связи "сенсоров", "актуаторов", "контроллеров", у модели следующие:

Связи "сенсор", "контроллер", "актуатор" индикатораСвязи "сенсор", "контроллер", "актуатор" индикатора

Обратите внимание на то, что индикатор состояния модели получает сообщение и потом меняет отображаемое значение. Это сообщение отправляет скелет основной модели. Если нажимается кнопка, на клавиатуре, которая поднимает модель в воздух - это тоже изменит отображаемое значение индикатора.

Теперь расскажу о моделировании связей скелета основной модели - все основные функции лежат на нем:

Связи скелета основной модели, в blender 3dСвязи скелета основной модели, в blender 3d

Как видите связей "сенсоров", "контроллеров", "актуаторов" очень много, поэтому я открыл только те, что добавились в новой версии игры. Сначала идут те, которые отвечают за управление полетом модели в blender 3d. В "сенсоре" "Столкновение" указан материал, при взаимодействии с которым скелет выполнит "актуаторы", которые отправят сообщение и переместят модель немного выше границы столкновения с плоскостью. Объясню для чего я это сделал. Дело в том, что основная модель вместе со скелетом ведет себя не всегда правильно, для "Динамического объекта". Об этом я уже рассказывал в предыдущих статьях, поэтому не буду к этому возвращаться. Проблема в том, что как бы я не пытался плоскость, под моделью, настроить - модель все равно пролетает сквозь нее. Чтобы это исправить - я отключил возможность перемещения cкелета модели по осям "Z", "X", "Y":

Физика скелета в blender 3dФизика скелета в blender 3d

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

Осталось решить ещё одну задачу моделирования в blender 3d - как сделать так, чтобы ограничить движение вниз? Модель пролетает сквозь плоскость на которой стоит и может лететь вниз бесконечно. Решение я нашел следующее - установил ещё одну плоскость, чуть ниже основной и добавил скелету задание перемещаться немного выше, если произойдет столкновение с нижней плоскостью.

Ещё одна версия полигона закончена и изучен полностью "сенсор" "Движение", в следующем обновлении модель изучит ещё что-нибудь. Но пока я займусь оптимизацией сайта, поэтому ближайшие статьи блога будут посвящены этому.

 

Опубликовать в социальных сетях