Unity开发Leapmotion
2016-04-18 15:14
573 查看
新建一个场景,删掉里面的Main Camera
从Prefabs里拖入LMHeadMountedRig
然后给LeapHandController上添加四个手,如图所示:
手从Prefabs文件夹中选择。
点击运行,就可以发现手已经出现了
选中CenterEyeAnchor,将override eye position勾掉
如果不勾掉的话就会出现重影的效果
然后运行之后就可以了
如果要使用api接口,要引入Leap.Unity命名空间。官方文档上讲,在unity使用的时候,要通过LeapProvider来访问,使用LeapController的话要进行手动转换空间坐标
[/code]
要使用hand和Finger的话,必须是来自于Frame,所以首先通过provider初始化当前这一帧。然后把这个脚本绑定到一个GameObject上,启动播放,可以发现GameObject随着左手的移动而移动。
吐槽一下Leapmotion,官网上连个教程都没有,文档太少了。只有这么个简单的示例,哎!
来自为知笔记(Wiz)
从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();
}
}
}
}
[/code]
要使用hand和Finger的话,必须是来自于Frame,所以首先通过provider初始化当前这一帧。然后把这个脚本绑定到一个GameObject上,启动播放,可以发现GameObject随着左手的移动而移动。
吐槽一下Leapmotion,官网上连个教程都没有,文档太少了。只有这么个简单的示例,哎!
来自为知笔记(Wiz)
相关文章推荐
- Unity WWW 和 AssetBundle只要将资源扔在服务器上就可以了吗?
- unity开发总结
- 【转】从Unity过渡到Unreal
- Unity3D 接入IOS SDK
- Unity3D学习日记(二)使用UGUI制作虚拟摇杆控制摄像机
- 关于Unity3D5.X 动态批处理(Dynamic Batching)实测,区别于4.0版本
- Unity VR 优化
- [Unity] Shader - CG语言 流程控制语句
- Unity依赖注入使用
- unity shader中的surfaceoutput问题
- Unity3D优化学习记录
- Unity学习(九)Bresenham快速画直线算法
- Unity之将Texture保存成png
- Unity3D内存管理
- Unity3D脚本(MonoBehaviour)生命周期
- Unity Manual 笔记01 第一章 使用Unity工作——资源工作流
- unity3d面试2
- 【转】[unity3d]easytouch的使用
- Unity Shader 二 发光Shader
- 关于部分Unity发布IOS报错的解决办法