在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

V2XR
0 評論 4249 瀏覽 2 收藏 7 分鐘
🔗 产品经理在不同的职业阶段,需要侧重不同的方面,从基础技能、业务深度、专业领域到战略规划和管理能力。

有沒有可能可以基于 WebXR 復(fù)刻蘋果 visionOS 的交互設(shè)計呢?這篇文章里,作者嘗試“復(fù)刻”visionOS中的虛擬鍵盤設(shè)計,不妨來看一下。

這是《LetsHackVision Pro》系列的第一篇,本系列將會基于 WebXR 復(fù)刻蘋果 visionOS 的交互設(shè)計。你可以在(最好是支持手勢識別的 VR )瀏覽器中訪問 https://lets.hackvision.pro/keyboard 體驗。

一、visionOS 虛擬鍵盤

visionOS 虛擬鍵盤設(shè)計有以下幾個特點:

  • 可以通過手勢直接輸入(Direct Touch);
  • 當(dāng)手指懸在按鍵上方時,將呈現(xiàn)點亮效果(Hover Effect),以提示用戶;
  • 雖然理論上擁有無限空間,但 visionOS 虛擬鍵盤仍然采用和 iOS/iPadOS 一致的布局,以保持產(chǎn)間的體驗一致性。

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

visionOS Keyboard

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

Hover Effect

二、WebXR Device API

Immersive Web Developer Home

WebXR 基于 WebGL 的 3D 圖形渲染能力,借助 XR 設(shè)備接口(Device API)可訪問與虛擬現(xiàn)實(VR)和增強(qiáng)現(xiàn)實(AR)設(shè)備相關(guān)的輸入(如頭部位置、控制器位置等),實現(xiàn)通過 Web 技術(shù)開發(fā) XR 應(yīng)用。

THREE.js是一個著名的 WebGL 3D 圖形庫,它提供了一個高級抽象來通過 WebGL 在瀏覽器中實現(xiàn)3D圖形和動畫。lets.hackvision.pro將采用基于 THREE.js 封裝的 A-Frame 框架,它的聲明式語法設(shè)計、實體組件系統(tǒng)(Entity Component System,ECS)和 Apple 的 SwiftUI、RealityKit 非常類似。

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

WebXR Frameworks

三、WebXR 開發(fā)環(huán)境

WebXR 的開發(fā)環(huán)境只需要 Chrome 瀏覽器和由 Meta 開發(fā)的一款插件:Immersive Web Emulator,用來模擬 XR 設(shè)備和控制器,不僅可以模擬控制器的位置,還可以實現(xiàn)手勢模擬、按鍵模擬等?;旧夏憧梢栽跊]有任何 XR 設(shè)備的情況下,僅用 Chrome 瀏覽器完成大部分開發(fā)。

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

Immersive Web Emulator

1. 鍵盤布局

按照 visionOS 的鍵盤布局,保留 26 個字母 + 空格鍵 + Shift + Del,這里最難的其實是模擬 visionOS 真實的毛玻璃效果,僅通過普通材質(zhì)的色彩+透明度,基本很難達(dá)到仿真的效果,但這里重點在于交互的實現(xiàn),以后肯定會有更多模擬 visionOS UI 的 3D 素材出現(xiàn)。

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

v0

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

v1

2. Direct Touch

根據(jù) WebXR Hand Input 定義的手部特征點追蹤,可以獲得每一幀食指指尖(index-finger-tip)的空間坐標(biāo),計算其與目標(biāo)物體(按鍵)的距離,當(dāng)距離小于一定閾值,判定為接觸并觸發(fā)pressed事件。

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

Hand Joints

為按鍵添加觸控響應(yīng)效果:

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

3. Hover Effect

懸停點亮效果也可以通過計算食指指尖??和按鍵指尖的距離來估計,但這個距離如果太小無法起到提示用戶的效果,如果太大又容易受到旁邊按鍵的干擾。我們在這里利用raycaster的屬性,重新定義射線的范圍和指向,其中方向以上圖的【8、9】兩個點確定,范圍設(shè)定在 10cm(far: 0.1)。

與射線交匯的對象(按鍵)通過監(jiān)聽raycaster-intersected事件來改變自身材質(zhì)顏色并播放鍵盤聲效,以實現(xiàn) Hover Effect。

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

Finger Raycaster

4. 輸入與編輯功能

最后根據(jù)各按鍵綁定的觸發(fā)事件,在預(yù)覽窗口中實時呈現(xiàn)輸入字母、大小寫切換等功能:

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

Keyboard Input

四、在 VR 設(shè)備中訪問

在支持手勢追蹤的 VR 設(shè)備瀏覽器中(需要在瀏覽器中打開#webxr-hands實驗特性),訪問 https://lets.hackvision.pro/keyboard

在瀏覽器中復(fù)刻 visionOS 交互 | 鍵盤

本文由 @V2XR 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于 CC0 協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!
专题
36039人已学习30篇文章
大数据时代已经到来,越早进入,越有优势。
专题
31993人已学习17篇文章
你只知道它火了,却不知道它背后的内容营销秘籍。
专题
11647人已学习12篇文章
任何理论都有它的局限性和前提条件,没有一种方法论是永远有效的。品牌方法论一直处在变化阶段,它随着时代发展的变化而变化。本专题的文章分享了品牌方法论。
专题
12181人已学习14篇文章
随着科技的发展,AI技术渗透进各个行业里边,AI图像生成和识别技术有了更大的突破性,本专题的文章分享了AI图像识别。
专题
15617人已学习11篇文章
采用IPD开发流程,在初期能把各种工作问题识别出来并扼杀在摇篮中。本专题的文章分享了什么是IPD开发流程?如何应用IPD开发流程?
专题
125441人已学习18篇文章
你说你会竞品分析,我信!但是肯定写的不好,不服看看别人的。