一定要做到最后一步,才会有效果
1、创建空物体 ,并添加组件
创建空物体 命名ScrollingObjectCollection,
添加组件如下图
下面是各个组件展开的内容
2、在ScrollingObjectCollection 下面创建两个空物体,分别命名Container、Clipping Bounds
Clipping Bounds添加组件
3、在Container空物体下面创建空物体,命名GridObjectCollection,然后在下面创建滑动框内要显示的内容,以我的为例,显示文字 以及按钮
GridObjectCollection需要挂载脚本
显示内容的结构,按钮是hololens自带的按钮,,然后多复制几个Prerfab
4、布局滑动框里的内容
找到GridObjectCollection物体,点击CridObjectCollection脚本中的UpdateCollection
CellWidth和CellHeight 单元格的宽高,可以使用默认的就行
5、设置滑动框的大小,以及每页显示的内容数量
先把元素摆放到合适的位置,以及调整合适的大小
然后调整Collider
6、设置遮罩效果
找到Clipping Bounds物体,把所有元素里包含MeshRenderer的物体都拖入到这里
由于太多,我使用了代码自动添加,在ClippingBox脚本的最后添加上这些代码,就可以了
csharp
void OnValidate()
{
ConfigureRenderers();
}
void ConfigureRenderers()
{
List<Renderer> renderer = new List<Renderer>();
GetRenderers(transform.parent, renderer);
renderers = renderer;
}
void GetRenderers(Transform parent, List<Renderer> renderers)
{
foreach (Transform child in parent)
{
Renderer renderer = child.GetComponent<Renderer>();
if (renderer != null)
{
renderers.Add(renderer);
}
GetRenderers(child, renderers);
}
}
这个时候才算是真正的做完,
创建蓝色背景板
创建空物体Backplate,下面再创建一个空物体Quad,并添加组件