WWDC 2018 | iOS 12 Beta 無與倫比的 AR 初體驗(yàn)

本文的內(nèi)容是承接 WWDC 2018 | iOS 12 Beta體驗(yàn) 一文的菇爪,上一篇中,從整體上過了一遍 iOS12 系統(tǒng)的更新的初體驗(yàn)涧郊,本文詳細(xì)梳理一下ARKit2.0的更新內(nèi)容。

image.png

寫在前面

在前面文中提到,iOS 12主要是在性能上進(jìn)行了優(yōu)化构哺,對(duì)普通用戶來說,iOS 12并沒有從軟硬件上給人耳目一新战坤。

但是對(duì)于開發(fā)者來說曙强,關(guān)注點(diǎn)則很多,其中途茫,ARKit2.0 就是一個(gè)很大的亮點(diǎn)碟嘴。蘋果在ARKit2.0的介紹過程中用了“無與倫比”來形容 ARKit2.0 :

unparalleled augmented reality experiences

我覺得 ARKit2.0 本次的更新,對(duì)于蘋果系統(tǒng)下的 AR 發(fā)展具有劃時(shí)代意義囊卜。
為什么這么講娜扇,ARKit1.0 雖然強(qiáng)大错沃,但始終停留在只能一臺(tái)設(shè)備玩,玩家之間沒有交互雀瓢,?你做的再好你只是一個(gè)單機(jī)游戲枢析,但隨著 ARKit2.0 的發(fā)布,這一切都變了刃麸。

With ARKit 2 on iOS 12, your AR apps can now be experienced by multiple users simultaneously, and resumed at a later time in the same state.

ARKit2.0 支持多人同時(shí)參與醒叁,玩家之間可以共享由虛擬世界和真實(shí)世界構(gòu)建的場景,這樣的話泊业,隨著這個(gè)功能的發(fā)布把沼,AR 就加入了社交屬性,對(duì)游戲設(shè)計(jì)者來說吁伺,這也就有了無限的想象空間饮睬。

所以,可以預(yù)見篮奄,接下來的幾個(gè)月內(nèi)捆愁,會(huì)有一批優(yōu)秀的、多人參與的AR應(yīng)用出現(xiàn)窟却,值得期待昼丑。

ARKit2.0 雖然升級(jí)變化很大,但總結(jié)來看间校,我把變化歸納為兩個(gè)部分:

  • 支持多人同時(shí)參與
  • 更好的支持3D

本文也從這兩部分來講解矾克。

1. 支持多人同時(shí)參與的 SwiftShot

SwiftShot是蘋果官方給出來的一個(gè)示例,本節(jié)結(jié)合 SwiftShot 來講解 ARKit2.0是如何讓多人同時(shí)參與進(jìn)來的憔足。

點(diǎn)擊下載SwiftShot源碼示例代碼源碼胁附。

在講解原理之前,先來熟悉一下游戲的基本玩法滓彰。

1.1 SwiftShot 玩法簡介

游戲首頁如下圖所示控妻,上面有兩個(gè)按鈕:

圖片發(fā)自簡書App

點(diǎn)擊 Host 按鈕為其他附近的玩家開始游戲,點(diǎn)擊 Join 按鈕參與在另一臺(tái)設(shè)備上已經(jīng)開始的游戲揭绑。

如果你點(diǎn)擊了 Host按鈕弓候,應(yīng)用會(huì)要求你找到平面(如桌子)以放置游戲面板。你可以拖動(dòng)他匪,旋轉(zhuǎn)并捏合以定位和調(diào)整板的大小菇存,調(diào)整OK后點(diǎn)擊屏幕,并出現(xiàn)游戲板邦蜜。

image.png

當(dāng)游戲板出現(xiàn)時(shí)依鸥,你會(huì)發(fā)現(xiàn)桌子上有積木和彈弓,彈弓每端有三個(gè)悼沈。
將設(shè)備靠近彈弓贱迟,等彈弓高亮的時(shí)候姐扮,觸摸屏幕抓住它,然后向后拉并釋放衣吠,瞄準(zhǔn)并發(fā)射球茶敏。
球會(huì)擊倒積木或者彈弓,發(fā)生物理碰撞缚俏。
擊倒對(duì)面三支彈弓者贏得游戲勝利惊搏。

下圖是一些游戲場景的截圖:

image.png

經(jīng)過這個(gè)介紹,你的腦海中對(duì)這個(gè)游戲有了大致的印象袍榆。

接下來胀屿,就介紹蘋果對(duì)這類游戲塘揣,在游戲設(shè)計(jì)方面的一些建議包雀。

1.2 多人參與的AR游戲設(shè)計(jì)基本原則

1.2.1 鼓勵(lì)玩家移動(dòng),增加游戲的沉浸式體驗(yàn)

Encourage player movement to make gameplay more immersive

在 SwiftShot中亲铡,因?yàn)樵谀愫蛿橙藦椆g有障礙物體才写,你可能會(huì)發(fā)現(xiàn),你很難直接射擊敵人的彈弓奖蔓。但你可以移動(dòng)到其他彈弓位置赞草,與你的隊(duì)友一起找到贏得比賽的最佳角度。

1.2.2 不鼓勵(lì)劇烈的吆鹤、大范圍的移動(dòng)

Don’t encourage too much movement

玩這類游戲,大家都在同一個(gè)相對(duì)狹小的空間中,集中注意力的盯著設(shè)備屏幕魄缚。
如果游戲過程中總移動(dòng)的太猛烈框往,會(huì)導(dǎo)致隊(duì)員撞在一起,這樣就降低了AR游戲的沉浸體驗(yàn)知允,分分鐘出戲撒蟀,甚至還有受傷和摔壞設(shè)備的風(fēng)險(xiǎn)。

所以在 SwiftShot 中温鸽,一旦你選定要使用某一個(gè)彈弓之后保屯,你必須仔細(xì)瞄準(zhǔn),保持設(shè)備穩(wěn)定涤垫,才能射出一個(gè)好球姑尺,所以你不會(huì)因?yàn)榈皖^盯著設(shè)備,頻繁移動(dòng)蝠猬,而導(dǎo)致和其他玩家發(fā)生身體碰撞切蟋。

1.2.3 促進(jìn)溝通和社交

Foster social engagement

多人AR游戲?qū)⑼婕揖奂谕粋€(gè)空間,為他們提供新的娛樂方式吱雏。
使用AR觀看比賽敦姻,也為觀眾提供了不同的視角和新的體驗(yàn)瘾境。NBA 就在積極嘗試用戶 AR 觀賽。

保持游戲簡短镰惦,但通過變化增加樂趣

Keep games short, but add fun through variation

通過下午和同事的體驗(yàn)這個(gè)游戲迷守,發(fā)現(xiàn)玩這個(gè)游戲是比較累的,因?yàn)槟阈枰酥O(shè)備旺入,長時(shí)間保持在一個(gè)可能你并不是很舒適的姿勢(比如半蹲)兑凿,來完成球的發(fā)射。手機(jī)還相對(duì)好一點(diǎn)茵瘾,抱著 iPad 真的特別累礼华。

所以 SwiftShot 保持短暫的鼓勵(lì)派對(duì)式游戲,玩家可以經(jīng)常進(jìn)入和退出游戲拗秘。
它還提供了幾種游戲板布局和特殊效果圣絮,這樣每次進(jìn)入游戲都可以有所不同,避免審美疲勞雕旨。

1.3 如何在設(shè)備間共享數(shù)據(jù)

設(shè)備間共享數(shù)據(jù)包含兩方面的內(nèi)容:

  • 如何獲取包含帶有空間信息的數(shù)據(jù)扮匠,ARWorldMap 會(huì)幫我們完成這項(xiàng)內(nèi)容;
  • 數(shù)據(jù)如何在設(shè)備間傳遞凡涩,通過 MultipeerConnectivity 可以實(shí)現(xiàn)棒搜。

結(jié)合二者,蘋果實(shí)現(xiàn)了多用戶之間的數(shù)據(jù)共享和游戲交互活箕。

ARWorldMap

在 SwiftShot 中力麸,當(dāng)一個(gè)玩家點(diǎn)擊 Host 按鈕創(chuàng)建游戲面板之后,ARKit會(huì)自動(dòng)創(chuàng)建一個(gè) ARWorldMap育韩,其中包含ARKit對(duì)游戲板周圍區(qū)域的空間理解克蚂。

當(dāng)其他玩家加入進(jìn)來時(shí),會(huì)收到一份 ARWorldMap 副本座慰,并以此為依據(jù)構(gòu)建多人一起玩耍的 AR 世界陨舱。

有關(guān)設(shè)置多人AR會(huì)話的更多詳細(xì)信息,請(qǐng)參閱 Creating a Multiuser AR Experience版仔。

MultipeerConnectivity

SwiftShot使用 MultipeerConnectivity 框架在設(shè)備間建立連接游盲,并發(fā)送游戲數(shù)據(jù)。

關(guān)于 MultipeerConnectivity的更多詳細(xì)信息蛮粮,可查看蘋果的官方文檔益缎,后續(xù)我也會(huì)寫相關(guān)的文檔來做詳細(xì)介紹。

關(guān)于 MultipeerConnectivity 的內(nèi)容然想,后面用一篇文章專門來介紹莺奔。

注意: 使用Multipeer在設(shè)備之間直接傳輸數(shù)據(jù),這些數(shù)據(jù)包括你的本地位置信息 变泄,通過設(shè)置MCEncryptionPreference.required 加密令哟,它也可以防止竊聽恼琼。蘋果在用戶數(shù)據(jù)隱私方面還是做的很好的。

2. AR Quick Look Gallery

iOS 12支持直接在Safari中預(yù)覽3D模型屏富,換句話說晴竞,也就是Safari 添加了對(duì)ARKit的支持。

下面狠半,我們來體驗(yàn)一下這個(gè)功能噩死。

在Safari下打開官方提供的3D模型鏈接

打開鏈接之后神年,頁面展示如下:

image.png

系統(tǒng)內(nèi)置了一些3D模型已维,供我們預(yù)覽:

image.png

在Safari中點(diǎn)擊收音機(jī),頁面加載模型可能需要一點(diǎn)時(shí)間已日,加載完成后垛耳,如下圖所示:

image.png

可以在屏幕上縮放和移動(dòng)這個(gè)模型,點(diǎn)擊頂部的 AR 選項(xiàng)捂敌,可以切換到 AR 預(yù)覽模式:

效果如下:

image.png

很逼真吧艾扮!

這項(xiàng)功能為設(shè)計(jì)師和開發(fā)者既琴,提供了在手機(jī)里預(yù)覽模型的便捷方法占婉!

小結(jié)

本文通過蘋果提供的官方實(shí)例,剖析了AR對(duì)支持多人同時(shí)參與方面甫恩,官方提供的一些設(shè)計(jì)思路和實(shí)現(xiàn)原理逆济;體驗(yàn)了在Safari中直接預(yù)覽3D模型的功能。

如果您只是一個(gè)普通玩家磺箕,并非開發(fā)者奖慌,看到這里,應(yīng)該對(duì)ARKit2.0有了一個(gè)大致了解松靡,希望這些以后能夠有助于您體驗(yàn)AR項(xiàng)目简僧。如果您對(duì)iOS 12beta版本感興趣,需要升級(jí)beta版本系統(tǒng)或者體驗(yàn)SwiftShot游戲雕欺,您可以私信我岛马,有時(shí)間了會(huì)幫您解答。

如果您是一個(gè)開發(fā)者屠列,這僅僅是一道開胃菜啦逆,下一篇,會(huì)從代碼角度結(jié)合ARKit2.0新增的API笛洛,詳細(xì)剖析 SwiftShot 的各個(gè)部分實(shí)現(xiàn)原理夏志,您也可以翻閱我其他的關(guān)于 ARKit 和 SceneKit 的博客,獲取更多信息苛让。

圖片發(fā)自簡書App
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沟蔑,一起剝皮案震驚了整個(gè)濱河市湿诊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瘦材,老刑警劉巖枫吧,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異宇色,居然都是意外死亡九杂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門宣蠕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來例隆,“玉大人,你說我怎么就攤上這事抢蚀《撇悖” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵皿曲,是天一觀的道長唱逢。 經(jīng)常有香客問我,道長屋休,這世上最難降的妖魔是什么坞古? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮劫樟,結(jié)果婚禮上痪枫,老公的妹妹穿的比我還像新娘。我一直安慰自己叠艳,他們只是感情好奶陈,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著附较,像睡著了一般吃粒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拒课,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天徐勃,我揣著相機(jī)與錄音,去河邊找鬼捕发。 笑死疏旨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的扎酷。 我是一名探鬼主播檐涝,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谁榜?” 一聲冷哼從身側(cè)響起幅聘,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎窃植,沒想到半個(gè)月后帝蒿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巷怜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年葛超,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片延塑。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绣张,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出关带,到底是詐尸還是另有隱情侥涵,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布宋雏,位于F島的核電站芜飘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏磨总。R本人自食惡果不足惜嗦明,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舍败。 院中可真熱鬧招狸,春花似錦、人聲如沸邻薯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厕诡。三九已至,卻和暖如春营勤,著一層夾襖步出監(jiān)牢的瞬間灵嫌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國打工葛作, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寿羞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓赂蠢,卻偏偏與公主長得像绪穆,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容