VR Unity: нажатие и удержание контроллера - PullRequest
0 голосов
/ 08 февраля 2019

Я делаю игру в Unity HTC Vive.Я написал приведенный ниже код и ожидал, что всякий раз, когда я нажимаю и удерживаю кнопку «триггер», отладочные сообщения прекращаются, но они этого не делают!Любая помощь приветствуется.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Valve.VR;
public class move : MonoBehaviour
{
[SteamVR_DefaultAction("Squeeze")]
public static System.Random r = new System.Random(); 
public float speed = 2f;

public Transform s2;
private bool ifMoving;
public SteamVR_Action_Single squeezeAction;
public SteamVR_Action_Vector2 touchPadAction;

void Awake()
{
    s2 = GameObject.Find("Camera").GetComponent<Transform>();
}

void Start()
{
}

// Update is called once per frame
void FixedUpdate()
{
    if (SteamVR_Input._default.inActions.GrabPinch.GetStateDown(SteamVR_Input_Sources.LeftHand))
    {
        ifMoving = true;

    }
    else
    {
        ifMoving = false;
        Debug.Log("Hej " + r.Next(1000));

    }
    if (ifMoving)
    {
        Debug.Log("Hej " + r.Next(1000));
        transform.position += s2.forward * Time.deltaTime * speed;
    }
}
}

1 Ответ

0 голосов
/ 08 февраля 2019

GetStateDown() возвращает значение true только для кадра, в котором была нажата кнопка.

Вы хотите использовать GetState(), который возвращает true, пока кнопка нажата.

...