Создание системы динамического диалога с NPC для игрового проекта
Цель проекта
Разработать интерактивную диалоговую систему, позволяющую игроку общаться с неигровым персонажем (NPC) с использованием голоса на естественном языке. Система должна понимать контекст, поддерживать беседу и генерировать осмысленные, характерные голосовые ответы в реальном времени для максимального погружения в игровой мир.
Основные задачи
1. Интеграция готовых AI-моделей
- Настроить последовательный рабочий конвейер обработки данных.
- Речь игрока → Распознавание речи (Speech-To-Text, например, на базе Whisper).
- Текст → Обработка языковой моделью (LLM: GPT-4 Turbo, Llama 3 или аналог).
- Текст ответа → Синтез речи (Text-To-Speech, например, ElevenLabs или Google TTS).
- Голос NPC → Воспроизведение в игре.
- Определиться с использованием облачных API или локальных моделей для каждого этапа.
2. Разработка диалогового менеджера
- Создать центральный модуль для управления контекстом диалога.
- Реализовать хранение памяти о предыдущих репликах в рамках диалога.
- Настроить систему промптов, определяющих личность, знания и поведение NPC.
- Обеспечить плавные переходы между темами и учет сказанного ранее.
3. Оптимизация производительности
- Реализовать кэширование частых или типовых запросов для снижения нагрузки на модели и уменьшения задержек.
- Настроить систему индикаторов (например, анимацию "NPC думает") для сглаживания времени ожидания ответа.
- Добиться минимально возможной задержки между репликой игрока и ответом NPC для ощущения реального времени.
Требования к результату
- Рабочий билд игрового проекта для демонстрации и проверки функциональности системы.
- Готовый проект, совместимый с Unity версии 2022.2 или выше.
- Чистая, документированная архитектура кода для возможного дальнейшего расширения.
- Стабильная работа конвейера от микрофона игрока до динамиков.