unity vr 交互_基于手动的VR / MR交互,用于删除实体

unity vr 交互

Deleting an entity or closing an application is one of the most ubiquitous operations performed in any application. It is necessary for the organization of the data. On the computer, there are multiple ways to delete a file like `cmd + delete`, delete key, or dragging the icon to the trash-bin. While on mobile phones, pressing delete icon, side-swipe gesture, or long-press to enable the delete option. All these interactions are specially designed and defined for respective form-factor of the devices.

删除实体或关闭应用程序是在任何应用程序中执行的最普遍的操作之一。 数据的组织是必要的。 在计算机上,有多种删除文件的方法,如“ cmd + delete”,删除键或将图标拖到垃圾箱。 在手机上时,按删除图标,侧向滑动手势或长按以启用删除选项。 所有这些交互都是针对设备各自的外形尺寸专门设计和定义的。

It is noticeable that those interactions mentioned above are unable to provide a viable interaction model in mixed reality. Unavailability of such gestures opens up the opportunity to explore new interactions for deleting entities in the mixed reality. This prototype tends to explore one of the many possible ways to delete an object in the space

值得注意的是,上述那些交互无法在混合现实中提供可行的交互模型。 此类手势的不可用为探索在混合现实中删除实体的新交互提供了机会。 该原型倾向于探索删除空间中物体的多种可能方法之一

当前可用的方法: (Currently available methods:)

  • Deletion operation mapped to the controller button event

    删除操作映射到控制器按钮事件
  • Throwing object

    投掷物体
Object throwing interaction in Microsoft Maquette Program
Microsoft MaquetteMicrosoft Maquette
  • Ray-casting pointer with controller click on Close icon

    带有控制器的射线投射指针,单击“关闭”图标
Ray-caster click on closing icon on Oculus Home
Src: Oculus Home
Src:Oculus主页

灵感: (Inspiration:)

  • Iron Man 2

    钢铁侠2
Ironman 2 scene where Tony Stark crushes an hologram and shoots out to delete.
  • Toddler Throwing Things

    蹒跚学步的东西
A toddler throwing away plush toy.

可能的相互作用 (Possible Interactions)

  • Delete button on the contextual menu: Controller Mapping

    上下文菜单上的“删除”按钮:控制器映射
  • Throw away

    丢弃
  • Finger gun

    手指枪
  • Abstract stretch till it deforms and breaks

    抽象拉伸直至变形和断裂

原型细分: (Prototype Breakdown:)

For throw-to-delete interaction, I prototyped a behavior of selecting far away object, bringing it closer to arm’s reach for any operation, returning the entity, or throw-gesture to delete the entity. Summoning an entity from the list of elements like emails, immersive project reports, or just a widget, ability to inspect or operate with it, and then can either dismiss it by deleting or sending it back to its original location can be some of the use cases. For example, archiving an email directly from the list or closing off a widget isn’t required anymore.

对于抛出到删除的交互,我对以下行为进行了原型设计:选择远处的对象,使其更接近手臂进行任何操作,返回实体或抛出手势以删除实体。 从诸如电子邮件,沉浸式项目报告或仅是小部件的元素列表中召唤一个实体,使其具有检查或操作的能力,然后可以通过删除该实体或将其发送回其原始位置来将其关闭,这可能是一些用途案件。 例如,不再需要直接从列表中存档电子邮件或关闭小部件。

Following three stages make up the full prototype:

以下三个阶段构成了完整的原型:

  • Selecting/ Picking

    选择/领料
  • Throw -To- Delete

    扔掉
  • Returning

    归来

第1部分:选择/领料 (Part 1: Selection/ Picking)

MRTK- an open-source toolkit for spatial computing is equipped with modular and performant code blocks to speed up the prototyping process. For this prototype, I used MRTK framework.

MRTK-一种用于空间计算的开源工具包 ,配有模块化和高性能的代码块,以加快原型制作过程。 对于此原型,我使用了MRTK框架。

Adding ObjectManipulator to the GameObject, one can easily interact with the object for various operations like selecting, clicking, far/near grabbing, scale, or rotate. Based on the requirement for the application one can assign appropriate settings. For the current prototype:

将ObjectManipulator添加到GameObject中,可以轻松地与对象进行交互,以进行各种操作,例如选择,单击,远近抓取,缩放或旋转。 根据应用程序的要求,可以分配适当的设置。 对于当前的原型:

  • Physics Behavior on the release is disabled for better control on the entity to classify if the entity is selected or is being thrown.

    禁用发行版上的“物理行为”,以便更好地控制实体以对实体是被选中还是被抛出进行分类。
  • Added TransformContraint to limit scale operation.

    添加了TransformContraint以限制缩放比例操作。
  • Assigned operations like clicking and grabbing to the entity.

    分配的操作,例如单击和抓住实体。
Peter Parker using web shooter to grab soda can.
Src: Spiderman
Src:蜘蛛侠

MRTK’s pointer design enables bringing a grabbed entity to arm’s reach by pulling-back-gesture performed when an outstretched hand is pulled back to folded pose. The speed of the entity movement is dependent on how fast a hand is folding or unfolding.

MRTK的指针设计可通过将伸出的手向后拉到折叠姿势时执行的向后拉动手势来将被抓住的实体伸到手臂上。 实体移动的速度取决于手的折叠或展开速度。

Hand interaction showcasing hand movement to bring selected entity into arm’s reach
Prototype on bringing objects closer to arm’s length using hand movement.
通过手移动使物体靠近手臂的原型。

Upon picking, this prototype shows visual feedback of hover light on the object and provides audio feedback confirming the selection or manipulation start event. It also renders audio feedback upon releasing the object, acknowledging the conclusion of interaction.

拾取后,此原型将显示物体上悬停灯的视觉反馈,并提供确认选择或操纵开始事件的音频反馈。 它还在释放对象时提供音频反馈,从而确认了交互作用的结束。

第2部分:投掷删除 (Part 2: Throw -To- Delete)

Once having direct access to the entity, let it be a far selection, or in the arm’s length, we want to carry out the deletion operation. A typical everyday gesture is to toss things away.

一旦可以直接访问该实体,就可以选择一个遥远的选择,或者在合理的距离内,我们要执行删除操作。 一个典型的日常手势是把东西扔掉。

Upon grabbing the entity, it is easy to compute linear and angular velocity by taking position samples from the previous frames. On release, depending on the entity’s velocity, I classify the operation as deletion or summoning to the user’s arms reach.

抓住实体后,通过从以前的帧中获取位置样本,很容易计算线速度和角速度。 发布时,根据实体的速度,我将操作分类为删除或传唤到用户的手臂范围。

In other words:

换一种说法:

  • Check the magnitude of the velocity (Above threshold or below)

    检查速度的大小(高于或低于阈值)
  • Check the direction of the velocity(towards the user of in any other direction)

    检查速度的方向(朝其他方向的用户)

The above checkpoints help to classify the deletion operation or summoning operation.

以上检查点有助于对删除操作或召唤操作进行分类。

The PhysicsReleaseBehavior in the MRTK is flawed for far-manipulation. By Inspecting the MRTK scripts, the velocity passed to the grabbed entity upon release is the controller’s or Hand’s velocity, which can vary from the grabbed object’s velocity considering the distance between the entity and the controller. One can look the gif below where the MRTK’s relese behavior looks unnatural.

MRTK中的PhysicsRelease行为存在无法进行远距离操纵的缺陷。 通过检查MRTK脚本,释放时传递到抓取实体的速度就是控制器或手的速度,考虑到实体与控制器之间的距离,该速度可能不同于抓取对象的速度。 可以看到下面的gif,其中MRTK的不当行为看起来不自然。

An example showcasing controller and object velocity transfer to the entity upon throwing.
Left cube (Green) showcasing accurate release behavior by considering its linear and angular velocity. While the right cube (Purple) is adopting the controller’s linear and angular velocity showcasing unnatural throw behavior
左立方体(绿色)通过考虑其线速度和角速度展示了准确的释放行为。 当正确的立方体(紫色)采用控制器的线性和角速度时,表现出不自然的投掷行为
An illustration showcasing the difference between controller’s and distant grabbed entity’s velocity.
The difference in velocity of the controller and the distance object selected by the pointer.
控制器和指针选择的距离对象的速度差。

第3部分:返回 (Part 3: Returning)

Upon deciding how selecting, summoning, and deletion operations work, we needed to explore an ability to return the entity to its place.

在决定选择,召唤和删除操作的工作方式之后,我们需要探索一种将实体返回其位置的能力。

Like folding hands closer to shoulder is a gesture to bring an entity closer, the gesture of unfolding hand extending it away from the shoulder is a gesture to give or return any entity. It’s a mental model to elongating hand to return, place it back, or give.

就像将手靠近肩膀折叠是使实体靠近的手势,展开手以使其远离肩膀的手势是赋予或返回任何实体的手势。 这是伸长手以返回,放回或伸出手的心理模型。

Harry Potter Scene where Hermione is returning books in library.
(Src: Harry Potter and Half-Blood Prince)(来源:哈利·波特与混血王子)

Inspired by Harry Potter’s magical effect, I decided to implement the gesture mentioned above and animation to place the entity back to its original place. Thus when the hand is stretched outward beyond a specified threshold from the connecting shoulder point, and upon release of the entity, it travels back to its original location.

受哈利·波特神奇效果的启发,我决定实现上述手势和动画,以将实体放回原始位置。 因此,当手从连接的肩点向外伸展超过指定的阈值时,并且在释放实体时,手会返回其原始位置。

Interaction showcasing hand outstretching for triggering returning animation
Prototype interaction for returning an entity to its place.
用于将实体返回其位置的原型交互。

This returning gesture does interfere with the throwing-to-delete gesture, as the hand may or may not be extended. Thus to classify that, the velocity of the object is weighed again as a threshold. Eventually, by holding the grabbed entity at arm’s span, visual feedback appears describing the return track. Releasing the entity, if the path is visible, it returns to the original position.

由于手可能会伸出也可能不会伸出,因此此返回手势确实会干扰“投掷删除”手势。 因此,为了进行分类,将物体的速度再次加权为阈值。 最终,通过将抓住的实体保持在手臂的跨度上,将出现描述返回轨迹的视觉反馈。 释放实体,如果路径可见,它将返回到原始位置。

Interaction showcasing the returning of the object to it’s original place.
Animation for returning an entity
返回实体的动画

原型 (Prototype)

Prototype created For Object Manipulation Interaction
创建用于对象操纵交互的原型

翻译自: https://uxdesign.cc/hand-based-vr-interaction-for-deleting-entities-cdc7ee25c237

unity vr 交互

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手把手带你走进Babel的编译世界

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列前言谈…

同态加密应用_重新设计具有同态性的银行应用

同态加密应用Catering user preference is undoubtedly a never-ending task. End of the day, it takes all sorts to make a world. For that reason, it is deemed important to design with the accent of communicating core business value, and resolving user needs wi…

(字节/华为/美团)前端面经记录冷冷清清的金三银四

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列从毕业…

netflix_Netflix播放按钮剖析

netflixWe will develop a play pause button similar to the one the Netflix video player has.我们将开发一个类似于Netflix视频播放器的播放暂停按钮。 Since Swift has replaced Objective-C as the default development language for iOS, the same will apply to Swift…

TypeScript 终极初学者指南

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列在过去…

标记偏见_如何(巧妙地)扭曲视觉效果以支持您的偏见叙事

标记偏见Data is important — it is the logical justification for world-changing decisions. Unfortunately, arrays of numbers don’t tell as interpretable a story as a picture does, providing an insatiable need for data visualizations.数据很重要-这是改变世界…

高瓴投资,顶配创业团队,dora 诚招前端 / Flutter

dora 是一个可以跨越设计稿,直接生成应用的新一代设计工具。让任何 Creator 都能轻松构建个性化的网站和应用,无需编写一行代码。通过自主研发的全新技术,我们为用户打造了完全自由度的设计与开发体验,足以满足任何复杂场景的个性…

猎鹰spacex_SpaceX:简单,美观的界面是未来

猎鹰spacex重点 (Top highlight)A photo has been floating around the internet showing how the interior of the new Dragon spacecraft differs from the Space Shuttle. The difference is staggering, but not entirely suprprising. After all the Shuttle started oper…

开发交接文档_为开发人员创造更好的设计交接体验

开发交接文档It’s 2020. We’re supposed to have flying cars and space travel. We should at least have our process for design handoff nailed down at this point.现在是2020年。我们应该有飞行汽车和太空旅行。 在这一点上,我们至少应该确定我们的设计移交…

​Cookie 从入门到进阶:一文彻底弄懂其原理以及应用

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列Cooki…

ui设计师常用的设计工具_2020年应该使用哪个UI设计工具?

ui设计师常用的设计工具重点 (Top highlight)It’s 2020, the market today is saturated with UI design tools. Ever since Sketch app came out with its sleek, simple, and efficient tool to craft user interface design, many companies have followed suit to take a …

你不知道的vscode之空间控制

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列王志远…

lynda ux_UX心态

lynda uxI have had the pleasure of training and mentoring several UX people at the beginning of their careers.在职业生涯的初期,我很高兴接受培训和指导。 Whatever your background or experience, I’ve found repeatedly that there are some key miles…

什么 Leader 值得追随?

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。目前建有江西|湖南|湖北 籍 前端群,想进群的可以加我微信 ruochuan12 进群。历…

pico8 掌机_使用Pico-8构建自己的复古游戏

pico8 掌机An example of the kinds of pixel animations people make in Pico-8.人们在Pico-8中制作的各种像素动画的示例。 Are you a fan of old school video games? What if I told you there’s an NES-style game devkit with the sound/sprite/code tools all built i…

实用 JavaScript 调试技巧

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

数据挖掘 点击更多 界面_6(更多)技巧,可快速改善用户界面

数据挖掘 点击更多 界面重点 (Top highlight)Creating beautiful, usable, and efficient UIs takes time, with many design revisions along the way.创建漂亮,可用和高效的UI需要花费时间,并且在此过程中进行了许多设计修订。 Making those constant…

Koa在实际的业务场景中,路由如何做分割?【文末留言送书】

大家好,我是若川。文末留言送书,具体规则文末说明。另外为了鼓励大家多写源码共读笔记,我会在写了5次及以上笔记的作者群里也抽奖送这本书。以后也会有更多福利倾斜。导读:Koa是一个Node框架,在Node开源社区中&#xf…

设计模式_设计

设计模式Thanks for my colleague WanChing‘s help to prepare this sharing article. E-Commerce app collects plentiful products from various brands. Each brand has its brand signature colors and public image. This article introduces how we made a single page …

使用 GTD 优化自己的工作和生活

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…