Разработка 3D RPG на Unity с GameCreator 2

Практический курс по созданию полноценной ролевой игры с использованием визуального скриптинга GameCreator 2 и его экосистемы. Вы научитесь настраивать кастомное управление, интегрировать сложные анимации и работать с камерой Cinemachine для создания кинематографичного опыта.

1. Подготовка проекта: Установка GameCreator 2 и создание базового окружения

Подготовка проекта: Установка GameCreator 2 и создание базового окружения

Добро пожаловать в курс «Разработка 3D RPG на Unity с GameCreator 2». Это первая статья нашего цикла, в котором мы пройдем путь от пустой сцены до полноценной ролевой игры с квестами, инвентарем и сражениями.

Наша цель — создать игру, используя мощный инструмент визуального скриптинга GameCreator 2 (GC2). Этот ассет позволяет реализовывать сложные механики без написания тысяч строк кода, используя интуитивно понятные триггеры, условия и действия. Однако, чтобы магия заработала, нам нужно правильно заложить фундамент.

В этом уроке мы установим Unity, импортируем GameCreator 2, настроим необходимые модули и подготовим тестовую сцену для нашего будущего героя.

Шаг 1. Выбор версии Unity и создание проекта

Для разработки современной 3D RPG важно выбрать стабильную версию движка и подходящий конвейер рендеринга (Render Pipeline). GameCreator 2 отлично работает со всеми основными пайплайнами, но для нашего курса мы выберем Universal Render Pipeline (URP). Он обеспечивает отличный баланс между качеством графики и производительностью, что идеально подходит для инди-проектов.

Требования к версии

Мы будем использовать Unity 2022.3 LTS (Long Term Support) или новее. Версии LTS являются наиболее стабильными и получают поддержку в течение длительного времени, что критично для разработки долгосрочных проектов, таких как RPG.

Процесс создания проекта

  • Откройте Unity Hub.
  • Нажмите кнопку New Project.
  • В списке шаблонов выберите 3D (URP). Если вы не видите этот шаблон, убедитесь, что он загружен.
  • Назовите проект, например, GC2_RPG_Course.
  • Нажмите Create Project и дождитесь инициализации.
  • !Окно создания нового проекта в Unity Hub с выбором URP.

    Шаг 2. Установка GameCreator 2

    GameCreator 2 — это ядро нашей разработки. Это платный ассет, который необходимо приобрести в Unity Asset Store. После приобретения он станет доступен в вашем аккаунте.

    Импорт ассета

  • В открытом проекте Unity перейдите в меню Window > Package Manager.
  • В левом верхнем углу окна выберите Packages: My Assets.
  • В строке поиска введите Game Creator 2.
  • Нажмите Download, а после завершения загрузки — Import.
  • В появившемся окне импорта убедитесь, что выбраны все файлы, и снова нажмите Import.
  • После импорта вы увидите мастер установки GameCreator (Install Wizard). Следуйте инструкциям на экране, чтобы завершить распаковку основных компонентов. Обычно это сводится к нажатию кнопки Install Game Creator 2.

    > GameCreator 2 полностью меняет подход к разработке, превращая написание кода в сборку логических блоков. Как сказал один из разработчиков: «Лучший код — это тот, который вам не пришлось писать». > Unity Asset Store: Game Creator 2

    Шаг 3. Установка дополнительных модулей и Cinemachine

    GameCreator 2 имеет модульную структуру. «Ядро» (Core), которое мы только что установили, отвечает за базовую логику, переменные, камеру и персонажей. Однако для RPG нам понадобятся специализированные системы.

    Необходимые модули для курса

    Для полноценной RPG нам потребуются следующие официальные модули GC2 (их установка аналогична установке ядра через Package Manager):

    * Stats (Характеристики): Для здоровья, маны, силы, ловкости и формул урона. * Inventory (Инвентарь): Для предметов, экипировки, лута и магазинов. * Quests (Квесты): Для создания заданий и отслеживания прогресса. * Behavior (Поведение): Для создания искусственного интеллекта врагов и NPC.

    На данном этапе убедитесь, что у вас установлено хотя бы ядро. Модули можно добавлять по мере прохождения курса, но лучше подготовить их заранее.

    Интеграция Cinemachine

    Для управления камерой мы будем использовать Cinemachine — стандартное решение от Unity для создания динамических камер, которое нативно поддерживается GameCreator 2.

  • Откройте Window > Package Manager.
  • Переключитесь на Packages: Unity Registry.
  • Найдите Cinemachine и нажмите Install.
  • GameCreator автоматически обнаружит Cinemachine и позволит использовать его возможности внутри своих компонентов.

    Шаг 4. Создание базового окружения (Greyboxing)

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

    Подготовка сцены

  • В окне Project создайте новую папку _Scenes (нижнее подчеркивание нужно, чтобы папка была вверху списка).
  • Сохраните текущую сцену как Main_Gameplay в эту папку.
  • Удалите стандартные объекты, если они мешают, но оставьте Main Camera и Directional Light.
  • Создание земли

    Для начала нам хватит простой плоскости:
  • Нажмите правой кнопкой мыши в окне Hierarchy.
  • Выберите 3D Object > Plane.
  • В инспекторе (Inspector) сбросьте позицию в .
  • Увеличьте масштаб (Scale) до , чтобы у нас было пространство метров (так как стандартный Plane имеет размер единиц).
  • !Базовая сцена с плоскостью для тестирования механик.

    Шаг 5. Добавление Персонажа (Player)

    Самое приятное в GameCreator — это скорость, с которой можно получить играбельного персонажа. Нам не нужно писать скрипт контроллера или настраивать Rigidbody вручную.

    Процесс создания Игрока

  • В окне Hierarchy нажмите правой кнопкой мыши.
  • Перейдите в меню Game Creator > Characters > Player.
  • На сцене появится капсула синего цвета с именем Player.
  • Этот объект уже имеет компоненты для передвижения, коллизии и базовой анимации (процедурной или стандартной). Если вы запустите игру сейчас, вы сможете управлять этой капсулой с помощью клавиш WASD и прыгать на Пробел.

    Настройка модели (опционально)

    По умолчанию GC2 использует «бота» — процедурную модель. Чтобы заменить её на свою (например, рыцаря или мага):
  • Выберите объект Player.
  • В компоненте Character найдите подраздел Model.
  • Перетащите ваш префаб персонажа в поле Prefab или выберите его через круглую иконку выбора.
  • Шаг 6. Настройка Камеры

    Стандартная камера Unity статична. Нам нужна камера от третьего лица, которая следует за игроком.

  • Убедитесь, что на сцене есть Main Camera.
  • В иерархии нажмите ПКМ: Game Creator > Cameras > Shot.
  • Выберите созданный объект Shot.
  • В инспекторе найдите компонент Shot Camera.
  • Измените System на Third Person (или Adventure, в зависимости от желаемого стиля).
  • В поле Target перетащите объект вашего Player.
  • Теперь, при запуске игры, GameCreator перехватит управление Main Camera и заставит её следовать за игроком, используя настройки созданного нами шота (Shot).

    !Схема работы системы камер в GameCreator 2.

    Структура проекта

    Порядок в файлах — залог успешного проекта. Рекомендую сразу создать следующую структуру папок в окне Project:

    * _Game — корневая папка для всех ваших личных ассетов. * Blueprints — для префабов и шаблонов GC2. * Data — для глобальных переменных и настроек. * Materials — для материалов. * Prefabs — для ваших игровых объектов. * Scripts — для кастомных C# скриптов (если понадобятся).

    Заключение

    Поздравляю! Мы успешно подготовили почву для создания нашей RPG. У нас есть: * Настроенный проект на Unity URP. * Установленный GameCreator 2 с поддержкой модулей. * Игровая сцена с поверхностью. * Управляемый персонаж с камерой от третьего лица.

    В следующей статье мы углубимся в настройку управления и анимаций. Мы научим нашего героя не просто скользить как капсула, а бегать, красться и доставать оружие, используя мощную систему State Machine в GameCreator.

    Готовьтесь, приключение только начинается!

    2. Персонаж игрока: Настройка кастомного управления и интеграция уникальных анимаций

    Персонаж игрока: Настройка кастомного управления и интеграция уникальных анимаций

    Добро пожаловать во вторую статью курса «Разработка 3D RPG на Unity с GameCreator 2». В прошлый раз мы подготовили сцену и запустили стандартного «бота» — синюю капсулу, которая умеет ходить. Но для эпической RPG нам нужен настоящий герой: рыцарь в сияющих доспехах, ловкий вор или могущественный маг, а не процедурный манекен.

    Сегодня мы заменим стандартную модель на вашего уникального персонажа, настроим отзывчивое управление и разберемся, как GameCreator 2 (GC2) работает с анимациями. Мы превратим безликую капсулу в живого героя.

    Подготовка 3D-модели персонажа

    Прежде чем внедрять персонажа в GameCreator, его нужно правильно настроить в Unity. GC2, как и большинство современных систем, полагается на скелетную анимацию типа Humanoid.

    Требования к модели

    Ваша модель (из Asset Store, Mixamo или Blender) должна иметь настроенный Риг (Rig).

  • Выберите файл модели (обычно .fbx) в окне Project.
  • В инспекторе перейдите на вкладку Rig.
  • В выпадающем списке Animation Type выберите Humanoid.
  • Нажмите Apply.
  • Если Unity поставит галочку напротив Configure, значит, кости распознаны верно. Это критически важно: тип Humanoid позволяет использовать одни и те же анимации (ходьба, атака, прыжок) для любых гуманоидных персонажей, будь то гном или гигант.

    !Настройка типа анимации Humanoid в Unity.

    Интеграция модели в GameCreator 2

    В GC2 логика персонажа и его внешний вид разделены. Объект Player в иерархии — это «мозг» и физическая капсула. Визуальная модель — это лишь оболочка.

    Замена манекена

  • Выберите объект Player на сцене.
  • Найдите компонент Character.
  • Раскройте секцию Model.
  • В поле Prefab перетащите префаб вашего настроенного персонажа.
  • Параметр Offset (смещение) обычно нужно опустить по оси Y (например, на или , в зависимости от точки опоры модели), чтобы ноги касались земли, а не висели в воздухе.
  • Теперь, если вы запустите игру, вы увидите своего героя. Однако он может стоять в Т-позе или двигаться странно, если у него нет своего контроллера анимаций. Но прелесть GC2 в том, что он автоматически подхватывает управление анимациями.

    Настройка параметров движения (Locomotion)

    RPG требует разного темпа движения: спокойная ходьба в городе и быстрый бег в бою. За это отвечает компонент Unit, который висит на том же объекте Player.

    Основные параметры Unit

    В компоненте Unit найдите раздел Locomotion (Передвижение). Здесь мы настраиваем физику движения:

    * Can Move: Разрешено ли движение в принципе. * Can Run: Разрешен ли бег. * Can Jump: Разрешен ли прыжок.

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

    Математика движения

    Когда персонаж начинает движение, он не мгновенно набирает максимальную скорость. Unity и GC2 используют интерполяцию для плавного изменения скорости. Простейшая формула линейной интерполяции (Lerp), которая лежит в основе смешивания состояний, выглядит так:

    Где — текущая скорость в момент времени , — начальная скорость, — целевая скорость, а — коэффициент прогресса от 0 до 1.

    Хотя GC2 скрывает эти вычисления внутри, понимание того, что скорость меняется по кривой, а не скачкообразно, поможет вам настроить параметры Acceleration (Ускорение) и Deceleration (Торможение) в компоненте Unit. Для тяжелого рыцаря ставьте низкое ускорение, для ловкого вора — высокое.

    Система анимаций: States и Gestures

    GameCreator 2 не заставляет вас вручную собирать огромные схемы в Animator Controller. Вместо этого он использует свою надстройку: States (Состояния) и Gestures (Жесты).

    States (Состояния)

    Состояния — это длительные анимации, которые заменяют базовое поведение. Примеры: Idle (покой), Walk (ходьба), Run (бег), Crouch (красться).

    GC2 использует систему слоев. По умолчанию работает слой Locomotion. Чтобы изменить походку героя:

  • В папке проекта нажмите ПКМ: Create > Game Creator > Characters > Animation > State.
  • Назовите его State_HeroMovement.
  • В инспекторе этого ассета вы увидите слоты для Idle, Walk, Run.
  • Перетащите туда свои анимационные клипы (Animation Clips).
  • Чтобы применить этот стейт к игроку:

  • Выберите Player.
  • В компоненте Character найдите раздел Animimator.
  • Перетащите созданный State_HeroMovement в поле Default State.
  • Теперь ваш герой будет использовать ваши уникальные анимации для базового перемещения.

    !Иерархия слоев анимации (States) в GC2.

    Gestures (Жесты)

    Жесты — это разовые действия: взмах мечом, питье зелья, кивок головой. Они проигрываются поверх состояния и затем исчезают.

    Создание жеста:

  • Create > Game Creator > Characters > Animation > Gesture.
  • Назначьте анимационный клип (например, Attack).
  • Настройте Avatar Mask, если хотите, чтобы при атаке ноги продолжали бежать (анимация только для верхней части тела).
  • Кастомное управление (Input System)

    GameCreator 2 полностью поддерживает Unity Input System (новый пакет ввода). Нам не нужно писать код if (Input.GetKeyDown...).

    Настройка клавиш

    Управление в GC2 настраивается через специальные ассеты Input Map.

  • Найдите в настройках GC2 (меню Edit > Preferences > Game Creator) раздел Input.
  • Вы увидите ссылку на используемый ассет Input Map. Обычно это Input Map Action.
  • Откройте этот ассет. Вы увидите список действий: Move, Jump, Sprint.
  • Чтобы добавить, например, кнопку для атаки:

  • Добавьте новый Input Action в список.
  • Назовите его Attack.
  • Привяжите клавишу (например, ЛКМ или Space).
  • Связь управления и действий

    Сама по себе кнопка ничего не делает. Нам нужен Trigger (Триггер), который «услышит» нажатие.

  • Создайте на сцене пустой объект и назовите его Logic_PlayerInput.
  • Добавьте компонент Trigger.
  • В поле Trigger выберите Input > On Input.
  • В настройках выберите созданный нами экшен Attack.
  • В разделе Actions (Действия) добавьте: Character > Animation > Play Gesture.
  • Перетащите туда игрока и созданный ранее жест атаки.
  • Теперь при нажатии кнопки персонаж будет проигрывать анимацию удара.

    Продвинутая настройка: Blend Trees

    Для идеальной плавности между ходьбой и бегом часто используют Blend Trees (Деревья смешивания). В GC2 вы можете использовать их внутри State.

    Если у вас есть анимации движения в 8 направлениях (вперед, назад, влево, вправо и диагонали), обычных слотов Walk/Run не хватит. В этом случае в ассете State вы можете переключить режим с Simple на Advanced и указать свой Runtime Animator Controller, где настроено сложное дерево смешивания.

    Математически смешивание двух анимаций в Blend Tree описывается как взвешенная сумма позиций костей:

    Где — итоговая поза, — количество анимаций, — поза -й анимации, а — весовая функция, зависящая от параметра (например, скорости или направления). Сумма весов всегда должна быть равна единице: . Это гарантирует, что персонаж не «разорвется» между анимациями.

    Заключение

    Мы проделали огромную работу! Теперь у нас есть: * Уникальный персонаж с настроенным скелетом Humanoid. * Реалистичная физика движения с ускорением. * Собственный набор анимаций для покоя и бега. * Настроенная клавиша атаки, вызывающая жест.

    В следующей статье мы займемся тем, что делает RPG настоящей ролевой игрой — Характеристиками (Stats). Мы создадим здоровье, ману, выносливость и научим игру реагировать на их изменение.

    Сохраните сцену и подготовьте анимации ударов — скоро они нам понадобятся!

    3. Кинематографичность: Настройка камер Cinemachine и режиссура катсцен

    Кинематографичность: Настройка камер Cinemachine и режиссура катсцен

    Добро пожаловать в третью статью курса «Разработка 3D RPG на Unity с GameCreator 2». В предыдущих уроках мы создали проект, настроили персонажа и научили его двигаться. Теперь пришло время взглянуть на мир его глазами — или, точнее, глазами игрока.

    Камера в RPG — это не просто окно в игровой мир, это режиссерский инструмент. Она подчеркивает масштаб эпических замков, фокусирует внимание на важных диалогах и добавляет динамики в сражения. В Unity стандартом индустрии для работы с камерами является Cinemachine, и GameCreator 2 (GC2) имеет глубокую интеграцию с этой системой.

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

    Философия камеры в GameCreator 2

    GameCreator 2 использует концепцию Shots (Кадры). Компонент Shot Camera — это оболочка над виртуальной камерой Cinemachine. Вместо того чтобы управлять одной реальной камерой (Main Camera), мы создаем множество виртуальных операторов, расставленных по сцене.

    Система работает по принципу «Мозга» (Cinemachine Brain): в любой момент времени активна только одна виртуальная камера, а Main Camera просто перемещается в её позицию. Это позволяет мгновенно переключаться между видом от третьего лица, видом из глаз или статичным ракурсом для диалога.

    Настройка идеальной камеры от третьего лица

    В первой статье мы создали базовый шот. Теперь давайте превратим его в полноценный инструмент для RPG.

    Структура Рига (The Rig)

    Камера от третьего лица в Cinemachine (и GC2) использует систему из трех орбит (Orbits), напоминающую сферу вокруг игрока:

  • Top Rig: Орбита над головой (для взгляда вниз).
  • Middle Rig: Основная орбита на уровне плеч.
  • Bottom Rig: Нижняя орбита (для взгляда вверх).
  • !Структура орбит камеры Cinemachine вокруг игрока.

    Чтобы настроить это:

  • Выберите ваш объект Shot в сцене.
  • В компоненте Shot Camera убедитесь, что System установлена в Third Person.
  • Разверните настройки Rig.
  • Здесь вы можете задать радиус и высоту для каждого кольца. Для RPG рекомендуются следующие пропорции: * Top: Высота 3-4 метра, радиус маленький (чтобы камера не улетала далеко при взгляде вниз). * Middle: Высота 1.5 метра (уровень плеч), радиус 3-5 метров. * Bottom: Высота 0.5 метра, радиус маленький (чтобы камера не проваливалась под землю).

    Математика плавности (Damping)

    Хорошая камера никогда не приклеена к персонажу намертво. Она должна иметь инерцию. Если игрок резко дернется влево, камера должна плавно довернуть за ним с небольшой задержкой. Это называется Damping (Демпфирование).

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

    Формула, описывающая стремление камеры к целевой позиции с учетом демпфирования:

    Где: * — новая позиция камеры в текущем кадре. * — идеальная целевая позиция (за спиной игрока). * — текущая позиция камеры. * — математическая константа (основание натурального логарифма). * — коэффициент демпфирования (чем он больше, тем быстрее камера догоняет цель). * — время, прошедшее с последнего кадра (Delta Time).

    В инспекторе GC2 вы не вводите формулу, а настраиваете параметры Damping по осям X, Y и Z.

    * Установите Damping X/Z на . Это даст приятное ощущение веса камеры при поворотах. * Установите Damping Y чуть жестче (), чтобы камера быстрее реагировала на прыжки и падения, иначе игрок может выпасть из кадра.

    Динамика боя: Тряска камеры (Impulse)

    Когда ваш герой получает урон или наносит мощный удар, камера должна реагировать. В Cinemachine за это отвечает модуль Impulse.

    Настройка источника тряски

  • Найдите объект, который должен вызывать тряску (например, префаб взрыва или сам персонаж при получении урона).
  • Добавьте компонент Cinemachine Impulse Source.
  • В поле Raw Signal выберите пресет (например, 6D Shake).
  • Настройка приемника

  • На вашем основном объекте Shot добавьте расширение (Extension): внизу компонента Shot Camera нажмите Add Extension.
  • Выберите Cinemachine Impulse Listener.
  • Теперь, чтобы вызвать тряску, вам нужно использовать Action в GameCreator:

  • Создайте действие (например, в триггере получения урона).
  • Выберите Camera > Shake > Impulse.
  • Укажите силу удара.
  • Режиссура катсцен

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

    Приоритет камер

    Cinemachine решает, какую камеру показывать, основываясь на Priority (Приоритете). Камера с наивысшим числом побеждает. GameCreator упрощает это: он считает «Активной» ту камеру, которую вы последней активировали через Actions.

    Создание диалоговой камеры

    Представим ситуацию: игрок подходит к NPC, и камера должна плавно перелететь от вида со спины (Third Person) к крупному плану NPC.

  • Создайте новый Shot: Game Creator > Cameras > Shot.
  • Назовите его Shot_NPC_Dialog.
  • В Shot Camera измените System на Anchor (Привязка к точке) или оставьте Third Person, но с очень близким радиусом.
  • В поле Target укажите NPC (или его голову).
  • Отключите этот объект в иерархии (галочка рядом с именем), чтобы он не перехватил управление на старте.
  • Сценарий переключения (Actions)

    Теперь создадим логику переключения.

  • Создайте объект Trigger рядом с NPC.
  • Условие: On Player Enter.
  • В списке Actions добавьте:
  • * Camera > Shot > Set Shot: Выберите Shot_NPC_Dialog. Установите время перехода (Transition Duration) на секунды. * Time > Wait: Ждем секунды (имитация диалога). * Camera > Shot > Set Shot: Выберите Main Shot (камера игрока).

    Когда игрок войдет в зону, «Мозг» камеры увидит запрос на смену шота. Он построит траекторию между текущей позицией и позицией диалоговой камеры и плавно переместит точку обзора.

    !Визуализация процесса смешивания (Blending) между двумя камерами во времени.

    Типы переходов (Blending)

    Переход между камерами может быть разным. В настройках Main Camera (где висит компонент Brain) вы можете найти настройки Default Blend.

    * Cut: Мгновенное переключение. Подходит для резкой смены ракурса в бою или при телепортации. * Ease In/Out: Плавный разгон и торможение камеры. Идеально для диалогов и обзора пейзажей.

    Математически плавный переход (Ease In/Out) часто описывается кубической кривой Безье или функцией SmoothStep:

    Где: * — сглаженное значение интерполяции. * — нормализованное время перехода от 0 до 1.

    Эта формула обеспечивает нулевую скорость изменения в начале и в конце пути, что делает движение камеры «кинематографичным», без рывков.

    Практический совет: Look At vs Follow

    В настройках Shot Camera есть два важных поля: * Follow (Следовать): Камера физически перемещается за целью. * Look At (Смотреть на): Камера вращается, чтобы держать цель в центре кадра.

    Для RPG от третьего лица обычно оба поля ссылаются на Игрока. Однако для катсцен часто полезно разделить их. Например, камера следует за летящей птицей, но смотрит на замок вдали. Это создает эффектный пролет, который невозможно сделать, если камера привязана только к одной точке.

    Заключение

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

    Теперь ваша игра выглядит не как техническое демо, а как настоящее приключение. В следующей статье мы займемся тем, что обычно скрыто от глаз, но критически важно для геймплея — Характеристиками и Атрибутами. Мы создадим систему здоровья, маны и выносливости, используя модуль Stats.

    > «Кино — это жизнь, из которой вырезано всё скучное». — Альфред Хичкок. В играх камера должна делать то же самое: показывать самое интересное и скрывать недостатки. > Unity Documentation: Cinemachine

    4. RPG механики: Работа с модулями Stats, Inventory и Dialogue для глубины геймплея

    RPG механики: Работа с модулями Stats, Inventory и Dialogue для глубины геймплея

    Добро пожаловать в четвертую статью курса «Разработка 3D RPG на Unity с GameCreator 2». Мы уже проделали большой путь: создали проект, оживили персонажа уникальными анимациями и настроили кинематографичную камеру. Наш герой умеет бегать и прыгать, а камера красиво следует за ним. Но пока что это просто симулятор ходьбы.

    Чтобы игра стала настоящей RPG, ей нужны цифры, предметы и истории. В этой статье мы вдохнем жизнь в геймплей, внедрив три фундаментальных модуля GameCreator 2: Stats (Характеристики), Inventory (Инвентарь) и Dialogue (Диалоги). Мы создадим систему здоровья и силы, научим героя подбирать мечи и общаться с NPC.

    Модуль Stats: Математика выживания

    В основе любой ролевой игры лежит математическая модель. Сильный удар отличается от слабого цифрами урона, а выживание зависит от очков здоровья (HP). Модуль Stats в GC2 позволяет создавать любые числовые параметры и связывать их формулами.

    Атрибуты и Статы: В чем разница?

    GameCreator разделяет характеристики на два типа:

  • Attributes (Атрибуты): Это «сырые» значения, которые редко меняются в реальном времени, но растут с уровнем. Примеры: Сила (Strength), Ловкость (Agility), Интеллект (Intellect).
  • Stats (Статы): Это параметры, имеющие текущее и максимальное значение. Они зависят от Атрибутов. Примеры: Здоровье (Health), Мана (Mana), Выносливость (Stamina).
  • Создание системы здоровья

    Давайте создадим классическую зависимость: чем больше Силы, тем больше Здоровья.

  • В окне Project создайте папку Game/Stats.
  • Нажмите ПКМ: Create > Game Creator > Stats > Attribute. Назовите его Strength.
  • Создайте еще один ассет: Create > Game Creator > Stats > Stat. Назовите его Health.
  • Теперь самое интересное — формула. В настройках стата Health мы можем задать формулу для вычисления его максимального значения. В классических RPG формула может выглядеть так:

    Где: * — итоговое максимальное здоровье персонажа. * — базовое здоровье (константа, например, 100). * — значение атрибута Силы (Strength). * — множитель (например, 10 очков здоровья за каждую единицу силы).

    В интерфейсе GC2 это настраивается через систему формул, где вы перетаскиваете ассет Strength в поле формулы. Это позволяет геймдизайнеру балансировать игру, меняя лишь коэффициенты, не переписывая код.

    !Схема зависимости максимального здоровья от атрибута силы через формулу.

    Добавление характеристик персонажу

    Чтобы наш герой «обрел» эти параметры:
  • Выберите объект Player.
  • Добавьте компонент Traits (Черты).
  • В список характеристик добавьте созданные нами Health и Strength.
  • Теперь у вашего персонажа есть здоровье, но игрок его не видит. Для отображения нужно создать UI (Canvas) и добавить компонент Attribute UI или Stat UI, связав его с Player.

    Модуль Inventory: Лут, экипировка и крафт

    Инвентарь в RPG — это не просто склад иконок. Это система, меняющая геймплей. Меч увеличивает атаку, зелье восстанавливает здоровье, а ключ открывает дверь.

    Анатомия предмета (Item)

    В GC2 каждый предмет — это ассет (ScriptableObject). Чтобы создать меч:

  • Create > Game Creator > Inventory > Item.
  • Назовите его Iron_Sword.
  • В инспекторе вы можете задать:
  • * Name & Description: Название и описание. * Sprite: Иконка для UI. * Type: Тип предмета (Оружие, Расходник, Броня). * Price: Стоимость для торговли.

    Экипировка и изменение характеристик

    Самое важное в мече — это то, как он влияет на урон. Для этого в настройках предмета есть раздел Equip.

    Здесь мы используем концепцию Modifiers (Модификаторов). Мы можем сказать системе: «Когда этот предмет надет, добавь +5 к Атрибуту Сила».

    Математически это работает как аддитивный бонус:

    Где: * — итоговая сила персонажа. * — собственная сила персонажа. * — количество надетых предметов. * — бонус силы от -го предмета экипировки.

    Визуализация оружия

    Чтобы меч появился в руке героя, а не только в цифрах:
  • В настройках предмета Iron_Sword найдите раздел Equip Run.
  • Добавьте действие Character > Equipment > Attach.
  • Укажите префаб 3D-модели меча.
  • Выберите кость руки (обычно Right Hand) в скелете персонажа.
  • Теперь, когда игрок нажмет «Экипировать» в инвентаре, GC2 автоматически создаст модель меча и прикрепит её к руке, следуя за анимацией.

    Модуль Dialogue: Искусство повествования

    RPG немыслима без общения. Модуль диалогов в GC2 представляет собой узловую систему (Node-based system), похожую на блок-схемы.

    Создание диалога

  • Create > Game Creator > Dialogue > Dialogue.
  • Откройте редактор диалогов. Вы увидите поле с узлами.
  • Создайте корневой узел Start.
  • Добавьте узлы Text (реплики NPC) и Choice (варианты ответа игрока).
  • !Граф диалога: от приветствия NPC к выбору игрока.

    Логика и условия

    Диалоги в GC2 — это не просто текст. Это способ управления состоянием мира. Вы можете добавлять условия (Conditions) к выбору ответов.

    Пример: Игрок может выбрать вариант «Вот твой меч», ТОЛЬКО если у него в инвентаре есть предмет Iron_Sword.

    Для этого в узле выбора ответа:

  • Добавьте Condition.
  • Выберите Inventory > Has Item.
  • Укажите Iron_Sword.
  • Если условие истинно, ветка диалога становится доступной. После выбора этой ветки можно добавить Action (Действие), которое удалит меч из инвентаря и начислит опыт или золото.

    Интеграция систем: Создаем игровой цикл

    Теперь давайте объединим все три модуля в одну игровую ситуацию. Это и будет вашим практическим ориентиром.

    Сценарий: Герой находит зелье, которое навсегда увеличивает его здоровье.

  • Создание предмета: Создаем Item Health_Elixir. Тип — Consumable (Расходник).
  • Настройка эффекта: В разделе Use (Использование) предмета добавляем Action: Stats > Change Attribute. Выбираем атрибут Constitution (или просто добавляем к Health) и ставим значение .
  • Размещение в мире: Создаем на сцене 3D-модель бутылочки. Добавляем компонент Trigger (On Player Enter) или Interactive (по нажатию кнопки).
  • Действие подбора: В триггере добавляем Action: Inventory > Add Item. Указываем Health_Elixir.
  • Результат: Игрок подходит к бутылочке -> Нажимает E -> Бутылочка исчезает со сцены -> Предмет появляется в инвентаре -> Игрок открывает инвентарь и использует зелье -> Атрибут здоровья увеличивается навсегда.

    Важность UI (Пользовательского интерфейса)

    Все эти механики требуют визуального отображения. GameCreator 2 предоставляет готовые префабы UI для всех модулей.

    * HUD: Полоски здоровья и маны. * Inventory UI: Окно с сеткой предметов, слотами экипировки и описанием. * Dialogue UI: Окно субтитров и кнопок выбора.

    Чтобы добавить их, просто перетащите соответствующие префабы из папки Plugins/GameCreator/Installs/... на сцену или используйте меню установки. Они полностью настраиваемы, но работают «из коробки».

    Заключение

    Сегодня мы превратили манекен в героя с характеристиками, дали ему возможность владеть предметами и разговаривать. Мы заложили фундамент для экономики и прогрессии игры.

    В следующей статье мы перейдем к самой динамичной части RPG — Боевой системе и Искусственному Интеллекту. Мы научимся наносить урон, создавать врагов с помощью модуля Behavior и настраивать хитбоксы.

    > «В хорошей RPG цифры — это не просто статистика, это отражение пути вашего героя». — Сид Мейер (парафраз). > Game Creator 2 Documentation: Stats

    Готовьте свои мечи и заклинания, впереди нас ждут сражения!

    5. Боевая система, искусственный интеллект врагов и финальная сборка

    Боевая система, искусственный интеллект врагов и финальная сборка

    Добро пожаловать в заключительную статью курса «Разработка 3D RPG на Unity с GameCreator 2». Мы прошли долгий путь: от пустой сцены до живого мира с персонажем, инвентарем и диалогами. Но чего-то не хватает. В мире, полном опасностей, наш герой пока не может постоять за себя, а враги отсутствуют как класс.

    В этом уроке мы превратим нашу «мирную прогулку» в настоящий экшен. Мы настроим боевую систему ближнего боя, создадим умных врагов с помощью модуля Behavior и соберем финальный билд игры, который можно отправить друзьям.

    Часть 1. Анатомия удара: Настройка Melee Combat

    В GameCreator 2 (GC2) бой — это не просто анимация. Это точное взаимодействие коллайдеров оружия и тела противника. Для этого используется компонент Melee Weapon.

    Настройка оружия

    В предыдущем уроке мы создали меч как предмет инвентаря. Теперь нам нужно настроить его физические свойства на сцене.

  • Найдите префаб меча, который появляется в руке персонажа.
  • Добавьте на него компонент Melee Weapon.
  • В этом компоненте вы увидите настройки Hitbox. Это область, которая наносит урон. Обычно это Box Collider, повторяющий форму лезвия.
  • Фазы атаки

    Реалистичный удар состоит из трех фаз: замах, активная фаза (когда наносится урон) и восстановление. GC2 позволяет синхронизировать это с анимацией.

    В компоненте Melee Weapon или в самом Gesture атаки мы настраиваем временные интервалы. Если анимация длится 1 секунду, то активная фаза может быть с 0.3с по 0.6с. Только в этот момент коллайдер меча становится «опасным».

    Математика урона

    Когда меч касается врага, происходит расчет урона. В простой аркаде урон фиксирован. В RPG он зависит от характеристик. В модуле Stats мы можем задать формулу входящего урона.

    Рассмотрим классическую формулу расчета итогового урона с учетом защиты:

    Где: * — итоговый урон, который получит враг. * — базовый урон оружия (например, 10). * — сила атакующего (атрибут Strength). * — коэффициент влияния силы (например, 0.5). * — защита цели (атрибут Defense).

    Эта формула гарантирует, что даже при огромной защите урон никогда не станет нулевым, но будет существенно снижен. В GC2 вы вводите эту логику в поле Formula внутри ассета Stat (например, Health -> On Receive Damage).

    Часть 2. Искусственный интеллект: Модуль Behavior

    Враг, который просто стоит и ждет удара — это скучно. Нам нужен противник, который патрулирует территорию, замечает игрока и атакует. Для этого в GC2 существует модуль Behavior (Поведение).

    Создание врага

  • Создайте нового персонажа (Game Creator > Characters > Character).
  • Замените модель на вражескую (например, Скелет или Орк).
  • Добавьте компонент Behavior.
  • Граф поведения (Behavior Graph)

    ИИ в GC2 работает на основе деревьев поведения (Behavior Trees) и конечных автоматов (State Machines). Это визуальный граф, где узлы определяют логику.

    !Визуализация логики поведения врага: Патруль -> Обнаружение -> Преследование -> Атака.

    Основные узлы, которые нам понадобятся: * Sequence (Последовательность): Выполняет действия по порядку. Если одно не удалось, прерывает цепочку. * Selector (Выбор): Пытается выполнить действия по очереди, пока одно не сработает (например: «Атаковать», если нельзя — «Преследовать», если нельзя — «Патрулировать»).

    Зрение и сенсоры

    Как враг понимает, где игрок? Ему нужны «глаза». В GC2 это компонент Perception (Восприятие).

    Мы добавляем сенсор Sight (Зрение). Он определяется радиусом и углом обзора. Математически проверка «видит ли враг игрока» часто сводится к вычислению скалярного произведения векторов.

    Условие попадания игрока в конус зрения:

    Где: * — угол между направлением взгляда врага и направлением на игрока. * — вектор направления взгляда врага (Forward vector). * — вектор, соединяющий глаза врага и игрока. * — операция скалярного произведения. * — длина вектора.

    Если вычисленный угол меньше половины угла обзора (Field of View / 2) и между объектами нет препятствий (проверяется Raycast'ом), то враг «видит» нас.

    Навигация (NavMesh)

    Чтобы враг мог бегать за игроком, не врезаясь в стены, Unity использует NavMesh (Навигационную сетку).

  • Откройте окно Window > AI > Navigation.
  • Выберите вкладку Bake.
  • Убедитесь, что земля помечена как Navigation Static.
  • Нажмите Bake. Синяя сетка на земле покажет зоны, доступные для ходьбы.
  • Теперь в действиях Behavior Graph можно использовать узел Move To, и враг сам найдет путь.

    > «Искусственный интеллект в играх не должен быть умным. Он должен быть интересным для победы». — Сид Мейер. > Unity Documentation: Navigation and Pathfinding

    Часть 3. Смерть и Ragdoll

    Когда здоровье врага падает до нуля, он должен умереть. В GC2 это настраивается через триггер On Death в компоненте Character (если подключен модуль Stats).

    У нас есть два пути:

  • Анимация смерти: Просто проиграть клип падения.
  • Ragdoll (Тряпичная кукла): Включить физику для каждой кости, чтобы тело реалистично упало с лестницы или отлетело от удара.
  • Для Ragdoll в GC2 есть действие Character > Ragdoll > Set State. Мы активируем его в момент смерти, и управление передается физическому движку Unity (PhysX).

    Часть 4. Финальная сборка (Build)

    Наша игра готова. Персонаж бегает, сражается, прокачивается. Пора превратить проект в .exe файл.

    Настройка билда

  • Перейдите в File > Build Settings.
  • Убедитесь, что все ваши сцены (Главное меню, Геймплей) добавлены в список Scenes In Build.
  • Выберите платформу (Windows, Mac, Linux).
  • Нажмите Player Settings, чтобы задать имя игры, иконку и название компании.
  • Компиляция

    Нажмите Build and Run. Unity спросит, куда сохранить файл. Создайте папку _Builds вне папки проекта (чтобы не засорять репозиторий) и выберите её.

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

    Заключение курса

    Поздравляю! Вы прошли путь от установки Unity до создания собственной 3D RPG. Мы изучили: * GameCreator 2 Core: Основы триггеров и действий. * Characters & Camera: Создание героя и кинематографичной камеры. * Stats & Inventory: Ролевые системы и экономику. * Combat & AI: Боевую систему и искусственный интеллект.

    Конечно, это только начало. Впереди вас ждет создание квестов, сохранение игры, оптимизация и дизайн уровней. Но фундамент заложен. Теперь у вас есть набор инструментов, чтобы рассказать свою историю.

    Спасибо, что были с нами в этом курсе. Удачи в разработке!