——看一下当时的笔记表示:我也是做过VR游戏的
using UnityEngine;
using System.Collections;
[RequireComponent (typeof(SteamVR_TrackedObject))]
public class DragObjects : MonoBehaviour {
//追踪设备
SteamVR_TrackedObject trackobject;
//监听输入事件
SteamVR_Controller.Device device;
// Use this for initialization
void Awake () {
trackobject = GetComponent<SteamVR_TrackedObject>();
}
void FixedUpdate(){
device = SteamVR_Controller.Input ((int)trackobject.index);
}
// Update is called once per fram
void OnTriggerStay(Collider collider)
{
if (device.GetTouch(SteamVR_Controller.ButtonMask.Trigger))
{
Debug.Log ("Trigger Down");
//collider.attachedRigidbody.isKinematic = true;
collider.attachedRigidbody.useGravity = false;
collider.gameObject.transform.SetParent(gameObject.transform);
}
if (device.GetTouchUp(SteamVR_Controller.ButtonMask.Trigger))
{
Debug.Log ("Trigger Up");
//collider.attachedRigidbody.isKinematic = false;
collider.attachedRigidbody.useGravity = true;
collider.gameObject.transform.SetParent(null);
tossObject(collider.attachedRigidbody);
//tossObject(collider.attachedRigidbody);
}
}
void tossObject(Rigidbody rigidbody)
{
rigidbody.velocity = device.velocity;
rigidbody.angularVelocity = device.angularVelocity;
}
}