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 投擲物體
- Ray-casting pointer with controller click on Close icon 帶有控制器的射線投射指針,單擊“關閉”圖標
靈感: (Inspiration:)
- Iron Man 2 鋼鐵俠2
- Toddler Throwing Things 蹣跚學步的東西
可能的相互作用 (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. 分配的操作,例如單擊和抓住實體。
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的指針設計可通過將伸出的手向后拉到折疊姿勢時執行的向后拉動手勢來將被抓住的實體伸到手臂上。 實體移動的速度取決于手的折疊或展開速度。
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的不當行為看起來不自然。
第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.
就像將手靠近肩膀折疊是使實體靠近的手勢,展開手以使其遠離肩膀的手勢是賦予或返回任何實體的手勢。 這是伸長手以返回,放回或伸出手的心理模型。
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.
受哈利·波特神奇效果的啟發,我決定實現上述手勢和動畫,以將實體放回原始位置。 因此,當手從連接的肩點向外伸展超過指定的閾值時,并且在釋放實體時,手會返回其原始位置。
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.
由于手可能會伸出也可能不會伸出,因此此返回手勢確實會干擾“投擲刪除”手勢。 因此,為了進行分類,將物體的速度再次加權為閾值。 最終,通過將抓住的實體保持在手臂的跨度上,將出現描述返回軌跡的視覺反饋。 釋放實體,如果路徑可見,它將返回到原始位置。
原型 (Prototype)
翻譯自: https://uxdesign.cc/hand-based-vr-interaction-for-deleting-entities-cdc7ee25c237
unity vr 交互
本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。 如若轉載,請注明出處:http://www.pswp.cn/news/274768.shtml 繁體地址,請注明出處:http://hk.pswp.cn/news/274768.shtml 英文地址,請注明出處:http://en.pswp.cn/news/274768.shtml
如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!