Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VR下双手与物体的交互

VR下双手与物体的交互

作者头像
逍遥剑客
发布于 2018-05-09 08:44:09
发布于 2018-05-09 08:44:09
1.4K0
举报

背景

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

直接把物体和手的碰撞体用Constraint进行连接. 看上去与方法1很像, 区别是一个是场景逻辑层面的, 一个物理引擎层面的.

一些细节问题

因为双手是虚拟的, 物体也是虚拟的, 所以想完全模拟出现实中一模一样的体验是不可能的(至少现阶段不行). 上述几种方法也不是都不能用, 只是各自都有其不完美的地方. 下面挨个问题来说:

物体的重力

除了悬浮的物体, 一般是都有重量的. 但是拿到手上后, 这个受力是需要解除的, 不然会不停往下掉. 一般都是抓起来后就关掉重力影响, 放开时再恢复, 这个大家应该都有考虑到.

扔出去时的速度

方法2的实现在扔出去后其实是没有继承手部的速度的, 所以需要自行对Rigidbody设置速度(和角速度). 方法1对于不同引擎实现机制不同, 也会有类似的问题.

与静态场景模型的碰撞

当我们手上没抓东西时, 让手插入静态场景模型(比如墙壁), 怎么处理? 一种做法是让手保持与现实中的位置一至, 一种做法是让手留在碰撞的地方不动. 前一种做法更常见, 因为可以有比较好的沉浸感, 不过也有人会有异议, 下文都是假设以前一种做法为基础. 当我们手上拿着东西时, 让手上的物体插入墙壁, 这时候怎么处理? 有人说也可以让它像手一样穿过墙壁呀, 但是如果这么做了的话, 这时松开手, 这个物体就卡在墙上了, 或者被弹飞(物理引擎的一些问题). 所以正确的做法一般是让手上的物体留在墙面上, 手穿过去, 这时松手的话, 物体自然掉落. 方法1和方法4都有穿插的问题. 方法3会有不断碰撞造成的抖动问题, 可以临时禁用弹性系数解决.

与动态物体的碰撞

假设物体A和物体B都是可以拿起来的动态物理对象, 手拿起物体A, 去推物体B. 方法2物体A会停在物体B上, 物体B不会动. 方法1和方法4可以把物体B推动. 方法3如果物体A质量远小于物体B, 是推不动的, 所以这是最能符合我们期望的结果.

手持物体快速挥动的碰撞

常见的应用场景是手拿球拍去击球. 方法1在速度非常快的情况下会击不出球, 因为前一帧在球前, 后一帧就跑到球后面去了. 方法2球拍会停在与球接触的地方. 方法3和方法4可以符合预期.

与带约束的动态物体交互

比如一个转盘, 只能绕一个轴旋转. 手持一个物体去推动这个转盘. 方法1: 转盘会被推到偏离转轴 方法2: 物体停在与转盘接触的位置 方法3: 物体停在与转盘接触的位置, 转盘会正常转动, 不过也会出现抖动问题 方法4: 物体会与转盘穿插, 但转盘会正常转动

空手直接去抓转盘进行交互是不行的, 可以参考NVR(参考资料1)的实现, 把抓取行为改为对转盘释加力进行转动.

物体的重量

如果想模拟出提起物体时不同重量物体的表现 , 可以通过施加力的方式来模拟出物体与手之间的相对移动, 通过速度快慢表现出不同物体的重量. 见参考资料2

物体的触感

不同材质, 不同重量的物体, 可以通过控制器的振动频率和振幅来进行模拟.

物体与手的相对位置(和旋转)

有些物体我们希望任意位置都可以抓住, 比如球, 花瓶, 玩具等. 有些物体我们希望手拿起来就在把手位置, 比如球拍, 手枪等. 这种可以在物体上设置挂点解决.

其它

待继…

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年08月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
HTC VIVE☀️二、人物基于Player,实现与物体的交互
3、物体如何相应Hand交互事件:InteractableHoverEvents组件和InteractableButtonEvents组件
星河造梦坊官方
2024/08/14
1570
HTC VIVE☀️二、人物基于Player,实现与物体的交互
HTC VIVE☀️九、VRTK抓取机制——(VR交互机制2-Grab)
Precision Grap:是否采用精确抓取。如果不勾选,抓取物体和手柄保持一致。选取后,抓取时会在碰撞点抓取,和下条配合使用
星河造梦坊官方
2024/08/14
1410
HTC VIVE☀️九、VRTK抓取机制——(VR交互机制2-Grab)
VRTK☀️五、与物体交互
给要交互的物体挂载 VRTK_InteractableObject、Collider、VRTK_ChildOfControllerGrabAttach
星河造梦坊官方
2024/08/15
1590
VRTK☀️五、与物体交互
当VR还原触觉:你能虚拟体验手中苹果滑落的感觉
比如拉开弓弦或将球轻轻拍打乒乓球拍,VR很难仅用视觉效果去给人一种真实的感受。如今消费者VR硬件提供的触觉反馈,都不太好。
新智元
2020/10/29
5540
Unity零基础到入门 ☀️| 学会这些Unity常用组件,Unity中必备组件技能学习!
⭐️组件Component ????前言 ????简介 ????Unity工程结构 ????几种常用组件介绍 ????Transform组件 ????Mesh Filter(网格过滤器)和Mesh R
呆呆敲代码的小Y
2021/08/20
3.3K0
Unity零基础到入门 ☀️| 学会这些Unity常用组件,Unity中必备组件技能学习!
深度 | 探索实物与VR间重量转换的方法
文|Ben Lang 译|朱颜夫 ---大数据文摘VR专栏成立,文末查看详情--- ◆ ◆ ◆ 导读 如果在使用当今的VR的运动控制器时,却无法感受到阻力,我们又怎能让VR用户感觉或行动得就像虚拟物体具有不同的重量呢?B-Reel是一家创意公司,这家于1999年在斯德哥尔摩创立的公司探寻出了一些值得借鉴的方法,并将其开源让其他人能够学习。 过去几年,我们变得很喜爱用VR来工作,不管是公司内部项目还是Google Daydream for IO 2016。我们是VR的坚定信仰者,并且相信VR的未来是光明且充
大数据文摘
2018/05/25
4500
MIT发明10美元AI触觉手套:既能识别物体,又能称重,论文已上Nature
MIT 研究人员开发了一种低成本的针织手套(仅需 10 美元)——「可伸缩触觉手套」(STAG,scalable tactile glove)。该手套配有 548 个微小的传感器,几乎遍布整个手掌。当人以各种方式和物体进行交互时,每个传感器都会捕捉压力信号。神经网络会处理这些信号,以「学习」与该物体相关的压力-信号模式,并形成数据集。然后,该系统利用收集到的数据集对物体进行分类,并仅通过触觉来预测它们的重量,整个过程无需视觉输入。
机器之心
2019/06/03
1.1K0
EA出品2020版「灌篮高手」:运球、抢断生成敏捷流畅,帮你找回童年梦想
上世纪 90 年代,《灌篮高手》风靡亚洲,承载了无数 80、90 后的童年回忆和梦想。二十多年过去了,《灌篮高手》早已完结,但关于篮球的动画技术却一直在进步。在今年的 SIGGRAPH 计算机图形学顶会中,一篇论文向我们展示了 2020 年的「灌篮高手」是什么样子。
机器之心
2020/06/17
6440
EA出品2020版「灌篮高手」:运球、抢断生成敏捷流畅,帮你找回童年梦想
7年秘密研发,Meta拿下元宇宙「登月项目」!气动手套让指尖有真实触感
当你从桌子上拿起一块虚拟拼图时,能真切地感受到拼图就在手中,就是手指会停住的那种,效果大概就像下面这样。
新智元
2021/11/23
3760
YY一下VR游戏的潜入玩法
很早之前玩过两个小众的潜入游戏, 分别是《Warp》和《Mark of the Ninja》, 就喜欢上了这类游戏, 不过对我口味的不多, MGS5算一个. 最近又玩了另外两个潜入游戏: 《Aragami》和《Dishonored》, 发现这两个游戏有一个共同点: 游戏中的移动频繁依赖传送. 因为自己正在做VR游戏项目, 所以自然而然地就联想到了VR上. 体验过VR的人都知道, 一动就容易晕. 对于游戏设计者来说, 不能走路的游戏, 似乎很难去设计. 这看起来似乎是一个硬伤, 不过也可以通过一些设计手段
逍遥剑客
2018/05/09
8260
斯坦福黑科技打造新型交互机器人:看视频一学就会!
为什么?要弄清这个问题,需要从日常人类生活中的相互作用的多样性说起。我们几乎无时无刻不在进行活动,这些活动中包括简单的动作,比如吃水果,或更复杂一些的,比如做饭。这些活动中都会发生人和周围事物的相互作用,这个过程是多步的,会受到物理学、人类目标,日常习惯和生物力学的支配。
新智元
2019/05/17
6200
为了这双手套,大厂们又卷起来了
2022年半导体大会正式开启,点击图片立刻参与! 有了“抓握”感,才能抓住“元宇宙”。 作者 | 来自镁客星球的王饱饱 巨头微软,最近又被人爆料了。 据外媒Patently Apple的最新报道,微软的一项VR手套专利日前由WIPO(世界知识产权组织)正式公布。 据该专利的详细报告显示,微软研发了一套基于离合器结构的VR体感手套方案,其技术特点是:通过离合器原理来限制手指关节的运动达到模拟阻力的效果,从而让用户在使用VR设备时有更贴近现实的感觉。不仅如此,该VR手套方案还可以为用户的手指皮肤提供触觉反馈。
镁客网
2022/04/25
2370
为了这双手套,大厂们又卷起来了
GDC2017: 《Lone Echo》中的VR动画
去年在Oculus Connect 3体验过《Lone Echo》的多人竞技玩法, 品质很高, 算是VR游戏中的一线大作了. 正好今年GDC上他们分享了一些关于VR中角色动画的一些经验, 还是比较有借鉴意义的, 毕竟Avatar做了全身的VR游戏少之又少. 这是一个太空失重背景下的游戏, 可以用手抓住环境物体或者推墙进行反向的漂浮. 一开始他们是通过手部射线了检测是不是抓住静态几何体, 通过让身体与双手保持与真人1:1的相对位置来驱动身体, 但是这样对于抓/推动态的环境物体效果不是很好. 原因
逍遥剑客
2018/05/09
8840
感受洪荒之力!深度传感器搭配机器学习,这个AR应用能制造闪电,还能与现实交互
大数据文摘出品 作者:Caleb 年轻人,你渴望力量吗? 就是那种能在指尖召唤闪电,随手一扔就能造成大量伤害的力量。 现在,你只需要动动你的手指,就能在指尖形成一股能量,这股能量也能和现实世界产生互动,这个闪电还会消散形成细小的电流,在物体边缘上下流动,留下粉色的光芒。 就像这样: 这款名叫Let's All Be Wizards!的应用已经上线了App Store,售价2.99美元。不过由于需要利用到LiDAR,因此目前也只有iPhone 12 Pro和iPhone 13 Pro用户能够得到这股力量。
大数据文摘
2022/03/04
2500
Meta 推出《头号玩家》中触觉手套原型,伸向元宇宙的“触手”出现了
从收购Oculus VR至今,Facebook已经走过7年。这一路走来,公司将VR“游戏世界”扩容为“虚拟世界”,用“元宇宙”的名号叫出响来,并将Meta扶持为公司大icon,力证7年之路,若非暗痒,则为裂动。触觉手套落眼于2030年,旨在解决元宇宙的核心挑战之一:我们将如何接触虚拟世界? 作者 | 吴彤 编辑 | 青暮 在Meta之前,许多玩家都想做出真正通往虚拟世界的“触手”,它不仅是VR眼镜,还有更加真实感的、超越视觉与听觉的新方式:触觉反馈手套! 从今年3月开始,Meta(原名Facebook)的
AI科技评论
2023/04/26
3840
Meta 推出《头号玩家》中触觉手套原型,伸向元宇宙的“触手”出现了
VRMMO的技术挑战
又是新的一年, 2016总体不错, 前两年的坚持和积累开始产生效果, 2017不忘初心, 继续前行. 从做PC网游开始, 到2014年做主机游戏, 2015年做单机VR游戏, 2016年做多人VR游戏, 我们一直在走一条非主流的路. 不过现在回头看看, 冒似绕了一条路走在了前面, 做为一名技术人员来说, 还是挺有成就感的. 看看目前绝大数的VR游戏, 其实就是美术做个场景, 程序实现一下交互, 然后就可以拿去上线了, 难怪2016下半年VR热度开始冷却, 因为忽悠太多了. 我们也是从一开始做
逍遥剑客
2018/05/09
1.7K0
为什么在VR中投掷体验很差——怎样改善它
授权摘自游戏蛮牛 翻译cartzhang 投掷 - 当你体验VR,这是你做的第一件事之一。 你拿起那个虚拟的咖啡杯,扔掉它。 杯子,甜甜圈或球疯狂转动。 在这之前,你需要通过教程学习投掷。 这里,我试图把苏打瓶子投到我面前的空白板上。 有些投掷偏离的离谱。有的太低。其中一两个影响到NPC了。或许,我们的虚拟现实第一节,它其实很难精准的投出。当我有这样的体验,我认为是因为自己不擅长VR。我们接受熟练掌握控制方法是游戏学习曲线的一部分。但是,当投掷相同的动作但是结果非常不一样,你就会非常沮丧了。 一个大力投
大数据文摘
2018/05/25
1.1K0
AAAI 2023 Oral | 对自然条件下的点云序列中手物交互的位姿追踪与重建
本文是 AAAI 2023 Oral 入选论文 Tracking and Reconstructing Hand Object Interactions from Point Cloud Sequences in the Wild 的解读。本论文由北京大学王鹤研究团队与北京通用人工智能研究院、弗吉尼亚理工大学、斯坦福大学、清华大学、哥伦比亚大学合作,针对追踪并重建一段输入点云序列中的手和物体这一任务进行了研究。
一点人工一点智能
2023/02/22
9130
AAAI 2023 Oral | 对自然条件下的点云序列中手物交互的位姿追踪与重建
【带着canvas去流浪(8)】碰撞
经过前面章节相对枯燥的练习,相信你已经能够上手canvas的原生API了,那么从这一节开始,我们就开始接触点好玩的东西——动画。
大史不说话
2019/05/07
1.2K0
【带着canvas去流浪(8)】碰撞
VR中对带有约束的物理对象的交互
在VR游戏中, 使用双手(控制器)直接对虚拟世界中的对象进行交互, 已经成为一种”标准化”的设计, 一切看起来能够用手去交互的物体, 都需要附合物理规则. 简单的物理对象, 通常只是一个刚体(Rigidbody), 这种只需要模拟重力和惯性运动就可以了, 最多再调节一下摩擦力, 弹性, 空气阻力等, 所以在技术上借助物理引擎的帮助是比较简单的. 稍微复杂一点儿的物理对象, 是带有约束(Constraint)关系的, 比如门, 抽屉, 转盘, 滑杆, 绳索等等. 这里以最常见的滑动和转轴约束进行一下分析,
逍遥剑客
2018/05/09
1.4K0
推荐阅读
相关推荐
HTC VIVE☀️二、人物基于Player,实现与物体的交互
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档