ARKit 到底怎麼實現的

2021-09-12 09:41:53 字數 1580 閱讀 1342

官方的一句話

整合ios裝置攝像頭和運動功能,在你的應用程式或遊戲中產生增強現實體驗

我寫過乙個小例項100行**實現手機ar,有興趣的可以去看看,這個demo 也是arkit 的原理介紹

arkit 重要的類介紹

arscnview

顯示3d 內容的檢視 繼承scnview ,scnview 繼承uiview,所以這個檢視可以是任何uiview的子檢視,所以你可以像使用uiview一樣使用它。你要你使用了arscnview 則要和scenekit 框架一起使用

arskview

功能和上面類似,只是它是專門顯示2d模型內容的檢視,如果你要使用它則對應使用spritekit 框架

arsession

管理裝置攝像機和運動處理的共享物件。

aranchor

表示乙個真實世界的位置和方向,可以將物理模型放置的ar場景中

arplaneanchor

在ar會話中檢測到真實世界平面的位置和方向的資訊

arframe

arcamera

arsessionconfiguration

場景配置,這種配置下,手機位置不動,旋轉手機,能夠看到,模型相對環境的角度不會改變,但是如果移動手機,模型的位置就會變化

arworldtrackingsessionconfiguration

旋轉手機或者移動手機,模型的位置和角度都不會變化

接下來演示乙個demo 給大家看看

第一步 建立乙個工程

第二步 在viewcontroller 裡面匯入兩個框架

import scenekit

import arkit

第三步 建立乙個場景顯示檢視

@iboutlet var sceneview: arscnview!
第四步 建立乙個3d 場景

let scene = scnscene(named: "art.scnassets/ship.scn")!

// 給場景顯示檢視設定場景

sceneview.scene = scene

第五步 建立場景配置

let configuration = arworldtrackingsessionconfiguration()

// run the view's session

sceneview.session.run(configuration)

MVC到底怎麼分層

出處 mvc,在程式中乙個永遠離不開的話題。由於層次架構,在程式設計之初就必須形成,對程式整體走向與把握起著十分重要的作用。然而總讓人困惑的是 mvc到底怎麼分層!那麼就先對我自己認為比較理想的分層方法說說吧,如果大家有什麼意見,歡迎多多指點。view層 ui層 介面層 1.介面中所有控制項必要的格...

到底怎麼了?

2010年過去一半了。歲月如此匆匆,每次回首,內心都惶惶,好多假象,如同肥皂泡,雖然美麗,卻轉瞬即逝,空留我悵惘。以前一直以為自己雖然不能壯如牛,但總歸還算健康。現在知道自己的身體狀況真的不如別人,中醫說我虛弱,確實如此。可是工作壓力太大,我每天熬著中藥卻不能調養。有時覺得自己傻,何必呢,當年看著錢...

SQL到底怎麼念?

sql存在了幾十年了,支撐數十億美元的市場,但還是有許多人 比如我 糾結其發音,到底是ess cue ell,還是sequel si kw l 2 外國人根本沒發過circle這個音 1 sql的出現 埃德加 科德在 1970 年推出了 一種大型共享資料庫的資料關係模型 他的這種想法非常的棒,他的兩...