本节在上一节基础上进行,上一小结参考如下:
Unity中创建Ultraleap 3Di交互项目
本节工程文件如下:
Unity中使用Ultraleap的InteractionButton组件
本节结构有所更改,主要是参考官方示例结构进行重新调整,和上一小节相差不大,调整后的结构如下:
为实现在Unity中使用Ultraleap的InteractionButton组件,本节主要添加内容如下:
1、创建空物体Button,并在Button上添加【Interaction Button】组件
2、在Button物体下创建子物体Cube,来当做按钮,并指定材质球和挂载Collider组件
注意:组件【Interaction Manager】要求其自身物体或者是子物体必须要挂载Collider组件才可以。没有Collider组件是不能交互的。
3、在Project中搜索【simpleInteractionGlow】,并拖拽到物体Button中,然后在将其拖拽到On Press()和On Unpress()下。
4、双击【simpleInteractionGlow】编辑C#文件,添加接口public void Press()
和public void Unpress()
,具体位置在void Start()
上方添加即可。
public void Press()
{
// 功能一:输出信息,可在控制台【Console】查看
Debug.Log("按下");
// 功能二:打开百度网页
// Application.OpenURL("https://www.baidu.com");
// 功能三:使用Process.Start()函数打开指定程序或指定文件夹
// 【注意】使用此功能,需要引入System.Diagnostics命名空间
// 在开头加入【using System.Diagnostics;】
// Process.Start(filePath);
}
public void Unpress()
{
Debug.Log("抬起");
}
void Start()
{
_intObj = GetComponent<InteractionBehaviour>();
if (rends.Length > 0)
{
_materials = new Material[rends.Length];
for (int i = 0; i < rends.Length; i++)
{
_materials[i] = rends[i].renderer.materials[rends[i].materialID];
}
}
}
5、添加完成后,修改以下选项即可。
6、点击【Play】运行,结果如下: