
Third Person Control - Управление сущностями от третьего лица
Third Person Control - датапак-библиотека для Minecraft, которая позволяет управлять сущностями от третьего лица через WASD, прыжок и приседание. Нужна для катсцен, мини-игр и кастомных камер. Требуется 1.21.4 и выше.
Third Person Control - это датапак-библиотека для Minecraft Java Edition, которая даёт игроку управление любой сущностью от третьего лица. Жмёте WASD, пробел и Shift - и моб, стойка для брони или другой персонаж двигается так, будто это вы сами. По официальным тегам проект относится к категориям Game Mechanics, Library и Utility, то есть это чисто технический инструмент для картоделов, а не развлечение на выживание.
Зачем он вообще нужен? В ванильном Майнкрафте камера жёстко привязана к игроку. Хочется проехать на драконе, снять катсцену от лица зомби или сделать мини-игру с управляемым големом - и начинаются костыли с телепортами и арморстендами. Третье лицо контроль решает это парой команд. Зайдёт тем, кто собирает приключенческие карты, кинематики и интерактивные сценки, а на сервере пригодится для ивентов и всяких шоу.
Как это работает под капотом
Датапак считывает ввод игрока через новые Player Input predicates (предикаты ввода, которые появились только в 1.21.4), считает вектор движения и записывает его в Motion NBT сущности. Физика при этом остаётся ванильной - вы просто подменяете источник управления.
Отсюда и требование: Minecraft 1.21.4 и выше. На более старых версиях датапак не заработает, потому что нужных предикатов там просто нет. Не пытайтесь ставить его на 1.20 - получите ошибку загрузки.
Команды управления
Все команды вводятся в чат от имени оператора. Базовый набор такой:
| Что нужно | Команда |
|---|---|
| Заспавнить сущность и сразу взять её под контроль | /function tpc:summon {entity:"armor_stand"} |
| Наблюдать за сущностью с конкретным тегом | /function tpc:spectate {tag:"temp_tag"} |
| Наблюдать за случайной сущностью с тегом | /function tpc:spectate_random {sub_tag:"temp_tag"} |
| Выйти из режима наблюдения | /function tpc:remove |
Список управляемых существ задаётся вручную. Все сущности, перечисленные в функции tpc:gb/load, слушаются WASD, прыжка и приседания. Хотите добавить своего моба - правьте этот файл.
Модуль Camera Interpolate
Второй модуль отвечает за плавные повороты камеры. Вы задаёте координаты X и Y плюс скорость, а камера сама ищет кратчайший путь до нужного угла и доворачивается за указанное время.
- Плавный поворот:
/function camera:interpolate {"x":10,"y":30,"speed":200} - Поворот в случайную сторону:
/function camera:interpolate_random - Переключение между управлением сущностью и наблюдением за ней:
/function camera:toggle_control
Важный нюанс: значение speed работает наоборот. Чем оно больше, тем медленнее идёт интерполяция. Многие путаются на этом месте и получают рваный рывок камеры вместо мягкого проезда. Для кинематографичного пролёта ставьте 300-500, для быстрой смены ракурса - 50-80.
Ещё деталь: в режиме наблюдения камера каждые 10 секунд сама доворачивается в случайную сторону. Для атмосферных сцен с дроном это удобно, а вот для точных постановок мешает - отключайте через camera:toggle_control.
Совместимость и версии
Датапак ставится как обычный Data Pack, но при этом спокойно работает через загрузчики Fabric, Forge, NeoForge и Quilt - дополнительных API не требует. Версии Minecraft: 1.21.4 и новее, включая свежие релизы линейки. Работает и в одиночной игре, и на сервере, причём на сервере ставить его нужно только на стороне сервера - игрокам ничего качать не придётся.
Есть прямая совместимость с AnimatedJava: датапак отдаёт состояния сущности, и вы можете переключать анимации модели в зависимости от того, идёт персонаж, бежит, прыгает или сидит на месте. Для кастомных моделей это половина всей ценности проекта.
Что нового в свежих версиях
- 1.0.6 - оптимизация движения сущностей: макросы заменили на scoreboard-операции, из-за чего проседания TPS на сервере стали заметно меньше. Плюс базовая конфигурация для Mannequin.
- 1.0.4 - настройка gamemode камеры и state tags/scores для состояний Walking, Sprinting, Idle, Jumped, In-Air, Landed и Crouching.
Если вы уже сидели на старой сборке и жаловались на лаги при большом количестве управляемых мобов - обновление до 1.0.6 реально решает проблему.
Советы из практики
Летающие мобы. Сущности, которые умеют летать, набирают высоту, если зажать прыжок. Не ждите отдельной кнопки вверх - механика уже встроена.
Перед удалением датапака обязательно выйдите из режима наблюдения командой /function tpc:remove. Иначе камера останется привязанной к сущности, и вы получите зависший вид от чужого лица без возможности вернуться.
Не ставьте управление на десятки мобов одновременно. Даже с оптимизацией из 1.0.6 каждый контролируемый объект - это отдельный расчёт вектора и запись в NBT. На слабом железе хватает 5-10 штук, дальше начинаются рывки.
Тюнинг камеры удобнее делать в отдельном тестовом мире. Меняете скорость, смотрите результат, только потом переносите значения в основную карту - так вы не сломаете уже отснятые сцены.
Кому это зайдёт
Картоделам, которые делают сюжетные приключения и хотят показать игроку мир глазами другого персонажа. Строителям кинематик для роликов по Майнкрафт. Админам серверов с ивентами, где нужны управляемые боссы или транспорт. Если вы просто играете в выживание - проект вам не нужен, он ничего не добавит к обычному геймплею.
Скачать датапак Third Person Control стоит тем, кто упирался в ограничения ванильной камеры и искал рабочий способ управлять мобами без модов. Установка занимает минуту, а возможностей открывает куда больше, чем ожидаешь от пары десятков строк кода.
Как запустить датапак Third Person Control - Управление сущностями от третьего лица на сервере?
Датапак Third Person Control - Управление сущностями от третьего лица удобнее всего раскрывается на общем сервере: установили один раз - и вся компания играет с новыми механиками. Создать сервер Майнкрафт с датапаком Third Person Control - Управление сущностями от третьего лица можно за пару минут вместе с BungeeHost.
