ios 旋转屏幕试图切换_iOS增强现实应用(AR)设计指南(上)
本文為《iOS人機(jī)交互指南》的一部分,由黃方聞翻譯,轉(zhuǎn)載請(qǐng)注明出處。受公眾號(hào)限制,無法跳轉(zhuǎn)第三方網(wǎng)頁為了更好的體驗(yàn),歡迎訪問http://hfw.design閱讀查看,點(diǎn)擊查看原文可跳轉(zhuǎn)。
原文地址https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/augmented-reality/通過增強(qiáng)現(xiàn)實(shí)(AR)技術(shù),讓應(yīng)用程序可提供身臨其境,引人入勝的體驗(yàn),從而將虛擬對(duì)象與現(xiàn)實(shí)世界無縫融合。你的應(yīng)用程序通過調(diào)用設(shè)備的攝像頭,讓屏幕實(shí)時(shí)顯示現(xiàn)實(shí)世界,同時(shí),在現(xiàn)實(shí)世界上疊加三維虛擬對(duì)象,給用戶一種這些對(duì)象真實(shí)存在的錯(cuò)覺。根據(jù)你應(yīng)用程序所提供的功能,用戶可以旋轉(zhuǎn)設(shè)備以從不同角度去探索對(duì)象,使用手勢(shì)和動(dòng)作與其進(jìn)行交互,甚至可以加入他人進(jìn)行多用戶的AR體驗(yàn)。有關(guān)AR的開發(fā)指南,詳見ARKit。僅在支持AR的設(shè)備上提供AR功能。如果你的應(yīng)用程序的主要功能是AR,請(qǐng)確保你的應(yīng)用程序僅在那些支持ARKit的設(shè)備上運(yùn)行。如果AR只是你應(yīng)用程序的某個(gè)特定功能,或者只是可選項(xiàng),那么當(dāng)用戶在不支持ARKit的設(shè)備上使用你應(yīng)用程序時(shí),無需向用戶提示錯(cuò)誤信息,要做到這一點(diǎn),只需要避免在不支持ARKit的設(shè)備上提供這些功能即可。相關(guān)的開發(fā)指南,詳見支持設(shè)備和用戶權(quán)限。創(chuàng)造引人入勝的、舒適的體驗(yàn)讓用戶可以全屏使用。盡可能多的在屏幕上顯示真實(shí)世界和你應(yīng)用程序的虛擬對(duì)象的內(nèi)容。避免在屏幕上添加多余的控件和信息導(dǎo)致屏幕中的內(nèi)容顯得混亂,從而減少用戶身臨其境的感覺。
讓虛擬對(duì)象盡可能的真實(shí)。設(shè)計(jì)具有逼真紋理和細(xì)節(jié)的3D對(duì)象,使其放在真實(shí)世界中看起來就像真實(shí)存在的。通過ARKit提供的信息,你可以正確地縮放對(duì)象并將其定位在檢測(cè)到的真實(shí)世界上,并反映出真實(shí)的環(huán)境光效果,讓對(duì)象產(chǎn)生真實(shí)的投影,并能隨著相機(jī)位置的變化而同步變化。為了保證對(duì)象的真實(shí)性,請(qǐng)確保你的應(yīng)用程序的刷新率在每秒60次以上來避免對(duì)象出現(xiàn)跳躍或閃爍。
考慮虛擬對(duì)象如何在真實(shí)環(huán)境中顯示。ARKit中的反射是基于相機(jī)捕獲的環(huán)境的近似值。為了保持AR的真實(shí)感,請(qǐng)選擇較小或者粗糙的反射面,來減少環(huán)境的影響。
使用聲音和觸覺來增強(qiáng)沉浸式體驗(yàn)。聲音效果或者碰撞感是確認(rèn)虛擬對(duì)象與真實(shí)的物理表面或其他虛擬對(duì)象接觸的好辦法。背景音樂還可以讓用戶更好的沉浸在這個(gè)虛擬世界中。相關(guān)指南,詳見聲音和觸覺。
盡可能少的使用文本。僅顯示那些用戶使用你應(yīng)用程序所必須要顯示的信息。
如果必須要添加信息或控件,請(qǐng)確保其在屏幕上的展示。內(nèi)容固定在屏幕上的某個(gè)位置在虛擬世界中不怎么常見。但用戶會(huì)相對(duì)容易比較注意到這些內(nèi)容,因?yàn)楫?dāng)用戶移動(dòng)設(shè)備時(shí),屏幕上其他AR內(nèi)容會(huì)移動(dòng),而這些內(nèi)容相對(duì)固定。
當(dāng)需要設(shè)置固定的操作控件時(shí)請(qǐng)使用間接控件(Indirect controls)。間接控件不是虛擬環(huán)境的一部分,而是固定在屏幕上的2D控件。如果用戶總是需要用到該控件,請(qǐng)使用間接控件,這樣用戶無需調(diào)整設(shè)備便可隨時(shí)觸控到。同時(shí),請(qǐng)考慮將間接控件設(shè)計(jì)成半透明樣式,以免遮擋控件下方的內(nèi)容。例如“測(cè)距儀”應(yīng)用通過混合使用半透明的間接控件和不透明的AR控件來幫助用戶測(cè)量真實(shí)世界對(duì)象的距離。
預(yù)期用戶會(huì)在各種現(xiàn)實(shí)環(huán)境中使用你的應(yīng)用程序。用戶可能在一個(gè)沒有足夠移動(dòng)空間或者沒有足夠大的平坦的表面的環(huán)境下使用你的應(yīng)用程序。你應(yīng)該在用戶使用前清楚的告知用戶使用需求和建議,以幫助他們了解真實(shí)環(huán)境對(duì)AR體驗(yàn)的影響。你還可以考慮針對(duì)不同的環(huán)境提供不同的功能。
請(qǐng)注意用戶的舒適度。長(zhǎng)時(shí)間的手持設(shè)備并保持一定距離或角度可能會(huì)造成用戶的疲勞。為了避免產(chǎn)生疲勞,你可以考慮將虛擬對(duì)象放置在一個(gè)合適的位置以減少用戶需要移動(dòng)設(shè)備去靠近的必要,在游戲中,可以考慮將關(guān)卡設(shè)置的短一些,或者在游戲中加入短暫的休息時(shí)間。
如果你的應(yīng)用鼓勵(lì)用戶移動(dòng)設(shè)備(如體感),請(qǐng)逐步引入這些操作。例如,你可能不會(huì)希望用戶在剛進(jìn)入你的AR游戲就需要躲避射過來的虛擬炮彈。給用戶一些時(shí)間適應(yīng)你應(yīng)用程序中的AR體驗(yàn),然后在逐步的引導(dǎo)用戶去嘗試移動(dòng)。
注意用戶的人身安全。當(dāng)用戶沉浸在AR體驗(yàn)中時(shí),可能不會(huì)有足夠的精力去注意周邊的真實(shí)環(huán)境,當(dāng)進(jìn)行一些相對(duì)激烈的動(dòng)作時(shí)可能會(huì)產(chǎn)生危險(xiǎn)。請(qǐng)考慮你的應(yīng)用能被安全的使用,例如,在游戲中避免讓用戶有過大幅度或突然的動(dòng)作行為。
使用輔助引導(dǎo)在用戶開始使用你應(yīng)用程序中的AR功能之前,需要移動(dòng)設(shè)備來讓ARKit來評(píng)估周圍環(huán)境以及檢測(cè)物理表面。在iOS13及更高的版本中,你可以使用內(nèi)置輔助引導(dǎo)來告知用戶在初始化設(shè)置中需要做什么并提供相應(yīng)的反饋。當(dāng)AR體驗(yàn)被打斷后,你還可以使用該輔助引導(dǎo)來幫助用戶重新初始化AR設(shè)置(重新定位),比如當(dāng)用戶切換到另一個(gè)應(yīng)用程序后再切換回時(shí)。有關(guān)重新定位的指南,詳見中斷處理;更多開發(fā)指南,詳見ARCoachingOverlayView。
當(dāng)用戶在輔助引導(dǎo)狀態(tài)下,隱藏其他不必要的UI內(nèi)容。在默認(rèn)情況下,當(dāng)需要初始化或重新定位設(shè)置時(shí),輔助引導(dǎo)會(huì)自動(dòng)出現(xiàn),此時(shí)你應(yīng)該隱藏其他不相關(guān)的UI內(nèi)容,以幫助用戶將注意力集中在輔助引導(dǎo)上。
如有必要,可自定義輔助引導(dǎo)。盡管你可以使用系統(tǒng)內(nèi)置的輔助引導(dǎo)幫助用戶完成特定的設(shè)置,如檢測(cè)水平面或垂直面,但你可能需要更多的信息或者使用其他 視覺樣式。要自定義輔助引導(dǎo),請(qǐng)基于系統(tǒng)內(nèi)置的輔助引導(dǎo)為參考。
放置對(duì)象告知用戶如何定位表面并放置對(duì)象。你可以使用系統(tǒng)內(nèi)置的輔助引導(dǎo)來幫助用戶找到要放置對(duì)象的水平面或垂直面。當(dāng)ARKit檢測(cè)到一個(gè)表面后,你可以通過自定義的視覺效果來告知用戶是否可以放置對(duì)象。你可以通過將引導(dǎo)檢測(cè)器與檢測(cè)到的表平面對(duì)齊來幫助用戶更好的了解他們放置的對(duì)象在真實(shí)環(huán)境中的呈現(xiàn)。
當(dāng)用戶放置了一個(gè)對(duì)象,請(qǐng)立即將該對(duì)象整合到AR環(huán)境中。盡管在表面檢測(cè)期間,精度會(huì)在很短時(shí)間內(nèi)逐漸提高,但是最好避免在用戶放置對(duì)象后還等待更準(zhǔn)確的數(shù)據(jù)。當(dāng)用戶放置了對(duì)象后,應(yīng)使用當(dāng)前可用信息立即作出響應(yīng),然后,在完成表面檢測(cè)后,如有必要,可以微調(diào)對(duì)象的位置。例如,如果用戶將對(duì)象放置在檢測(cè)到的表面之外,可以將對(duì)象移回表面上。有關(guān)如何精準(zhǔn)定位對(duì)象的開發(fā)指南,詳見ARTrackedRaycast。
引導(dǎo)用戶找到屏幕外的虛擬對(duì)象。有時(shí)候,用戶會(huì)很難找到一個(gè)屏幕外的虛擬對(duì)象,在這種情況下,你可以通過聲音或視覺引導(dǎo)來幫助用戶找到該對(duì)象。例如,假設(shè)某個(gè)虛擬對(duì)象在屏幕外的左側(cè),你可以在屏幕左側(cè)增加一個(gè)視覺引導(dǎo),來提示用戶將攝像頭指向左側(cè)。
避免將對(duì)象和已檢測(cè)到的表面精確對(duì)齊。在AR中,表面邊界是近似值,可能會(huì)隨著用戶周圍環(huán)境以及進(jìn)一步的分析而發(fā)生變化。
對(duì)表面進(jìn)行分類并告知用戶可放置的類別。例如,僅允許用戶在分類為“地板”的表面上放置虛擬家具,或者可以將飛機(jī)歸類為“桌子”以放置虛擬游戲板。
設(shè)計(jì)直觀、令人愉悅的對(duì)象交互盡可能的讓用戶直接和虛擬對(duì)象進(jìn)行交互。通過直接觸控屏幕上的3D虛擬對(duì)象,而不是通過屏幕上的間接控件進(jìn)行交互,不僅更直觀,還能讓用戶更有沉浸感。但是,當(dāng)用戶是在到處走動(dòng)的場(chǎng)景下使用你的應(yīng)用程序,那么使用間接控件可能更好。
讓用戶可以使用符合預(yù)期的標(biāo)準(zhǔn)化的手勢(shì)直接與對(duì)象進(jìn)行交互。例如,應(yīng)支持用于移動(dòng)對(duì)象的單指拖動(dòng)手勢(shì)和用于旋轉(zhuǎn)對(duì)象的雙指旋轉(zhuǎn)手勢(shì)。相關(guān)指南,詳見手勢(shì)。
請(qǐng)保持交互的簡(jiǎn)單。本質(zhì)上,觸控手勢(shì)是二維交互,但AR及現(xiàn)實(shí)世界是三維的。你可以考慮通過以下的方式來簡(jiǎn)化用戶與虛擬對(duì)象的交互。
(左圖文字:限制對(duì)象僅在平面上移動(dòng);右圖文字:限制對(duì)象僅能圍繞一個(gè)軸旋轉(zhuǎn))
在合理的范圍內(nèi)讓虛擬對(duì)象對(duì)可能的交互手勢(shì)作出響應(yīng)。用戶可能比較難以精確觸控到某個(gè)小的、細(xì)的或者有一定距離的對(duì)象,當(dāng)你的應(yīng)用程序檢測(cè)到某個(gè)手勢(shì)在這個(gè)可交互對(duì)象附近時(shí),通常最好假設(shè)用戶想要操作該對(duì)象。
請(qǐng)思考在你的應(yīng)用中支持用戶對(duì)對(duì)象進(jìn)行縮放是否有意義。例如,如果你的應(yīng)用是讓用戶探索一個(gè)虛擬的環(huán)境,那么支持對(duì)象的縮放可能很有用,因?yàn)槟愕膽?yīng)用不是代表的真實(shí)世界。但另一方面,假設(shè)你的應(yīng)用是幫助用戶確定是否要購(gòu)買一個(gè)家具,那么允許用戶對(duì)椅子進(jìn)行縮放,并不能幫用戶更好的了解這個(gè)椅子放在房間中的效果。
提示:無論你的應(yīng)用程序是做什么用的,都不要將縮放對(duì)象當(dāng)成調(diào)整對(duì)象距離的一種方式。如果你試圖將遠(yuǎn)處的對(duì)象放大來讓其看起來更近一些,實(shí)際可能只是讓那個(gè)對(duì)象變大了,但跟你的距離并沒有發(fā)生變化。請(qǐng)留意可能出現(xiàn)的手勢(shì)沖突。例如,雙指捏合的手勢(shì)和雙指旋轉(zhuǎn)的手勢(shì)很相似。如果你想同時(shí)支持這兩種手勢(shì),請(qǐng)確保你應(yīng)用程序能準(zhǔn)確識(shí)別并測(cè)試無誤。
在你應(yīng)用的AR環(huán)境中保持虛擬控件和周圍環(huán)境有一致的物理屬性。用戶可能并不期望一個(gè)對(duì)象在粗糙或者不平坦的表面移動(dòng),但他們會(huì)期望這個(gè)對(duì)象在運(yùn)動(dòng)過程中是可見的。移動(dòng)時(shí)應(yīng)將對(duì)象附著在真實(shí)世界的表面,并且避免用戶在調(diào)整大小、旋轉(zhuǎn)以及移動(dòng)等操作時(shí),對(duì)象跳躍或閃爍的出現(xiàn)。
探索更多引人入勝的交互方式。手勢(shì)并不是用戶與AR中虛擬對(duì)象交互的唯一方式。你的應(yīng)用還可以使用其他的要素,如動(dòng)作或相似度,來使內(nèi)容栩栩如生。例如,一個(gè)游戲角色可以在朝另一個(gè)人走過去的時(shí)候轉(zhuǎn)頭看他。
http://hfw.design
是我新上線的一個(gè)體驗(yàn)設(shè)計(jì)相關(guān)的網(wǎng)站,內(nèi)容會(huì)與本公眾號(hào)同步更新,歡迎訪問。
你點(diǎn)的每個(gè)在看,我都認(rèn)真當(dāng)成了喜歡總結(jié)
以上是生活随笔為你收集整理的ios 旋转屏幕试图切换_iOS增强现实应用(AR)设计指南(上)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fih32.exe是什么进程 有什么作用
- 下一篇: 计算机网络技术实验,计算机网络技术实验