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