2016-12-07 3 views
-2

Comment puis-je déplacer ma position de mouvement de saut préfabriqué de 1 lorsque les deux mains sont détectées dans l'unité. Jusqu'à présent, je l'ai fait ce qui suit:Comment déplacer la position des mouvements béliers préfabriqués de 1 pouce quand 2 mains sont détectées?

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); 
      } 
     } 
    } 
} 

Le problème avec ce code est que plus les mains dans le mouvement bissextile bouger de façon continue. Je veux nager plus probable.

+0

Que voulez-vous dire par "plus comme la natation"? Penser à cela pourrait suggérer la solution. –

+0

@CharlesWard Ce que je veux dire, c'est que si mes deux mains sont détectées, l'appareil photo avancera. ce qui est déjà fait maintenant mon problème ici monsieur est si je fais face à droite ou à gauche la caméra se déplace inappropriée. – Ginxx0009

Répondre

0

RÉSOLU DÉJÀ. Navré pour le post tardif.

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

c'est ce que j'ai fait.

0

Parce que Vector3.forward est défini dans les coordonnées du monde, il est toujours la même direction, peu importe où la caméra est pointée. Pour vous déplacer dans la direction indiquée par la caméra, utilisez thisCamera.transform.forward.