到底有多強(qiáng)挺尾?蘋(píng)果的增強(qiáng)現(xiàn)實(shí)框架:ARKit

相關(guān)

ARKit實(shí)戰(zhàn):如何實(shí)現(xiàn)任意門(mén)
Animoji實(shí)現(xiàn)方案分享
Animoji模型優(yōu)化方案總結(jié)
ARKit進(jìn)階:物理世界
ARKit進(jìn)階:材質(zhì)
解決 ARKit 用Metal錄制時(shí)顏色變暗的問(wèn)題
記一個(gè)SceneKit Morpher引發(fā)的Crash

寫(xiě)在前面

其實(shí)準(zhǔn)備ARKit已經(jīng)很久了鸿秆,確切地說(shuō)當(dāng)WWDC開(kāi)始介紹時(shí)就開(kāi)始了龙优。其后參加了蘋(píng)果的ARKit workShop尽爆,加上自己有點(diǎn)事抬伺,所以文章一直沒(méi)發(fā)出來(lái)螟够,現(xiàn)在再發(fā)一篇上手文章,也沒(méi)什么意義峡钓。所以本篇文章重在workShop上與蘋(píng)果工程師的交流和我對(duì)ARKit的理解, 最后會(huì)簡(jiǎn)單介紹一下相關(guān)技術(shù)妓笙。

更新

蘋(píng)果最近更新了ARKit的文檔,加入了基于深度攝像頭的人臉識(shí)別(目前就是iPhone X的前置攝像頭)能岩。在work shop上ARKit團(tuán)隊(duì)明確表示不會(huì)支持前置攝像頭寞宫,這么快就被打臉……所以大家可以期待,ARKit將在前置攝像頭上有更多的應(yīng)用拉鹃。

Work Shop Demo

MarkDown無(wú)法傳視頻辈赋,這里是視頻鏈接

ARKit

ARKit Logo

AR(Augment Reality)大家都知道膏燕,就是將3D模型渲染在攝像頭圖像之上钥屈,混合渲染達(dá)到虛擬物品就好像是現(xiàn)實(shí)的一部分。ARKit解決了模型定位難的問(wèn)題坝辫,結(jié)合CoreMotion運(yùn)動(dòng)數(shù)據(jù)與圖像處理數(shù)據(jù)篷就,來(lái)建立一個(gè)非常準(zhǔn)確的SLAM系統(tǒng),構(gòu)建虛擬世界和現(xiàn)實(shí)世界之間的映射近忙。同時(shí)能夠分析環(huán)境自動(dòng)給模型添加光源竭业,實(shí)際效果還是比較驚艷的。
從結(jié)構(gòu)上看及舍,ARKit提供了一套簡(jiǎn)單易用的AR框架永品,但框架之外,需要很多的三維空間击纬、游戲編程、3D模型钾麸、GPU渲染的知識(shí)來(lái)理解AR技術(shù)更振。ARKit最重要的兩個(gè)類是ARSessionARSCNView

session-view

類似與AVFoudation炕桨,ARKit中由ARSesseion類來(lái)配置SLAM系統(tǒng)的建立。設(shè)置RSession的配置選項(xiàng)為ARWorldTrackingSessionConfiguration來(lái)追蹤設(shè)備的方向與位置肯腕,并且能夠檢測(cè)平面献宫。這個(gè)選項(xiàng)只有A9處理器之上才支持。其他型號(hào)處理器(6S以下)只能追蹤設(shè)備的方向实撒。
ARKit的提供了自帶的兩個(gè)渲染類:ARSCNView和ARSKView姊途,后者用來(lái)渲染2D模型。之前鮮有問(wèn)津的SceneKit算是有了用武之地知态。這兩個(gè)類會(huì)自動(dòng)開(kāi)啟攝像頭并建立虛擬空間與現(xiàn)實(shí)空間之間的映射捷兰。同時(shí)ARKit也支持自定義用OpenGL或Metal實(shí)現(xiàn)渲染類,但要自己管理與ARSession之間的通信负敏,同時(shí)要遵循iOS GPU命令不能在后臺(tái)調(diào)用的規(guī)則贡茅。

其他比較重要的類有ARAnchorARHitTestResult其做、ARFrame顶考、ARCamera

  • ARAnchor

世界中點(diǎn)妖泄,可以用來(lái)放置虛擬物品驹沿,也可以代指現(xiàn)實(shí)物品的放置位置。ARAnchor在世界中是唯一的蹈胡,并包含仿射變換的信息渊季。

  • ARHitTestResult

HitTest的返回,世界中的ARAnchor审残。
與UIKit中的hitTest不同梭域,ARKit的HitTest以設(shè)備方向配合視圖坐標(biāo),建立一條世界中的射線搅轿,所有在射 線上的ARAnchor, 會(huì)以由近到遠(yuǎn)的方式返回病涨。此外SCeneKit的HitTest返回虛擬物品。

  • ARFrame

攝像頭視頻幀的包裝類璧坟,包含位置追蹤信息既穆、環(huán)境參數(shù)、視頻幀雀鹃。重點(diǎn)是它包含了蘋(píng)果檢測(cè)的特征點(diǎn)幻工,通過(guò)rawFeaturePoints可以獲取,不過(guò)只是特征的位置黎茎,具體的特征向量并沒(méi)有開(kāi)放囊颅。

  • ARCamera

場(chǎng)景中的攝像機(jī),用來(lái)控制模型視圖變換和投影變換。同時(shí)提供6DOF(自由度信息踢代,方向+位置)與追蹤信息盲憎。

對(duì)ARKit的思考

從框架接口來(lái)看,ARKit 暴露出來(lái)的能力并不多且小心翼翼胳挎。
AR的能力饼疙,由三部分組成:

  1. 3D渲染
  2. 空間定位與方向追蹤
  3. 場(chǎng)景理解(檢測(cè)與識(shí)別)

目前看 ARKit 只提供了3D渲染的入口,其他兩個(gè)都被封裝起來(lái)了慕爬,所以目前來(lái)看渲染是差異化的主要途徑窑眯,但不唯一。ARKit workShop 上医窿,面對(duì)大家提出的苛刻問(wèn)題磅甩,蘋(píng)果工程師大量提到特征點(diǎn)。其實(shí)計(jì)算機(jī)視覺(jué)是可以在場(chǎng)景理解這一層面做一些自定義的留搔。如果蘋(píng)果開(kāi)放更多的能力更胖,那AR的能力完全可以作為任何一個(gè)APP的特性。
此外隔显,ARKit還存在一些問(wèn)題:

  • ARKit 是基于慣性-視覺(jué)來(lái)做空間定位的却妨,需要平穩(wěn)緩慢的移動(dòng)+轉(zhuǎn)向手機(jī),才能構(gòu)建更加準(zhǔn)確的世界括眠,這對(duì)用戶來(lái)說(shuō)是一種考驗(yàn)彪标,需要積極提示。
  • 理論上 ARKit 在雙目攝像頭上的表現(xiàn)應(yīng)該優(yōu)于單目掷豺,這里需要具體測(cè)試捞烟,如何來(lái)平衡用戶體驗(yàn)。
  • .scn文件還是知識(shí)一個(gè)簡(jiǎn)單的3維模型編輯器当船,支持的文件格式少题画,對(duì)模型、光照的編輯方式不太友好德频。對(duì)骨骼動(dòng)畫(huà)的支持還有只在能用的階段苍息。
  • 一旦剛開(kāi)始檢測(cè)平面失敗,出現(xiàn)時(shí)間久壹置,飄逸的現(xiàn)象竞思,后期很難再正確檢測(cè),要強(qiáng)制重啟钞护。

ARKit最佳實(shí)踐

模型與骨骼動(dòng)畫(huà)

  • 如果是使用.dae 轉(zhuǎn) .scn 文件盖喷,資源中包含骨骼動(dòng)畫(huà)時(shí),加載.scn文件到 scene 中會(huì)丟失動(dòng)畫(huà)难咕,需要在加載時(shí)手動(dòng)恢復(fù)一下(方法)课梳。
  • 設(shè)計(jì)骨骼動(dòng)畫(huà)是距辆,要求設(shè)計(jì)師把動(dòng)畫(huà)放在根節(jié)點(diǎn)上,不要分散地放在每個(gè)bone上惦界,這樣可以方便地讀取出動(dòng)畫(huà)到CAAnimation挑格。
  • 最好不要將太遠(yuǎn)的光照加載模型文件中,這樣會(huì)導(dǎo)致加載文件到SCNNdoe時(shí)沾歪,你的 node 真實(shí)尺寸特別大,而你期望的尺寸可能只是模型對(duì)象的大小雾消。
  • 模型的SCNMaterial 是用 physically based lighting model 會(huì)有更好的表現(xiàn)灾搏,設(shè)置比較好的環(huán)境光也比較重要。

光照

  • 合理的陰影會(huì)大大提高AR的效果立润,貼一張紋理當(dāng)然可以狂窑,但動(dòng)態(tài)陰影更讓人沉浸,我們還是要有追求的桑腮。
  • 使用Bake ambient occlusion(ABO)效果泉哈,模型會(huì)更逼真。
  • 光照node加載到 SCNScenerootNode上破讨,這對(duì)做碰撞檢測(cè)尤其重要

ARKit workShop

匯總了一下workShop上丛晦,比較感興趣的問(wèn)題和蘋(píng)果工程師的回答,摻雜自己的理解提陶。

1 . ARFrame提供的YUV特征烫沙,如何獲取RGB特征?

答:使用Metal去獲取特征點(diǎn)的RGB值隙笆。
(這個(gè)我一般是用OpenGL的shader去做锌蓄,我想蘋(píng)果工程師是說(shuō)將圖像用Metal轉(zhuǎn)成位圖后,根據(jù)坐標(biāo)去獲取RGB值撑柔。但特征點(diǎn)不多的話瘸爽,直接在CPU中利用公式計(jì)算一下不就行了嗎?不過(guò)也許Metal有更強(qiáng)大的方法铅忿。)

2 . ARKit中怎么做虛擬環(huán)境剪决?

答:利用Cube背景。
(這個(gè)在VR中用的比較多辆沦,就是用一個(gè)貼滿背景的立方體包裹住攝像機(jī)所在的空間昼捍,網(wǎng)上的資料較多。)

3 . ARKit的如何模擬光源的肢扯?為什么不產(chǎn)生陰影妒茬。

答:ARKit通過(guò)圖像的環(huán)境來(lái)設(shè)置模型的環(huán)境光強(qiáng)度,而環(huán)境光是不產(chǎn)生陰影的蔚晨。
(我猜蘋(píng)果應(yīng)該是通過(guò)像素值來(lái)確定環(huán)境光的乍钻,如果用高級(jí)一點(diǎn)的方法完全可以添加直射光肛循。光照有許多模型,只有帶方向的光才會(huì)產(chǎn)生陰影银择,如果想用ARKit做出陰影多糠,可以看我的回答。)

4 . AVFoudation與ARSession之間的切換會(huì)有問(wèn)題嗎浩考?

答: ARSession底層也是用AVFoudation的夹孔,如果重新打開(kāi)ARKit,只需要重新 run 一下 ARSession 可以了析孽,但切換時(shí)會(huì)有卡頓搭伤。
(我自己試了一下,切換時(shí)確實(shí)有輕微的卡頓袜瞬,切換后ARSession就停止攝像頭采集了怜俐,但3D渲染會(huì)繼續(xù),只是喪失了空間定位與檢測(cè)識(shí)別的能力邓尤。)

5 . ARKit是否支持前置攝像頭拍鲤?

答:不支持。ARKit并不是一個(gè)用于前置攝像頭環(huán)境的技術(shù)汞扎,因?yàn)榭臻g有限季稳,能提供的信息也非常有限。
(這個(gè)問(wèn)題是很多參會(huì)者關(guān)心的問(wèn)題佩捞,但 ARKit 團(tuán)隊(duì)似乎不是很 care 绞幌,說(shuō)到底還是因?yàn)榍爸脭z像頭的場(chǎng)景中,用戶很少會(huì)移動(dòng)一忱,畫(huà)面中一般大部分都是人臉莲蜘,這樣 ARKit 的定位與檢測(cè)能力無(wú)法很好使用。建議由類似需求的同學(xué)好好梳理帘营,是不是想要的是3D渲染而不是AR票渠。

6 . ARKit的最大應(yīng)用范圍是多少?

答:100米是 ARKit 在保持較好用戶體驗(yàn)的最大測(cè)量距離芬迄。
(這個(gè)其實(shí)我有點(diǎn)沒(méi)太聽(tīng)清问顷,實(shí)際數(shù)字應(yīng)該是100米以上)

7 . ARKit如何做marker?

答:ARKit不會(huì)提供這樣的能力禀梳,如果想實(shí)現(xiàn)的杜窄,可以用 ARKit 提供的特征點(diǎn)來(lái)跑自己的計(jì)算機(jī)視覺(jué)。
(熟悉計(jì)算機(jī)視覺(jué)的同學(xué)應(yīng)該都明白算途,其實(shí)marker就是一種簡(jiǎn)單的圖像識(shí)別塞耕,如果 ARKit 提供的特征點(diǎn)可靠的話,完全可以自己做特征匹配∽烊浚現(xiàn)場(chǎng)問(wèn)了蘋(píng)果工程師扫外,他們的特征點(diǎn)是什么特征莉钙,他們不愿回答,不過(guò)看使用場(chǎng)景的話筛谚,應(yīng)該是一種邊緣敏感的低維特征磁玉,應(yīng)該類似 PCA + SURF)。

8 . ARKit合適支持A8驾讲?性能如何蚊伞?

答:支持A8處理器并不在計(jì)劃中(這里指的是空間定位能力,A8只支持空間方向追蹤)蝎毡,ARKit 的大部分計(jì)算都是在CPU上處理的厚柳,在A8處理器上的性能損耗在 15% ~ 25%, 在A9處理器上的性能損耗在 10% ~ 15%。
(看他們的意思沐兵,大量的計(jì)算,在A8上應(yīng)該是比較低效的便监,解釋了為什么A8上的追蹤能力是閹割版的扎谎。性能應(yīng)該說(shuō)還不錯(cuò),與游戲類似)

9 . 如何追蹤實(shí)際的物體烧董?

答:可以在已識(shí)別的物體位置上毁靶,添加一個(gè)node, 這樣就能在之后的處理中一直保持這個(gè)物體的追蹤。
(這次的wrokShop逊移,蘋(píng)果大量提到他們的特征點(diǎn)预吆,如果他們真的足夠重視的話,應(yīng)該開(kāi)放特征檢測(cè)的過(guò)程與特征向量胳泉,希望后期能夠開(kāi)放吧)

10 . 如何連接兩個(gè)不同 ARKit 世界拐叉?

答:ARKit沒(méi)有計(jì)劃支持這些,比較 tricky 的做法是將兩個(gè)手機(jī)緊挨著啟動(dòng)ARKit扇商。
(這個(gè)也是很多參會(huì)者關(guān)注的問(wèn)題凤瘦,相信不少人已經(jīng)有了自己的解決方案,這里我后期會(huì)出一篇文章講解案铺。)

AR相關(guān)

渲染

AR說(shuō)到底還是一種游戲技術(shù)蔬芥,AR提供了定位、檢測(cè)平面的功能控汉,這些功能并沒(méi)有暴露出來(lái)供我們自定義笔诵,那么只能在渲染方面做出差異。
目前ARKit支持的3D渲染引擎姑子,有sceneKit乎婿,Unity3D,UE壁酬。后兩者都是成熟的游戲引擎次酌,能夠提供完整的游戲功能恨课,但沒(méi)有我們沒(méi)有使用,主要因?yàn)椋?/p>

  1. 上手較慢岳服,iOS11 9月中旬就要發(fā)布了剂公,時(shí)間緊促。
  2. 接入U(xiǎn)nity3D會(huì)給安裝包造成很大壓力吊宋,成本大約10M纲辽。

最終決定還是用sceneKit,主要出于一下考慮:

  1. ARKit目前對(duì)Unity3D璃搜,UE的支持沒(méi)有sceneKit好拖吼。
  2. sceneKit用OC寫(xiě),可以O(shè)CS这吻。
  3. sceneKit是系統(tǒng)動(dòng)態(tài)庫(kù)吊档,對(duì)安裝包壓力不大。
  4. sceneKit雖然能力弱唾糯,但是對(duì)于AR來(lái)說(shuō)足夠了怠硼,AR畢竟打造不了復(fù)雜的游戲。

坐標(biāo)系

ARKit和OpenGL一樣移怯,使用右手坐標(biāo)系, 這個(gè)新建一個(gè)camera就可以看出來(lái)香璃。


camera -w500

定位

將模型加載到空間中,需要6個(gè)自由度(6DOF)的信息來(lái)指定模型的表現(xiàn):


6DOF

分別是沿三個(gè)坐標(biāo)軸的平移與旋轉(zhuǎn)舟误。
可以使用旋轉(zhuǎn)矩陣葡秒、歐拉角、四元數(shù)來(lái)定義空間旋轉(zhuǎn)嵌溢,ARKit的這三種方式均有運(yùn)用眯牧。

  • 旋轉(zhuǎn)矩陣

這個(gè)好理解,使用旋轉(zhuǎn)的變換矩陣即可堵腹,維度4*4炸站,定義一次旋轉(zhuǎn)需要16個(gè)數(shù)。

  • 歐拉角

把空間旋轉(zhuǎn)分解成繞三個(gè)局部坐標(biāo)軸的平面旋轉(zhuǎn)疚顷,分別是pitch(俯仰角旱易,繞x軸),yaw(偏航角腿堤,繞y軸)阀坏,roll(翻滾角,繞z軸)笆檀,然后以一定順序做旋轉(zhuǎn)(sceneKit中是 roll -> yew -> pitch)忌堂,歐拉角是使用三個(gè) 3*3 矩陣連乘實(shí)現(xiàn),而且存在萬(wàn)向鎖的問(wèn)題酗洒。


rotation matirx

當(dāng)pitch為90°時(shí)士修,pitch與yew的旋轉(zhuǎn)軸重合了枷遂,這時(shí)飛機(jī)喪失了一個(gè)旋轉(zhuǎn)的維度。


eulars1 angle
eulars2 angle
  • 四元數(shù)

將三維空間的旋轉(zhuǎn)表示成四維空間的超球面上位移, 概念有點(diǎn)復(fù)雜棋嘲。簡(jiǎn)單來(lái)說(shuō)酒唉,我們只需要旋轉(zhuǎn)軸 \overrightarrow{u}= (x, y, z) ,和角度 ?? 來(lái)構(gòu)造一個(gè)單位四元數(shù) q:

quaternion

那么旋轉(zhuǎn)可以定位為:

quaternion result

對(duì)任何需要旋轉(zhuǎn)的點(diǎn) ,將它擴(kuò)展成一個(gè)純四元數(shù) ,代入上面的公式沸移,就可以得到旋轉(zhuǎn)后的點(diǎn)痪伦。

追蹤

visual-inertial odometry :基于視覺(jué)和慣性的測(cè)量方法,慣性數(shù)據(jù)是指角速度和加速度雹锣,這些都由Core Motion提供网沾,加上圖像特征,能夠更準(zhǔn)確地建立SLAM系統(tǒng)蕊爵。ARKit會(huì)將提取到的特征點(diǎn)映射的空間中辉哥,也就是說(shuō)特征點(diǎn)是由三維坐標(biāo)的,我們可以利用特征點(diǎn)來(lái)確定圖像中物體的遠(yuǎn)近攒射。實(shí)測(cè)效果不錯(cuò)证薇,誤差在分米以內(nèi)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末匆篓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子寇窑,更是在濱河造成了極大的恐慌鸦概,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甩骏,死亡現(xiàn)場(chǎng)離奇詭異窗市,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)饮笛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)咨察,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人福青,你說(shuō)我怎么就攤上這事摄狱。” “怎么了无午?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵媒役,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我宪迟,道長(zhǎng)酣衷,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任次泽,我火速辦了婚禮穿仪,結(jié)果婚禮上席爽,老公的妹妹穿的比我還像新娘。我一直安慰自己啊片,他們只是感情好只锻,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著钠龙,像睡著了一般炬藤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碴里,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天沈矿,我揣著相機(jī)與錄音,去河邊找鬼咬腋。 笑死羹膳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的根竿。 我是一名探鬼主播陵像,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼寇壳!你這毒婦竟也來(lái)了醒颖?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤壳炎,失蹤者是張志新(化名)和其女友劉穎泞歉,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體匿辩,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腰耙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铲球。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挺庞。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖稼病,靈堂內(nèi)的尸體忽然破棺而出选侨,到底是詐尸還是另有隱情,我是刑警寧澤溯饵,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布侵俗,位于F島的核電站,受9級(jí)特大地震影響丰刊,放射性物質(zhì)發(fā)生泄漏隘谣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望寻歧。 院中可真熱鬧掌栅,春花似錦、人聲如沸码泛。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)噪珊。三九已至晌缘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間痢站,已是汗流浹背磷箕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阵难,地道東北人岳枷。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像呜叫,于是被迫代替她去往敵國(guó)和親空繁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

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

  • ARkit Introducing ARKit iOS 11引入ARKit朱庆,這是 個(gè)全新的框架盛泡,允許開(kāi)發(fā)者輕松地為...
    坤哥愛(ài)卿閱讀 1,330評(píng)論 0 1
  • ARKit ARKit框架通過(guò)集成iOS設(shè)備攝像頭和運(yùn)動(dòng)功能,在您的應(yīng)用程序或游戲中產(chǎn)生增強(qiáng)現(xiàn)實(shí)體驗(yàn)娱颊。 概述 增強(qiáng)...
    暗夜夜夜行路閱讀 5,788評(píng)論 0 17
  • Introducing ARKit iOS 11 引入 ARKit饭于,這是 個(gè)全新的框架,允許開(kāi)發(fā)者輕松地為 iP...
    沒(méi)八阿哥的程序閱讀 2,406評(píng)論 1 9
  • 匆匆地來(lái)维蒙, 匆匆地走。 甩一甩頭果覆, 除了記憶颅痊, 還有那兩個(gè)海星之語(yǔ)的, 項(xiàng)鏈局待。 站在風(fēng)景如畫(huà)的斑响, 大明湖畔。 陷入...
    凌雨星辰閱讀 247評(píng)論 0 0
  • 況且钳榨,還有一堆的“綠茶婊”舰罚、“茶米油鹽”、“紅燈綠酒”薛耻、“七年之癢”营罢、“花樣作死”、“前任回頭艸”、“加班應(yīng)酬”饲漾、...
    游走星宿閱讀 159評(píng)論 0 1