Unity, Vr, Vive - Controller Um ein Video Wiedergabe / Pause?

stimmen
1

Ich bin neu und versucht derzeit, meine Vive Controller zu bekommen, um Pause / Play-Einheit. Bisher kann ich meine „Hände“ sehen und es macht meine Trigger erkennen, die alle ist es muss.

Wer weiß, wie man es machen Pause, wenn ich den Auslöser drücken und dann starten, wenn ich es erneut drücken?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Valve.VR;

public class Viveinput : MonoBehaviour
{
[SteamVR_DefaultAction(Squeeze)]
public SteamVR_Action_Single squeezeAction;
public bool paused;

void Update () {
    if (SteamVR_Input._default.inActions.GrabPinch.GetLastStateUp(SteamVR_Input_Sources.Any))
    {
        print( Grab Pinch Up);
    }
    float triggerValue = squeezeAction.GetAxis(SteamVR_Input_Sources.Any);

    if (triggerValue > 00f)
    {
        print(triggerValue);
    }

}
}

Das ist, was ich bin mit atm für die Verbindung zwischen Controller und Unity.

Veröffentlicht am 18/12/2018 um 11:04
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Ich gehe davon aus, dass Ihr Video auf einem spielt VideoPlayerMonoBehaviour:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Valve.VR;

public class Viveinput : MonoBehaviour
{
public VideoPlayer video;

[SteamVR_DefaultAction("Squeeze")]
public SteamVR_Action_Single squeezeAction;
private bool _triggered = false;

void Update () {
    if (SteamVR_Input._default.inActions.GrabPinch.GetLastStateUp(SteamVR_Input_Sources.Any))
    {
        print(" Grab Pinch Up");
    }
    float triggerValue = squeezeAction.GetAxis(SteamVR_Input_Sources.Any);

    if (triggerValue > 0f && !_triggered)
    {
        _triggered = true; // This will prevent the following code to be executed each frames when pressing the trigger.
        if(!video.isPlaying) { // You dont need a paused boolean as the videoplayer has a property for that.
            video.Play();
        } else {
            video.Pause();
        }
    } else {
         _triggered = false;
    }    
}
}

Sie müssen den Videoplayer im Editor ziehen und sie sollte es sein.

Beantwortet am 18/12/2018 um 11:26
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more