VRTK_InteractableObject
手柄上委托模板:
public delegate void InteractableObjectEventHandler(object sender, InteractableObjectEventArgs e);
交互事件添加模板:
void Start () {
GetComponent<VRTK_InteractableObject>().InteractableObjectGrabbed += new InteractableObjectEventHandler(DoGrabbed);
}
public void DoGrabbed(object sender, InteractableObjectEventArgs e)
{
Debug.Log("dograbbed");
}
交互物体事件:
触摸状态:public event InteractableObjectEventHandler InteractableObjectTouched
离开触摸状态:public event InteractableObjectEventHandler InteractableObjectUntouched;
抓取: public event InteractableObjectEventHandler InteractableObjectGrabbed;
结束抓取:public event InteractableObjectEventHandler InteractableObjectUngrabbed;
使用:public event InteractableObjectEventHandler InteractableObjectUsed;
停止抓取:public event InteractableObjectEventHandler InteractableObjectUnused;
进入固定区域前: public event InteractableObjectEventHandler InteractableObjectEnteredSnapDropZone;
离开固定区域后:public event InteractableObjectEventHandler InteractableObjectExitedSnapDropZone;
进入区域时:public event InteractableObjectEventHandler InteractableObjectSnappedToDropZone;
离开区域时:public event InteractableObjectEventHandler InteractableObjectUnsnappedFromDropZone;
需要重写的方法
public virtual void Grabbed(VRTK_InteractGrab currentGrabbingObject = null) public virtual void Ungrabbed(VRTK_InteractGrab previousGrabbingObject = null)
public virtual void StartUsing(VRTK_InteractUse currentUsingObject = null)
public virtual void StopUsing(VRTK_InteractUse previousUsingObject = null)
其他的像一些方法:GetGrabbingObject和GetUsingObject等方法需要时自行调用即可,先写到这里吧