有没有办法让HoloLens 2进行滚动交互?

时间:2020-02-28 09:17:12

标签: unity3d scroll hololens

我正在尝试使用Unity制作HoloLens 2应用程序。我要实现的下一件事是可滚动列表。我想像大家都知道的那样滚动文本太大,无法容纳html之类的框。

我知道如何移动对象,但是如果它们太偏离位置,我希望它们隐藏起来,因此我可以获得一个可滚动的列表。

有什么办法吗?我没有任何教程可以做到这一点。

1 个答案:

答案 0 :(得分:0)

我曾经实现过一个虚拟现实“虚拟操作系统”,其中包括带有3D对象as you can see here的可滚动列表。如果这是显示的目标,那么要达到此目的,请在游戏对象非常不在滚动视图中时在它们上使用SetActive(false),并在确切的时刻将它们离开滚动区域-需要它们只是被部分裁剪-您可以通过不可见的遮罩立方体对其进行裁剪。

这是该裁剪对象(不是我的)的着色器:

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,您将测量速度并将其转换为滚动功能。就我而言,我使用的是OS-> App->页面(包括标签)->小部件的类结构。这样,您就可以将SomeSpecificWidget子类化(例如ImageButton或TextArea),并自动使其正确滚动,而无需担心滚动条的细节。