Как я могу изменить ручные лучи в своем проекте MRTK v2 для HoloLens 2 на параболические, а не линейные?
Мой проект HoloLens 2 имеет контент, который устроен так, что я не могу нацелить коллайдеры с помощью существующих ручных лучей. Раньше я нацеливался на контент с помощью взгляда в голову, но, когда на теле ниже ручные лучи, труднее получить контент, который я хочу выбрать. Я полагаю, что мне пригодится параболический отборный луч, подобный тем, которые используются при телепортации в Смешанной реальности для достижения поверхностей над участником.
Основной метод взаимодействия с моим контентом будет через параболический луч. В моем приложении есть случаи, когда я мог бы изменить модальность, чтобы сосредоточиться на системе меню с близкого или дальнего расстояния, а когда я далеко, я бы хотел перейти на линейный луч. Таким образом, желательно иметь возможность изменять тип луча, экспонируемого с помощью кода.
Мой проект использует MRTK v2, и стандартные линейные лучи работают.
Я хотел бы иметь возможность изменять тип луча, используемого в инспекторе Unity, и иметь возможность изменять стиль с помощью кода во время выполнения. Я хотел бы контролировать дугу луча, поскольку масштаб моего контента может повлиять на необходимость другой дуги и минимального / максимального расстояния.
1 ответ
Вы можете изменить DefaultControllerPointer
заранее использовать провайдер данных физической параболической линии вместо провайдера данных линии Безье. Это приведет к искажению линии, используемой указателем, для большей параболичности.
До:
После:
Обратите внимание, что я удалил розовые компоненты и добавил зеленые компоненты.
Вы также захотите увеличить разрешение наведения линии указателя с 2 до чего-то большего, это означает, что луч, используемый для запроса ударил, будет иметь более высокое разрешение:
И вы можете увеличить разрешение самого MR Line Renderer.
Демо параболического указателя руки: