您的位置:首页 > 其它

htcvive 手柄抓取物体一个物体

2016-06-28 15:20 375 查看
htc vive 手柄抓取物体一个物体。把这个带挂在Controller上面就可以了。

</pre><pre name="code" class="csharp">using UnityEngine;
using System.Collections;

public class WandController : MonoBehaviour {

private Valve.VR.EVRButtonId gripButtion = Valve.VR.EVRButtonId.k_EButton_Grip;
private Valve.VR.EVRButtonId triggerButtion = Valve.VR.EVRButtonId.k_EButton_SteamVR_Trigger;
public GameObject pickUp;
private SteamVR_Controller.Device controller { get { return SteamVR_Controller.Input((int)trackedObject.index); } }

private SteamVR_TrackedObject trackedObject;

void Start()
{
trackedObject = GetComponent<SteamVR_TrackedObject>();
}
void Update()
{
if (controller == null)
{
Debug.Log("controller 不存在");
}

if (controller.GetPressDown(triggerButtion) && pickUp !=null)
{
Debug.Log("pressDown Trigger");
pickUp.transform.parent = this.transform;
pickUp.GetComponent<Rigidbody>().isKinematic = true;
}

if (controller.GetPressUp(triggerButtion) && pickUp != null)
{
Debug.Log("Press Up Trigger");
pickUp.transform.parent = null;
pickUp.GetComponent<Rigidbody>().isKinematic = false;
}
}

private void OnTriggerEnter(Collider other)
{
Debug.Log("OnTriggerEnter");
pickUp=other.gameObject;
}

private void OnTriggerExit(Collider other)
{
Debug.Log("OnTriggerExit");
pickUp = null;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  htc 手柄