воскресенье, 26 сентября 2021 г.

Игровая логика

Игровая логика


Мы немного познакомились с основами моделирования и анимации, теперь настала очередь погрузиться в основную тему «Создание игр». Для создания игрового взаимодействия между объектами используют, так называемую, «игровую логику». Для её настройки нужно открыть окно «Game logic»

Рис. 1. Игровая логика в Blender 2.79b.

Для каждого объекта на сцене можно настроить логику поведения. Настраивается она с помощью трёх основных элементов логики: сенсорконтроллерактуатор.

Рис.2. Игровая логика в Blender 2.79b.

Кроме основных элементов, есть четвертый, который также может влиять на результат – это игровое свойство.

Пройдёмся по порядку. Сенсор – это элемент, который указывает, когда и при каких условиях должен запуститься тот или иной процесс. Сенсором может выступать: клавиатура (набор клавиш), мышь, игровое свойство, столкновение с объектом, нахождением рядом какого-то объекта, джойстик или можно указать чтобы действие происходило всегда и многое другое.

Рис.3. Игровая логика в Blender 2.79b.

Контроллер – оператор математической логики, а также он может быть полноценным скриптом, в котором заложен и оператор, и результат (актуатор).

Рис.4. Игровая логика в Blender 2.79b.

Контроллер выдаёт истинность или ложь для тех сенсоров, которые должны активизировать актуатор. Ниже представлена таблица истинности для этих операторов.

Table 1 «Таблица истинности»

AB   A и BA или BA и-не BA или-не BA искл. Или BA искл. или-не B
11110001
01011010
10011010
00001101

Здесь A и B можно воспринимать как сенсоры. Значение 1 — истина, а 0 – это ложь.

Контроллер «Выражение» — имеет окно для написания логического выражения со множеством сенсоров. В примерах мы не будем применять данный контроллера, так как он относится к теории математической логики.

При истинности работы сенсора активизируется актуатор.  Актуатор – это результат игровой логики сенсора (ов) и контроллера (ов).
Примерами актруатора может быть: движение объекта, удаление или замена объекта, переход между сценами или перезапуск сцены, запуск отдельных игровых файлов, движение за объектом, изменение игрового свойства и анимация объекта, и многое другое.

Рис.5. Игровая логика в Blender 2.79b.
Рис.6. Игровая логика в Blender 2.79b.

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

Основные элементы игровой логики были представлены. Более подробная механика создания игр будет рассмотрена в разделе «Игры и приложения».

Перейти к остальным статьям книги

Анимация в Blender

Важность анимации


Почти в любой игре присутствуют объекты с тем или иным повторяющимся действием или действием, которое проявляется при сочетании условий. Все эти действия были заранее записаны. Создание таких действий и есть анимация. Самая простая анимация — это создание движения тела или части тела в пространстве. Для того чтобы созданное движение повторялось, его необходимо записать.

За запись анимации отвечает окно «Временная шкала», которое, по умолчанию, располагается в нижней части редактора.

Рис.42 Временная шкала в Blender 2.79b.

По умолчанию, для анимации отводиться 250 кадров. Число кадров вы можете менять, вписывая в поле «Конец:» нужное количество кадров. Необходимо помнить, что среднее значение кадров в секунду составляет 24 — 25 кадров.  Если будет меньше чем 24 кадра в секунду, то тогда анимация будет быстрой и резкой, если больше – то медленной.

В поле, где отображены два ключика необходимо выбрать что необходимо записывать: перемещение (location), вращение (rotation), изменение размера (scale) или их комбинацию. Параметров записи анимации множество и это отдельная тема.

Создадим анимацию, для примера, движения куба по оси X.
Для этого выберем, что записывать будем перемещение (location). Затем выделим наш куб и нажмём ЛКМ по значку «Ключик», рядом с параметром записи. В результате, на временной шкале появится жёлтая вертикальная линия – это маркер, показывающий, что кадр записан.

Рис.43 Запись анимации в Blender 2.79b.

Выберем 25 кадр, поставив зелёную метку ЛКМ. Далее необходимо сдвинуть куб по оси X и нажать на значок «Ключ». В результате у вас получиться, размеченная временная шкала. Для каждого кадра должно соответствовать разное перемещение куба. Если отмечены кадры, но перед отметкой вы не сдвигали куб, то анимации не будет.

Рис.44 Запись анимации в Blender 2.79b.

Из этого описания вытекает алгоритм действий:

— выделить нужный объект

— выбрать вид записи анимации

— поставить метку на нужный кадр

— записать кадр, нажатием значка «Ключ»

— выбрать следующий кадр меткой

— провести над объектом действия, которые будут записываться

— записать кадр, нажатием значка «Ключ»

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

Изучить все статьи по Blender можно ЗДЕСЬ

3d модели

Принцип создания 3d моделей для игр


Как было ранее указано, 3d модели создаются из меш-объектов. Есть два основных режима моделирования: «правка объекта», «режим скульптинга».

В режиме «правка объекта» есть три подрежима: выделение вершин, выделение рёбер и выделение граней.

Режимы редактирования объекта в Blender 2.79b.

При выборе одного из них мы можем редактировать объект по вершинам, рёбрам или граням. Редактирование проходит с помощью правой и левой кнопок мыши.

Режимы редактирования объекта в Blender 2.79b.

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

Перед тем как приступить к примерам по моделированию тел, нужно остановиться на инструментарии, который появляется в режиме «правка объекта».

Инструменты режима редактирования объекта в Blender 2.79b.

Чаще всего использую инструмент: «Подразделить», «Выдавить» и «Нож».
Инструмент «Подразделить» разбивает на 4 равные части каждую выделенную грань или на 2 части каждое ребро.

Инструменты режима редактирования объекта в Blender 2.79b.

Второй инструмент «Выдавить» или, по-другому, он называется «Экструдировать» вытягивает элемент выделенного объекта. Горячая клавиша, которая отвечает за выдавливания  — «Е» английского алфавита.

Вытягивание граней из объекта в Blender 2.79b.

Чтобы вытянуть, необходимо:
—  выделить грань

— нажать клавишу Е

— перемещать мышь в нужную сторону.

Для того чтобы поменять направления выдавливания, достаточно нажать клавишу R (или R + нужная ось) и поворачивать грань в нужную плоскость. Если нам нужно изменить размер вытягиваемой грани, то используем клавишу S (или S + нужная ось).

Для примера приведём несколько инструкций по моделированию. Касательно премудростей моделирования, то есть множество книг и видеоуроков. Поэтому на этом мы не будем сильно акцентировать внимания.

А) Моделирование стула (стола)

— создадим куб и сплющим его по оси Z (команда S+Z)

Стул в Blender 2.79b.
Стул в Blender 2.79b.

Далее, переходим в режим «правка объекта» и подразделяем 3 раза (можно 2).

Обратите внимание на то, что все грани перед началом подразделения должны быть выделены.

С помощью нажатого колёсика мышки и её перемещением повернём сцену так, чтобы отображалась нижняя часть нашего стула. А затем выделим одну крайнюю грань ПКМ. Далее удержим нажатой клавишу Shift и выделим все крайние грани.

Стул в Blender 2.79b.

Выдавим выделенные грани с помощью клавиши E.

Стул в Blender 2.79b.

Теперь, уменьшим площадь нижней грани ножки стола, поочерёдно проводя операцию. Уменьшайте на глаз. За изменение размера отвечает клавиша S.

Стул в Blender 2.79b.

Перевернём сцену так, чтобы увидеть верхнюю часть стула. После этого выделим ряд граней, расположенных вдоль одной линии.

Стул в Blender 2.79b.

Данный ряд вытянем, чтобы создать спинку стула.

Стул в Blender 2.79b.

Сузим верх спинки и наклоним её, с помощью сдвига по оси Y.

Стул в Blender 2.79b.
Мебельный гарнитур в Blender 2.79 b

Стул готов, осталось настроить цвет. В качестве закрепления темы, предлагаю создать сцену, как на последнем рисунке.

Стулья можно сделать из каждого отдельного куба, а можно дублировать с помощью комбинации клавиш Shift + D.

Здесь мы кратко ознакомились с процессом моделирования и теперь пришла очередь перейти к анимации. Если вы хотите, чтобы ваши персонажи выглядели согласно теме игры, то вам необходимо изучить 3d моделирование.

Далее, пост будет посвящён создания анимации объектов в blender.
Содержание всех статей по Blender можно найти

Установка mLink на Windows, macOS и Linux

mBlock 5 Webpage and mLink Quick Start Guide You can also use mBlock 5 on the web without downloading it. mBlock 5 webpage:   https://ide.mb...