Визуализация кончика пальца — MRTK2

Основная визуализация кончика пальца

Возможность кончика пальца помогает пользователю распознать расстояние от целевого объекта. Визуальный элемент фигуры кольца корректирует свой размер в зависимости от расстояния от кончика пальца до объекта. Визуализация кончика пальца в основном управляется FingerCursor (Assets/MRTK/SDK/Features/UX/Prefabs/Cursors/FingerCursor.prefab) (и скриптом), который создается как заготовка курсора PokePointer. Другие компоненты визуализации включают скрипт ProximityLight и шейдер MixedRealityStandard .

Использование визуализации кончика пальца

По умолчанию визуализация кончика пальца будет работать в любой сцене Unity, настроенной для создания FingerCursor. Порождение FingerCursor происходит в DefaultMixedRealityToolkitConfigurationProfile в разделе:

DefaultMixedRealityInputSystemProfile > DefaultMixedRealityInputPointerProfile > PokePointer > FingerCursor

На высоком уровне визуализация кончика пальца работает с помощью ближнего света для проецировать цветной градиент на любых близлежащих поверхностях, которые принимают индикаторы близости. Затем курсор пальца ищет все близлежащие взаимодействуемые поверхности, которые определяются родительским IMixedRealityNearPointer(s)элементом , чтобы выровнять кольцо пальца с поверхностью при перемещении пальца к поверхности. По мере приближения пальца к поверхности кольцо также динамически анимируется с помощью свойств круглого угла шейдера MixedRealityStandard.

Пример сцены

Примеры визуализации кончиками пальцев можно найти практически в любой сцене, которая работает с шарнирными руками, но занимает видное место в сцене HandInteractionExample.

Состояния визуализации кончика пальца

Свойства инспектора

FingerCursor Многие свойства курсора пальца наследуются от базового класса курсора. К важным свойствам относятся поля и ширины дальней и ближней поверхности, которые управляют анимацией кольца пальца в шейдере MixedRealityStandard. Для других свойств наведите указатель мыши на подсказки средства инспектора.

Инспектор курсоров

ProximityLight Параметры освещения близкого взаимодействия управляют тем, как свет будет выглядеть на близком расстоянии от поверхности. Центральные, средние и внешние цвета управляют градиентным видом света и могут быть адаптированы к цветовой палитре вашего приложения. Обратите внимание, что цвета HDR (высокий динамический диапазон), чтобы пользователи могли осветить свет близости до значений выше единицы. Для других свойств наведите указатель мыши на подсказки средства инспектора.

Шейдер MixedRealityStandard Шейдер MixedRealityStandard используется для многих эффектов в MRTK. Для визуализации кончика пальца важны два параметра: "Близкое увядание" и "Близкое освещение". Near Fade позволяет объектам исчезать в / из, как камера или свет рядом с ними. Убедитесь, что проверка "Свет", чтобы огни близкого взаимодействия могли управлять затуханием (а не камерой). Вы можете обратить значения "Fade Begin" и "Fade Complete", чтобы обратить вспять затухание. Установите флажок "Бесконтактный свет" для любой поверхности, на которые вы хотите, чтобы освещение близкого взаимодействия осветилось. Для других свойств наведите указатель мыши на подсказки средства инспектора.

Инспектор шейдеров