ARKit學(xué)習(xí)-3

轉(zhuǎn)載請注明出處

ARSession類

  • 這是一個單例, 是 ARKit 的核心類,用于控制設(shè)備攝像頭,處理傳感器數(shù)據(jù),對捕獲的圖像進(jìn)行分析等等

Overview

  • 對ARSession的簡單介紹,不做翻譯, An ARSession object coordinates the major processes that ARKit performs on your behalf to create an augmented reality experience. These processes include reading data from the device's motion sensing hardware, controlling the device's built-in camera, and performing image analysis on captured camera images. The session synthesizes all of these results to establish a correspondence between the real-world space the device inhabits and a virtual space where you model AR content.
  • 每一個使用ARKit創(chuàng)建的AR工程必須要有一個ARSession單例對象. 如果你使用ARSCNView或者ARSKView來更容易的創(chuàng)建AR工程的一部分, 這個View已經(jīng)包含了一個ARSession實(shí)例. 如果你使用自己編寫的渲染器來渲染AR內(nèi)容, 你必須實(shí)例化和持有一個ARSession對象
  • 運(yùn)行一個會話必須要有相關(guān)配置: 可以實(shí)例化 ARSessionConfiguration或者它的子類ARWorldTrackingSessionConfiguration, 這些類確定, 相對于現(xiàn)實(shí)世界, ARKit跟蹤設(shè)備的位置和運(yùn)動,從而影響您可以創(chuàng)建的基于"增強(qiáng)現(xiàn)實(shí)”技術(shù)的類型

Topics

-配置和運(yùn)行Session

//run方法的聲明:
//開始為session在指定的配置和選項(xiàng)下處理AR
//configuration 一個對象,定義了會話的運(yùn)動和現(xiàn)場跟蹤行為
//ARSession.RunOptions 這是一個結(jié)構(gòu)體, 所以當(dāng)使用系統(tǒng)默認(rèn)的時候可以寫個[], 當(dāng)你改變它的配置的時候, 這個選項(xiàng)會影響怎么過渡一個AR會話的狀態(tài)
func run(_ configuration: ARSessionConfiguration,  options: ARSession.RunOptions = [])

//pause方法的聲明:
func pause()

//代理
//代理方法可以實(shí)現(xiàn)接收視頻幀圖像捕獲和跟蹤狀態(tài)的AR會話
//里面幾個方法都是可選
var delegate: ARSessionDelegate?

//代理隊(duì)列, 如果沒有設(shè)置的話, 默認(rèn) 主隊(duì)列
var delegateQueue: DispatchQueue?

//實(shí)現(xiàn)里面的方法可以對AR會話的狀態(tài)進(jìn)行改變
protocol ARSessionObserver
-顯示和影響AR內(nèi)容
var currentFrame: ARFrame?

func add(anchor: ARAnchor)

func remove(anchor: ARAnchor)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容