首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >AR开发-(三)Leap Motion的上手使用

AR开发-(三)Leap Motion的上手使用

作者头像
孙寅
发布2020-06-02 16:38:06
发布2020-06-02 16:38:06
7280
举报
文章被收录于专栏:宜达数字宜达数字

终于到了要应用的时候了,我们可以摆放一些3D物体让我们的物体丰富起来,这也是做项目的初衷。

修改触碰到方块的颜色

具体做法也比较简单,可以控制是那一个指头碰到的。达到这种程度也就没有什么可以说的了。足够用了!

Leap Motion 的具体用法
  • LeapMotion 用法一: 如何抓取一个物体?

public class MyFinger : MonoBehaviour {

代码语言:javascript
复制
LeapProvider pro;
public LeapTransform t;
void Start () {
    pro = FindObjectOfType<LeapProvider> () as LeapProvider;

}

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

    foreach (Hand hand in frame.Hands) {
        if (hand.IsLeft) {
            if ( Vector3.Distance (this.transform.position, hand.PalmPosition.ToVector3 ()) < 1f) {
                transform.position = hand.PalmPosition.ToVector3 () + hand.PalmNormal.ToVector3 () * (transform.localScale.y * .5f + .02f);
                transform.rotation = hand.Basis.CalculateRotation ();
            }
        }
    }
}

} ```

  • LeapMotion 用法二: hand.grabAngle()返回的是除却大拇指四根手指的平均弯曲程度,所以紧握拳头的时候数值为3.14
代码语言:javascript
复制
public class MyPinch : MonoBehaviour {

    public float minDistance;
    public float maxdistance;
    public float pinchStart;
    public float pinchToEnd;
    public HandModel m_hand;
    public GameObject m_cube;
    private bool m_isPinching = false;

    void Start () {
        m_hand = GetComponent<HandModel> ();
    }

    void Update () {
        Vector3 indexPosition = m_hand.fingers [1].GetBoneCenter (3);
        Vector3 thumbPosition = m_hand.fingers [0].GetBoneCenter (3);
        float distance = (indexPosition - thumbPosition).magnitude;
        float nomalizedDistance = (distance - minDistance) / (maxdistance - minDistance);
        float pinch = 1.0f - Mathf.Clamp01 (nomalizedDistance);
        Debug.Log ("Current pinch strength" + pinch);
        Debug.Log ("pinch" + m_hand.GetLeapHand ().PinchStrength);

        if (pinch > pinchStart) {
            m_isPinching = true;
        } else if (pinch< pinchToEnd){
                m_isPinching = false;
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Leap Motion 的具体用法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档