Локальные NPC в Unity: текст, голос и игровые правила
Свободный разговор с NPC легко показать как отдельный чат. В игре он сразу становится сложнее: игрок ждёт ответа, персонаж должен помнить свою роль, а итог разговора не должен зависеть от случайной фразы модели.
Я Тим, делаю игры и инструменты для Unity под именем Strange Euphoria XR. Мой платный плагин Offline AI NPC обновился до версии 1.1.0. Для него я также сделал бесплатную игру The Interview: короткое интервью на космической станции, в котором вопросы придумывает сам игрок. На её примере расскажу, что приходится решать помимо генерации текста.
Кто отвечает за игровые правила
В The Interview у игрока есть восемь записей в деле и 18 вопросов. Он сверяет слова собеседницы с документами, выбирает тон обращения и в конце решает, пропустить её или задержать. Вместо списка заранее написанных реплик — собственная формулировка.
Модель отвечает за речь персонажа. Лимит вопросов, самообладание, отметки в деле и финальное решение остаются в игровом коде. Фраза «можете проходить» сама по себе не открывает проход. Это полезная граница: свободный текст может сделать разговор разнообразнее, но не должен незаметно заменить правила игры.
При этом граница не устраняет ошибки в самом диалоге. Небольшая модель может путать факты, отвечать неестественно или выходить из роли. Для игры, где игрок ищет противоречия, это особенно заметно: ошибку модели легко принять за намеренную улику. Одной убедительной демонстрации недостаточно, чтобы считать такую механику надёжной во всех разговорах.
Что меняется при локальном запуске
Вычисления выполняются на компьютере игрока. После первоначального скачивания моделей разговор может работать без интернета, API-ключа и оплаты каждого запроса облачному сервису.
Вместо расходов на запросы появляются другие ограничения: размер файлов, память, скорость компьютера и время первого запуска. Для The Interview нужен Windows x64 и процессор с AVX2. Модели занимают гигабайты, а ответ приходится ждать. Локальный запуск не означает одинаковую скорость на всех ПК.
В цепочке несколько отдельных этапов. Whisper превращает голос игрока в текст, Qwen3 формирует ответ, Qwen3-TTS готовит озвучку. С клавиатурой первый этап можно пропустить. Это ещё и удобный запасной способ ввода, если микрофон не работает.
Ожидание здесь становится частью интерфейса. Нужно понимать, услышала ли игра вопрос и занят ли персонаж ответом. В сцене с одним человеком за столом пауза чувствуется сильнее, чем в отдельном чат-окне. Анимация или короткая реакция могут поддержать сцену, но не уменьшают время вычисления.
Что вошло в версию 1.1.0
В плагине появился локальный Qwen3-TTS с девятью готовыми голосами. Распознавание речи можно включить через удержание выбранной клавиши. В настройке ответа есть ограничение длины: слишком длинная реплика влияет и на темп разговора, и на ожидание озвучки.
Обновилась и первоначальная настройка в Unity: подбор модели, предварительный просмотр изменений сцены и возможность их отменить. Первый разговор можно начать с печатного вопроса. Так проще проверить саму цепочку ответа, а уже затем подключать микрофон и голос.
Редакторские инструменты и руководство доступны на английском, русском, испанском и упрощённом китайском. У игры своя локализация: интерфейс, материалы дела, разговор и голос в The Interview доступны на десяти языках. Это разные уровни поддержки, поэтому десять языков демо не стоит автоматически переносить на весь комплект редакторских инструментов.
Что показывает бесплатная игра
The Interview позволяет попробовать разговор в конкретной задаче, без покупки плагина и без своего проекта Unity. Можно спросить об одной записи в деле, уточнить ответ, поменять тон и увидеть, помогла ли полученная информация принять решение.
Я рассматриваю её как способ проверить механику и получить конкретную обратную связь. Полезный пример — вопрос игрока, полный ответ, выбранный язык и модель. По таким данным проще понять, что мешает: перевод интерфейса, соблюдение фактов, темп ответа или сама постановка задачи.
Пока я не вижу смысла обещать «бесконечно живых NPC». Мне интереснее небольшие сцены, где собственный вопрос игрока действительно меняет разговор, а последствия остаются понятными.
Бесплатная The Interview для Windows. Для игры покупать плагин не нужно.
Какая небольшая игровая задача, по-вашему, выигрывает от свободных вопросов сильнее всего? И какая пауза перед ответом ещё воспринимается как часть разговора, а какая уже мешает играть?