steam VR 版本:SteamVR plugin for Unity - v1.2.3
VRTK版本:VRTK - Virtual Reality Toolkit - [ VR Toolkit ]3.3.0
检测三维物体
1、创建脚本,并获取VRTK_Pointer的引用
2、注册DestinationMarkerEnter方法
VRTK_Pointer vrtk_point;
void Start()
{
vrtk_point = this.gameObject.GetComponent<VRTK_Pointer>();
vrtk_point.DestinationMarkerEnter += enter;
}
private void enter(object sender, DestinationMarkerEventArgs e)
{
Debug.Log("当前碰触:"+e.target);
Debug.Log("当前碰触:" + e.raycastHit.collider.gameObject.name);
}
void DisEnble() {
vrtk_point.DestinationMarkerEnter -= enter;
}
检测UGUI组件物体
1、创建脚本,并获取VRTK_UIPointer引用
2、注册UIPointerElementEnter方法(我这里也注册了UI点击事件的方法UIPointerElementClick)
VRTK_UIPointer vrtk_uiPoint;
void Start()
{
vrtk_uiPoint= this.gameObject.GetComponent<VRTK_UIPointer>();
vrtk_uiPoint.UIPointerElementClick += Vrtk_uiPoint_UIPointerElementClick;
vrtk_uiPoint.UIPointerElementEnter += Vrtk_uiPoint_UIPointerElementEnter;
}
private void Vrtk_uiPoint_UIPointerElementEnter(object sender, UIPointerEventArgs e)
{
Debug.Log("碰触到UI" + e.currentTarget);
}
private void Vrtk_uiPoint_UIPointerElementClick(object sender, UIPointerEventArgs e)
{
Debug.Log("当前点击UI物体:"+e.raycastResult.gameObject);
}
void DisEnble() {
vrtk_uiPoint.UIPointerElementClick -= Vrtk_uiPoint_UIPointerElementClick;
vrtk_uiPoint.UIPointerElementEnter -= Vrtk_uiPoint_UIPointerElementEnter;
}