Найти в Дзене

Unreal engine 4 мобы

Создание мобов (Mobiles или Non-Player Characters — NPC) в Unreal Engine 4 — важная часть разработки игр, добавляющая жизнь и взаимодействие в ваш игровой мир. Вот пошаговое руководство по созданию мобов в UE4: I. Основные понятия: AIController: Класс, отвечающий за управление поведением NPC. Behavior Tree: Графический инструмент для создания логики поведения NPC. Blackboard: Ассет, используемый для хранения данных, которые могут использоваться Behavior Tree. Character: Базовый класс для персонажей, которыми может управлять AI или игрок. NavMeshBoundsVolume: Объем, определяющий область, в которой NPC могут перемещаться. BTTask_BlueprintBase: Базовый класс для создания пользовательских задач Behavior Tree с использованием Blueprints. EnvQuery: Система запросов окружения, позволяющая AI получать информацию об окружающей среде. Perception Component: Компонент, позволяющий AI “видеть” и “слышать” окружающий мир. II. Шаги по созданию моба: Create Character Blueprint: Создайте новый Blueprin

Создание мобов (Mobiles или Non-Player Characters — NPC) в Unreal Engine 4 — важная часть разработки игр, добавляющая жизнь и взаимодействие в ваш игровой мир. Вот пошаговое руководство по созданию мобов в UE4:

I. Основные понятия:

AIController: Класс, отвечающий за управление поведением NPC. Behavior Tree: Графический инструмент для создания логики поведения NPC. Blackboard: Ассет, используемый для хранения данных, которые могут использоваться Behavior Tree. Character: Базовый класс для персонажей, которыми может управлять AI или игрок. NavMeshBoundsVolume: Объем, определяющий область, в которой NPC могут перемещаться. BTTask_BlueprintBase: Базовый класс для создания пользовательских задач Behavior Tree с использованием Blueprints. EnvQuery: Система запросов окружения, позволяющая AI получать информацию об окружающей среде. Perception Component: Компонент, позволяющий AI “видеть” и “слышать” окружающий мир.

II. Шаги по созданию моба:

Create Character Blueprint:

Создайте новый Blueprint Class, производный от Character. Назовите его, например, BP_Mob. Добавьте Skeletal Mesh Component для отображения модели моба. Выберите модель и настройте материалы. (Optional) Добавьте Capsule Component и настройте его размеры для коллизии. Настройте параметры движения (Movement Component) в Details Panel.

Create AIController Blueprint:

Создайте новый Blueprint Class, производный от AIController. Назовите его, например, BP_MobAIController.

Create Behavior Tree:

Создайте новый ассет Behavior Tree. Назовите его, например, BT_Mob.

Create Blackboard:

Создайте новый ассет Blackboard. Назовите его, например, BB_Mob.

Configure Behavior Tree and Blackboard:

В Behavior Tree (BT_Mob):

Выберите Blackboard (BB_Mob) в Details Panel. Создайте Tasks, Services, Decorators для определения логики поведения моба (патрулирование, преследование, атака и т. д.).

В Blackboard (BB_Mob):

Добавьте Keys для хранения данных (например, Location, TargetActor, IsAggroed).

Implement AI Logic in Behavior Tree:

Root: Добавьте Root ноду. Selector: Добавьте Selector ноду (выполняет одну из дочерних нод). Sequence: Добавьте Sequence ноду (выполняет дочерние ноды последовательно). Tasks: Добавьте Tasks ноды для выполнения конкретных действий:

MoveTo: Для перемещения моба к заданной точке. Wait: Для задержки выполнения. Custom Tasks: Создайте свои собственные задачи (см. ниже).

Services: Добавьте Services ноды для периодической проверки условий (например, проверка близости игрока). Decorators: Добавьте Decorators ноды для определения условий выполнения (например, IsAggroed, HasLineOfSight).

Create Custom Tasks (Optional):

Создайте новый Blueprint Class, производный от BTTask_BlueprintBase. Назовите его, например, BTTask_Attack. В BTTask_Attack:

Implement ReceiveExecuteAI: Реализуйте логику выполнения задачи (например, воспроизведение анимации атаки, нанесение урона игроку). Implement ReceiveAbortAI: Реализуйте логику прерывания задачи.

Set AIController in Character Blueprint:

В BP_Mob:

В Details Panel найдите раздел “Pawn”. Установите “AI Controller Class” на BP_MobAIController. Установите “Auto Possess AI” на “Placed in World or Spawned”.

Spawn and Place Mobs in World:

Перетащите BP_Mob из Content Browser на уровень. Разместите NavMeshBoundsVolume на уровне, чтобы определить область, в которой мобы могут перемещаться. Нажмите клавишу ‘P’ для отображения NavMesh.

III. Расширенные возможности:

Perception Component: Добавьте AIPerceptionComponent в BP_Mob для обнаружения игроков и других объектов. Используйте AISenseConfig_Sight и AISenseConfig_Hearing. EQS (Environment Query System): Используйте EQS для поиска подходящих мест для патрулирования, укрытий или атак.

Создайте новый ассет Environment Query. Настройте тесты EQS для фильтрации результатов. Используйте EQS в Behavior Tree для выбора цели.

Animation Notify Events: Используйте Animation Notify Events для запуска событий во время анимации (например, нанесение урона во время анимации атаки). Gameplay Abilities: Используйте Gameplay Abilities для создания сложных способностей и эффектов для мобов. AI Director: Используйте AI Director для управления поведением группы мобов. Networking: Для многопользовательских игр используйте репликацию, чтобы синхронизировать поведение мобов между сервером и клиентами.

IV. Рекомендации:

Start Simple: Начните с простого поведения (например, патрулирование) и постепенно добавляйте более сложные функции. Use Comments: Добавляйте комментарии к своим Blueprint, чтобы было легче понимать, что происходит. Test Thoroughly: Тщательно тестируйте поведение мобов, чтобы убедиться, что оно работает правильно. Optimize Performance: Оптимизируйте свой код, чтобы он работал быстро и эффективно. Use EQS Sparingly: Environment Queries могут быть ресурсоемкими. Используйте их только тогда, когда это необходимо. Consider AI Difficulty: Подумайте о создании нескольких уровней сложности AI.

V. Примеры поведения мобов:

Patrolling: Моб перемещается между заданными точками. Chasing: Моб преследует игрока, когда он находится в поле зрения. Attacking: Моб атакует игрока, когда он находится в определенном радиусе. Fleeing: Моб убегает от игрока, когда он получает урон. Healing: Моб исцеляет себя или других мобов, когда они получают урон. Supporting: Моб поддерживает других мобов, например, защищает их или усиливает их способности.

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

  📷
📷