VR下双手与物体的交互

本文探讨了在VR环境中,如何模拟双手与物体的交互,包括常见的实现方法如Attach To Hand、Set Position、Set Velocity和Constraint,并详细讨论了在交互过程中遇到的细节问题,如物体的重力、速度、碰撞及触感模拟,为提升VR体验提供解决方案。
摘要由CSDN通过智能技术生成

背景

Oculus的Touch, HTC Vive的Controller, PSVR的PS Move, 三家一线VR硬件都在给大家传达一个信息: VR下能够模拟双手的体感控制器是一个趋势. 在VR游戏中, 一旦有了双手, 这就意味着不光能看了…..如果说之前的VR游戏只是输出方式(显示器)发生了变化, 那现在有了个双手, 输入方式也发生了变化, 这对游戏来说是一个革命性的改变, 是完全可以改变用户体验的. 由此我们也看到了代表未来的一些VR应用开始出现: 如空间绘画Tilt Brush, VR雕塑Oculus Medium等. 从游戏玩法的角度, 如果能把传统的玩法跟双手的交互方式相结合, 这就是一个创新, 可以让VR游戏不仅仅是好看, 从而变得开始好玩.

这种双持的体感控制器, 在UE4中统称为MotionController, 在Unity中嘛(我们都是野孩子). 有了双手, 第一件想干事是什么? (嗯, 我指的不是摸) 是抓东西, 扔东西. 对于基于Motion Controller的操作方式来说, 是最最基本的一个功能了. 然而, 这个看似简单的功能, 却有很多问题, 没有办法做到非常完美.

常见实现方法

不就是把物体挂到手上吗? 有那么困难? 我先来分析一下实现方式:

1. Attach To Hand

这也是最常见的实现方法, 直接把Hand做为父结点, 把物体当成子级挂上去

2. Set Position

每帧更新物体的位置(和朝向), 让它跟Hand保持一致. 相对于方法1需要在移动时考虑碰撞, 比如在UE4中就是设置Sweep=true

3. Set Velocity

每帧更新物体的速度(角速度), 让它不断地追赶Hand. 这个方法的缺点是有一帧延迟, 移动得快了是肉眼可见物体与手脱离的.

4. Constraint

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值