unity-leap motion 交互引擎

本文详述了如何在Unity中使用Leap Motion创建VR交互体验。内容涵盖交互引擎的基本组成,物理默认设置,场景配置,包括VR摄像机rig、交互对象的配置,以及脚本编码实现对象的自定义行为。此外,还深入探讨了悬停、接触、抓取和投掷等交互操作。通过官方示例和自定义脚本,帮助开发者理解并实现更丰富的交互功能。
摘要由CSDN通过智能技术生成

介绍

前段时间使用leap motion加入到我的VR程序当中,来代替手柄,但没有写交互。本以为可以使用手的模型来模拟鼠标点击与GUI发生交互,后来发现无法实现,原因之一是程序运行时画布Canvas始终会在摄像机的前面,而这个摄像机比较特殊,是VR摄像机,在VR世界里,我是无法看到UI,后来我找到了官方的example,我知道了必须自己设计三维物体来代替UI,并官方给出了一套交互引擎。这篇博客就是来总结这个交互引擎。


交互引擎允许开发者通过物理或者伪物理处理交互对象在你的VR应用中,交互引擎能帮你完成与物体的接触,抓住等交互。

API地址Interaction Engine

一、基本组成

  • 交互对象需要添加刚体(Rigidbody)和至少一个碰撞体(Collider)
  • 交互管理器(Interaction Manager)从unity中接收FixedUpdate,并处理成为交互的内在逻辑,包括更新手和控制器数据以及交互对象数据(在场景中至少需要一个其中一个交互对象才能运行)。
  • 交互控制器(Interaction Controllers)做与所有交互对象的实际内容(whether by picking them up, touching them, hitting them, or just being near them)。
    层次结构

二、物理默认

在添加InteractionBehaviour给对象之后,默认会发生:

  • 自动添加刚体属性
  • 如果你有交互管理器,下面有一个或多个交互控制器,你可以用双手来拾取、戳、拍打对象。

第一个例子是介绍了几个不同对象在初次成为交互对象时的默认行为。
结构树

画面

三、在unity中场景中配置

现在我们开始在unity中配置完整的交互。

准备工作

  1. 需要unity版本5.6以上
  2. 导入leap motion的核心包core以及交互引擎包。
    1. 更新物理时间步:Unity的物理引擎具有“固定的时间步长”,并且时间步并不总是与图形帧速率同步。将物理时间步设置为与渲染帧速率相同,这一点非常重要。Edit -> Project Settings -> Time,设置为0.0111111 (每秒90帧)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值