2016-12-07 6 views
-2

Как перенести положение предваряющего прыжка на 1, когда две руки обнаружены в единстве. До сих пор я сделал следующее:Как перемещать позицию подвижного запястья на 1 дюйм при обнаружении 2-х рук?

using UnityEngine; 
using System.Collections.Generic; 
using Leap; 
using Leap.Unity; 

public class Swimming : MonoBehaviour { 
    LeapProvider provider; 

    //this is for the camera 
    [SerializeField] 
    Transform thisCamera; 

    void Start() 
    { 
     provider = FindObjectOfType<LeapProvider>() as LeapProvider; 
    } 

    void Update() 
    { 
     Frame frame = provider.CurrentFrame; 
     foreach (Hand hand in frame.Hands) 
     { 

      if (frame.Hands.Count > 1) { 
       thisCamera.transform.Translate (Vector3.forward); 
      } 
     } 
    } 
} 

Проблемы с этим кодом является то, что чем длиннее руки находятся в движении високосного он непрерывно двигаться. Я хочу, чтобы он скорее плавал.

+0

Что значит «больше как плавание»? Мысль о том, что может предложить решение. –

+0

@CharlesWard я имею в виду, что если мои две руки обнаружены, камера движется вперед. который уже был достигнут, теперь моя проблема здесь, сэр, если я повернулся лицом или оставил камеру неуместной. – Ginxx0009

ответ

0

УРЕГУЛИРОВАНО. Извините за позднюю публикацию.

transform.localPosition -= transform.forward * speed * Time.deltaTime; 

это то, что я сделал.

0

Потому что Vector3.forward определен в мировых координатах, это всегда одно и то же направление независимо от того, где указана камера. Чтобы двигаться в направлении, указывающем на камеру, используйте thisCamera.transform.forward.