leapmotion 正反问题_LeapMotion拉动物体旋转

本文介绍如何在VR环境中使用LeapMotion传感器,通过手部运动控制物体旋转。当手触碰物体时,计算手与物体中心的向量差,进而得到旋转角度,使物体沿相机轴向旋转。在Update()函数中更新并应用旋转,实现物体的全方位查看功能。
摘要由CSDN通过智能技术生成

在VR中经常需要实现这样的功能:展示一个物体,当玩家碰触到这个物体时,可以用手来拨动这个物体,把物体前后左右上下都看一下,在程序上就是获取手的位置变化来控制物体的旋转,具体的思路呢就是求出手与物体中心两点之间的向量,然后求出上一帧与下一帧这两个向量的夹角,这样就能得出我们的手相对于物体移动的角度,再让物体转动相应的角度即可。物体的转动一定是要以camera 的轴向旋转的。

public Camera cam;

private Collider colObj;

private Vector3 lastPos;

private bool grab;

public bool relase;

private Transform hand;

void Awake()

{

colObj = GetComponent();

}

void OnTriggerEnter(Collider col)

{

lastPos = col.transform.position;//记录手触碰到物体时的位置

hand = col.transform;

grab = true;

relase = false;

}

void OnTriggerExit(Collider e)

{

grab = false;

relase = true;

}

void Update()

{

if (!grab)

return;

/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值