Есть ли способ сделать прокручиваемое взаимодействие для HoloLens 2? - PullRequest
1 голос
/ 28 февраля 2020

Я пытаюсь создать приложение HoloLens 2 с Unity. Следующее, что я хочу реализовать, это прокручиваемый список. Я хотел бы прокрутить, как мы все знаем, например, когда текст слишком большой для поля в html или что-то в этом роде.

Я знаю, как перемещать объекты, но я хочу, чтобы они прятались, если они слишком много вне позиции, поэтому я могу получить прокручиваемый список.

Есть ли способ? Я не нашел учебных пособий для этого.

1 Ответ

0 голосов
/ 28 февраля 2020

Однажды я реализовал «виртуальную ОС» Виртуальной реальности, которая включает прокручиваемые списки с трехмерными объектами, , как вы можете видеть здесь . Если это ваша цель в том, что касается отображения, то для достижения этого используйте SetActive(false) на объектах gameObjects, когда они очень плохо видны при прокрутке, и в тот момент, когда они покидают область прокрутки - там, где они должны быть. только частично обрезано - вы можете обрезать их через куб невидимой маски.

Это шейдер для этого объекта обрезки (не мой):

Shader "Masked/Mask" {
     SubShader {
        // Render the mask after regular geometry, but before masked geometry and
        // transparent things.

        Tags {"Queue" = "Geometry+10" }

        // Don't draw in the RGBA channels; just the depth buffer

        ColorMask 0
        ZWrite On

        // Do nothing specific in the pass:

        Pass {}
    }
}

Само событие прокрутки вызывается через коллайдер в кончике пальца, реагирующий на коллайдер на экране. OnTrigger, вы бы измерили скорость и перевели ее для функции прокрутки. В моем случае я использую структуру классов ОС -> Приложение -> Страница (включая вкладки) -> Виджет. Это позволяет создать подкласс SomeSpecificWidget (например, ImageButton или TextArea) и автоматически заставить его прокручиваться соответствующим образом, не заботясь о специфике скроллера.

...