В этом коде я пытаюсь использовать функцию bool (как указано на официальном сайте) Hand.IsLeft для управления только левой рукой вместо обеих рук. Я хочу, чтобы только левая рука контролировала движение камеры (вперед и назад). Однако, когда я использую строку в моих кодах, она говорит, что «рука» не существует в контексте, что имеет смысл, потому что имя, которое я использовал, не «рука», но каким должен быть идентификатор?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Leap;
using Leap.Unity;
public class CameraMove : MonoBehaviour {
Controller controller;
float HandPalmPitch;
float HandPalmYaw;
float HandPalmRoll;
float HandWristRot;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
controller = new Controller();
Frame frame = controller.Frame();
// List<Hand> hands = frame.Hands;
if (frame.Hands.Count > 0)
{
List<Hand> hands = frame.Hands;
Hand firstHand = frame.Hands[0];
}
HandPalmPitch = frame.Hands[0].PalmNormal.Pitch;
HandPalmRoll = frame.Hands[0].PalmNormal.Roll;
HandPalmYaw = frame.Hands[0].PalmNormal.Yaw;
HandWristRot = frame.Hands[0].WristPosition.Pitch;
if (hand.IsLeft())
{
}
if (HandPalmYaw > -2f && HandPalmYaw < 3.5f)
{
transform.Translate (new Vector3(0, 0, 1 * Time.deltaTime));
} else if (HandPalmYaw < -2.2f)
{
transform.Translate (new Vector3(0, 0, -1 * Time.deltaTime));
}
}
}
Будет удивительно, если будет предложено какое-либо конструктивное решение или методы, так как я почти схожу с ума, пытаясь понять, что я сделал неправильно. Большое вам спасибо!