123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using Valve.VR;
- public class ViveInput : MonoBehaviour
- {
- public PlayerReplay playerReplay;
- public BodySourceView bsv;
- private SteamVR_Action_Boolean grabPinch;
- private SteamVR_Action_Boolean grabGrib;
- private SteamVR_Action_Boolean teleport;
- //private SteamVR_Action_Vector2 trackpad;
- private bool isRecording;
- private float recordingTime;
- private static bool isPlaying;
- public float csvTime;
- private void Start()
- {
- grabPinch = SteamVR_Actions.default_GrabPinch;
- grabGrib = SteamVR_Actions.default_GrabGrip;
- teleport = SteamVR_Actions.default_Teleport;
- }
- void Update()
- {
- if (grabPinch.GetStateDown(SteamVR_Input_Sources.Any))
- {
-
- }
- if (teleport.GetStateDown(SteamVR_Input_Sources.Any))
- {
- if (!isRecording)
- {
- Debug.Log("Recording...");
- isRecording = true;
- } else
- {
- Debug.Log("Saving...");
- isRecording = false;
- recordingTime = 0;
- playerReplay.Save();
- playerReplay.ResetRecording();
- }
- }
- if (grabGrib.GetStateDown(SteamVR_Input_Sources.Any) && !isPlaying)
- {
- Debug.Log("Loading...");
- isPlaying = true;
- playerReplay.Load();
- }
- if (isRecording)
- {
- playerReplay.AddJoints(recordingTime);
- recordingTime += Time.deltaTime;
- }
- if (isPlaying)
- {
- csvTime += Time.deltaTime;
- }
- }
- public static IEnumerator WaitForControllerPress()
- {
- while (true)
- {
- if (SteamVR_Actions.default_GrabPinch.GetStateDown(SteamVR_Input_Sources.Any) || Input.GetKeyDown(KeyCode.Space))
- {
- break;
- }
- yield return null;
- }
- }
- public static void StopPlaying()
- {
- isPlaying = false;
- }
- }
|