Unity開發Leapmotion


新建一個場景,刪掉里面的Main Camera

從Prefabs里拖入LMHeadMountedRig

然后給LeapHandController上添加四個手,如圖所示:



手從Prefabs文件夾中選擇。
   

 



點擊運行,就可以發現手已經出現了

選中CenterEyeAnchor,將override eye position勾掉

如果不勾掉的話就會出現重影的效果


然后運行之后就可以了



 如果要使用api接口,要引入Leap.Unity命名空間。官方文檔上講,在unity使用的時候,要通過 LeapProvider來訪問,使用LeapController的話要進行手動轉換空間坐標
   
   
   
           
  1. using UnityEngine;
  2. using System.Collections;
  3. using Leap.Unity;
  4. using Leap;
  5. public class Test : MonoBehaviour {
  6. LeapProvider provider;
  7. // Use this for initialization
  8. void Start () {
  9. provider = FindObjectOfType<LeapProvider>() as LeapProvider;
  10. }
  11. // Update is called once per frame
  12. void Update () {
  13. Frame frame = provider.CurrentFrame;
  14. foreach (Hand hand in frame.Hands)
  15. {
  16. if (hand.IsLeft)
  17. {
  18. transform.position = hand.PalmPosition.ToVector3() +
  19. hand.PalmNormal.ToVector3() *
  20. (transform.localScale.y * .5f + .02f);
  21. transform.rotation = hand.Basis.Rotation();
  22. }
  23. }
  24. }
  25. }

要使用hand和Finger的話,必須是來自於Frame,所以首先通過provider初始化當前這一幀。然后把這個腳本綁定到一個GameObject上,啟動播放,可以發現GameObject隨着左手的移動而移動。

吐槽一下Leapmotion,官網上連個教程都沒有,文檔太少了。只有這么個簡單的示例,哎!





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM