Help us understand the problem. What is going on with this article?

[Unity] Leapmotion Orionで手のモデルの位置を簡単に取得する

More than 3 years have passed since last update.

Leapmotionが神アップデートされ、トラッキング精度とできることが格段によくなりました。
ただそれに伴って、APIやら仕組みやらが一新され、以前の感覚で実装するとうまく動きません。

Leapmotion Orionで手のモデルの位置とか手のひらの法線とかってどうやって取るのかなーと探していたら、この質問を見つけました。

結論から言うと、 LeapServiceProvider を使うことで非常に手軽に手のモデルの位置などの情報を取得することができます。
もっと言うと、 CurrentFrame で取得できる Frame オブジェクトの Hand オブジェクトはUnity上で手のモデルが実際に表示されている位置をすでに保持しているので、 Hand クラスの各種値がそのまま使えます。
(ただ、Documentとかから見つけられなくて苦労しました( ;´Д`))

とても短いコードなので全文載せておきます。

サンプルコード

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

public class AnyHand : MonoBehaviour {

    [SerializeField]
    GameObject m_ProviderObject;

    LeapServiceProvider m_Provider;

    void Start () {
        m_Provider = m_ProviderObject.GetComponent<LeapServiceProvider>();
    }

    void Update() {
        Frame frame = m_Provider.CurrentFrame;

         // 右手を取得する
        Hand rightHand = null;
        foreach (Hand hand in frame.Hands) {
            if (hand.IsRight) {
                rightHand = hand;
                break;
            }
        }

        if (rightHand == null) {
            return;
        }

        // 手のひらの法線
        Vector3 normal = rightHand.PalmNormal.ToVector3();

        // 手の向き
        Vector3 direction = rightHand.Direction.ToVector3();

        // 情報がとれたので、あとは煮るなり焼くなりお好きに。
    }
 }
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away