交互方式
使用指针交互:类似于激光笔,通过指针(Pointer)对于UI进行选择,适合远距离交互。
使用手柄交互:直接通过手柄触控交互,适合于近距离交互;
使用手柄与头部配合交互:头部发射指针(通常是光标)对UI进行选择,手柄负责确认选中。
具体实现方式
指针交互
Hierarchy面板的VRTK_SDK配置
控制器Controller的Inspector面板组件设置
需要交互的Canvas的Inspector面板组件设置
手柄交互
需要交互的Canvas的Inspector面板组件设置,需要设置响应距离
控制器Controller的Inspector面板组件需要添加VRTK_InteractTouch组件
手柄与头部配合交互
- Hierarchy面板的VRTK_SDK配置需要添加空物体并添加相关组件进行设置
使用三种UI交互方式进行Cube颜色改变
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ChangeColor : MonoBehaviour {
private float redColor;
private float greenColor;
private float blueColor;
public void setRedColor(float value)
{
redColor = value;
setBoxColor();
}
public void setGreenColor(float value)
{
greenColor = value;
setBoxColor();
}
public void setBlueColor(float value)
{
blueColor = value;
setBoxColor();
}
public void setBoxColor()
{
GetComponent<Renderer>().material.color = new Color(redColor,greenColor,blueColor);
}
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
}
}