MRTK 滚动对象集合是一个 UX 组件,使用它可以通过包含的可视区域滚动 3D 内容。 可以通过近距或远距输入交互以及离散分页来触发滚动运动。 它支持交互式和非交互式对象。
创建新的 Unity 场景。
导航到“混合现实工具包”>“添加到场景并进行配置”,将 MRTK 添加到场景中。
在场景中创建一个空的游戏对象,并将其位置更改为 (0, 0, 1)。
向游戏对象添加一个
滚动对象集合
组件。
添加滚动对象集合后,会自动将一个盒碰撞体和一个
近距交互可触摸
组件附加到根游戏对象。 滚动对象可以通过这些组件来侦听近距和远距交互输入事件,例如指针触摸或单击。
MRTK 滚动对象集合有两个重要元素,这些元素是在根滚动对象层次结构下作为子游戏对象创建的:
Container
- 所有滚动内容对象必须是容器游戏对象的子级。
Clipping bounds
- 如果启用滚动内容屏蔽,则剪裁边界元素可确保只有其边界内的可滚动内容可见。 剪裁边界游戏对象有两个组件:已禁用的盒碰撞体和
剪裁框
。
MRTK 滚动对象集合公开了几个用于移动滚动容器的公共方法,移动方式是根据
pagination
属性配置来贴靠容器的位置。
MRTK/Examples/Demos/ScrollingObjectCollection/Scripts
文件夹下提供了有关如何访问滚动对象集合分页接口的示例。 可将
可滚动分页
示例脚本链接到场景中的任何现有滚动对象集合。 然后,该脚本可由公开 Unity 事件的场景组件(例如
MRTK 按钮
)引用。
public class ScrollablePagination : MonoBehaviour
[SerializeField]
private ScrollingObjectCollection scrollView;
public void ScrollByTier(int amount)
scrollView.MoveByTiers(amount);
ScrollingObjectCollection.unity 示例场景由 3 个可滚动示例组成,每个示例具有不同的速度衰减配置。 该示例场景包含墙壁,用于显示在层次结构中默认禁用的表面放置行为。 可在 MRTK/Examples/Demos/ScrollingObjectCollection/Scenes
文件夹下找到示例场景。
为方便起见,可以使用两个滚动对象集合预制件。 可在 MRTK/Examples/Demos/ScrollingObjectCollection/Prefabs
文件夹下找到示例预制件。
标准着色器