Unity中使用Ultraleap的InteractionButton组件

本节在上一节基础上进行,上一小结参考如下:
Unity中创建Ultraleap 3Di交互项目
本节工程文件如下:

Unity中使用Ultraleap的InteractionButton组件
本节结构有所更改,主要是参考官方示例结构进行重新调整,和上一小节相差不大,调整后的结构如下:
Unity中使用Ultraleap的InteractionButton组件_第1张图片
Unity中使用Ultraleap的InteractionButton组件_第2张图片

为实现在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】运行,结果如下:

你可能感兴趣的:(VR,unity,ultraleap,3Di,leap,motion)