Repository navigation
Model Interactions 0.6.0
Новое
Реакции модели на касания
Модель узнаёт, что с ней делают и какого элемента касаются, и может на это ответить:
улыбнуться, смутиться, нахмуриться. Мод не угадывает, где уши и где хвост: он передаёт
действие и номер элемента, а реакцию задаёт автор модели.
- Действия:
grab(держат и тянут),pet(гладят),touch(касание рукой в VR),
hit(удар на ПК или шлепок в VR),hug(объятие). - ПК и VR работают одинаково. Касание начинается, длится с меняющейся силой (0…1) и заканчивается.
На ПК это удержание кнопки, в VR — рука, которая водит по модели. - CPM. Анимация с нужным именем включается на время касания. Имена перебираются от точного к общему:
mi_pet_part17→mi_pet_head→mi_pet→mi_interact_part17→mi_interact_head→mi_interact.
Проще всего сделать одну анимациюmi_interact, и модель будет реагировать на любое касание. - Сила касания передаётся в слои значения
mi_<действие>_valueиmi_interact_value(0–255). - Реакции синхронизирует сам CPM, поэтому их видят все игроки с CPM, даже без этого мода.
- Figura (необязательно). В скриптах аватара есть событие
modelinteractions.touchс фазой, действием,
элементом, частью тела, силой и тем, кто трогает. Вызывается на каждом клиенте, пинги не нужны. /mi debug touchesпоказывает при каждом касании имена анимаций, которые можно создать,
и какая из них сработала.- Срабатывают только касания, которые владелец модели разрешил.
- Переключатель в настройках: Реакции → Реакции на касания.
- Гайд:
docs/REACTIONS.md.
Манекена можно вести за руку
/mi dummy followдля манекена под прицелом (или/mi dummy motion followдля всех).- Возьмите его за руку и тяните: он идёт следом, переставляя ноги (работают и анимации ходьбы CPM),
забирается на блоки и спускается, а голову слегка поворачивает к тому, кто ведёт. - Отпустили руку — останавливается.
Изменения
- При поглаживании теперь передаётся, какую часть гладят. Старые версии мода это поле игнорируют.
Совместимость
- Протокол совместим с 0.5.x: от старых клиентов поглаживание приходит как касание всей модели.
- Figura не обязательна. Если её версия не поддерживается, в логе появится предупреждение, события
перестанут приходить, а всё остальное продолжит работать.
Full Changelog: 0.5.0...0.6.0