從Prefabs里拖入LMHeadMountedRig
然后給LeapHandController上添加四個手,如圖所示:
手從Prefabs文件夾中選擇。
點擊運行,就可以發現手已經出現了
選中CenterEyeAnchor,將override eye position勾掉
如果不勾掉的話就會出現重影的效果
然后運行之后就可以了
如果要使用api接口,要引入Leap.Unity命名空間。官方文檔上講,在unity使用的時候,要通過
LeapProvider來訪問,使用LeapController的話要進行手動轉換空間坐標
using UnityEngine;
using System.Collections;
using Leap.Unity;
using Leap;
public class Test : MonoBehaviour {
LeapProvider provider;
// Use this for initialization
void Start () {
provider = FindObjectOfType<LeapProvider>() as LeapProvider;
}
// Update is called once per frame
void Update () {
Frame frame = provider.CurrentFrame;
foreach (Hand hand in frame.Hands)
{
if (hand.IsLeft)
{
transform.position = hand.PalmPosition.ToVector3() +
hand.PalmNormal.ToVector3() *
(transform.localScale.y * .5f + .02f);
transform.rotation = hand.Basis.Rotation();
}
}
}
}
要使用hand和Finger的話,必須是來自於Frame,所以首先通過provider初始化當前這一幀。然后把這個腳本綁定到一個GameObject上,啟動播放,可以發現GameObject隨着左手的移動而移動。
吐槽一下Leapmotion,官網上連個教程都沒有,文檔太少了。只有這么個簡單的示例,哎!
