AR調研

1
. 參考網址:
1. http://www.lxweimin.com/p/c97b230fa391 // 簡介
2. http://www.lxweimin.com/p/93173062ebb4 // apple 翻譯
3. http://www.lxweimin.com/p/d4febec89180 // 模型創建
4. http://www.cgtsj.com/
5. http://www.lxweimin.com/p/f854246ec690
6. http://yiweifen.com/html/news/WaiYu/98946.html //iOS - SceneKit顯示與交互3D建模
7. AR 現狀分析: http://www.cocoachina.com/apple/20171128/21319.html

  1. demo 實例:

    1. 應用: 視+,幻視,招商銀行,掌上生活(搜索AR)

    2. demo

  2. 描述:增強現實技術(Augmented Reality,簡稱 AR),是一種實時地計算攝影機影像的位置及角度并加上相應圖像、視頻、3D模型的技術,這種技術的目標是在屏幕上把虛擬世界套在現實世界并進行互動

  3. 所謂的增強現實 (Augmented Reality, AR),指的是向設備攝像頭產生的實時動態視圖中,添加 2D 或者 3D 元素,然后用某種方法讓這些元素看起來就處于現實世界當中,所產生一種用戶體驗。ARKit 提供了設備動作追蹤、相機場景捕獲和高級場景處理,并讓 AR 元素的展示變得極為便利,從而大大簡化了建立 AR 用戶體驗的工作難度。

  4. 一個最簡單地AR場景實現所需要的技術以及步驟包含如下:

    1. 多媒體捕捉現實圖像:如攝像頭

    2. 三維建模:3D立體模型

    3. 傳感器追蹤:主要追蹤現實世界動態物體的六軸變化,這六軸分別是X、Y、Z軸位移及旋轉。其中位移三軸決定物體的方位和大小,旋轉三周決定物體顯示的區域

    4. 坐標識別及轉換:3D模型顯示在現實圖像中不是單純的frame 坐標點,,而是一個三維的矩陣坐標。這基本上也是學習AR最難的部分,好在ARKit幫助我們大大簡化了這一過程。

    5. 除此之外,AR還可以與虛擬物體進行一些交互。

    6. 開發環境介紹

    7. Xcode版本:Xcode9及以上

    8. .iOS系統:iOS11及以上

    9. iOS設備:處理器A9及以上(6S機型及以上)

    10. MacOS系統:10.12.4及以上(安裝Xcode9對Mac系統版本有要求)

  5. ARKit框架工作流程:

    1. ARSCNView加載場景SCNScene

    2. SCNScene啟動相機ARCamera開始捕捉場景

    3. 捕捉場景后ARSCNView開始將場景數據交給Session

    4. Session通過管理ARSessionConfiguration實現場景的追蹤并且返回一個ARFrame

    5. 給ARSCNView的scene添加一個子節點(3D物體模型)

    6. 8dc489a1-884d-46cb-af22-d8c0f92a1e81.png

demo 講解

  1. SCNView : 抗鋸齒:antialiasingMode

  2. SCNScene:游戲場景,游戲場景 主要是有幾何模型,燈光,相機,和其他的屬性組成,SCNScene 包含 3D場景,和場景中的內容.作用:添加各種元素到場景,讀取場景文件,講場景寫入文件......

  3. SCNNode:在SCeneKit 中節點是一個抽象概念,節點是看不見摸不著的東西,沒有幾何形狀,但是有位置,及其自身坐標.在長江中創建一個節點后,就可以在這個節點上放游戲元素了.比如任務模型,燈光,攝像機等.節點上可以添加節點

  4. SCNLight: 燈光.光源分為四種: 1. 環境光(SCNLightTypeAmbient),這種光沒有方向,位置在無窮遠處,光均勻的散射在物體上2.點光源(SCNLightTypeOmni):有固定位置,方向360度,可以衰減4. 平行方向光(SCNLightTypeDirectional):只有照射的方向,沒有位置,不會衰減 5.聚焦光源:(SNCLightTypeSpot):光有固定位置,也有方向,也有照射區域,可以衰減

  5. SCNAction: 行為動畫

    1. 移動,旋轉,縮放,透明度,隱藏或者不隱藏,等待,節點刪除
  6. SCNGeometry: SCeneKit 游戲框架中的幾何對象.將幾何對象綁定到節點上,顯示到view

    1. 系統包含的,正方體,平面(SCNPlane),金字塔,球體,圓柱體,圓錐體,管道,換面,地板(SCNFloor),立體字,自定義形狀(通過貝塞爾曲線)創建SCNShape ,然后賦值給Node 節點
  7. SCNPhysicsWorld: 物理世界對象,作用: 控制全局屬性(比如重力和其他類型的力,還有它的速度),間接修改或者注冊場景中的物理身體的連接等行為,管理物理身體的碰撞行為,執行特殊的接觸測試(如發射,掃射)

  8. 粒子系統: SceneKit 提供的粒子系統:(fire,confetti(五彩紙屑),bokeh(散景),rain(雨),Reactor(反應堆),smoke(煙),star(星))

  9. 物理行為(SCNPhysicsBehavior,抽象類,要研究他的子類): 物理行為定義: 定義一個或者多個物理組織的高級行為,行為包括連接多個物體的關節,可以讓他們一起移動,也可以定義車輪這種行為,讓身體像騎車一樣滾動.

    1. SCNPhysicsHingeJoint: 連接兩個物體,并允許他們在一個單一的軸上圍繞對方旋轉
    2. SCNPhysicsBallSocketJoint: 連接兩個物體,并允許他們在任何方向上圍繞對方旋轉
    3. SCNPhysicsSliderJoint: 連接兩個物體,并允許他們彼此之間滑動或者旋轉,滑塊關節像電機一樣工作,在兩個物體之間施加力或轉矩.
    4. SCNPhysicsVehicle: 組合物理身體成為類似汽車底盤的東西,你可以控制汽車的駕駛,剎車和加速,使用SCNPhysicsVehicleWheel 對象定義車輪的外觀和物理屬性.
  10. SCNConstraint : 約束

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • A view for displaying AR experiences that augment the cam...
    loveFBI閱讀 2,483評論 0 0
  • demo在這里: https://github.com/lijiaxiang/ARKitShare 前言 六一兒童...
    XXViper閱讀 2,203評論 2 3
  • 大家好,我是糾結丹! 又到了禮拜六,真是很棒!一個星期就上四天班讓周末都提前了。 上周姨媽君出了點問題,怕死的我趕...
    Lady_Lydia閱讀 122評論 0 0
  • 女兒今天在做數學手抄報,完成的還不錯,孩她爹作為獎勵給她做了一道她喜歡吃的菜,女兒開心我也開心。今天最讓我...
    開心生如意閱讀 171評論 0 0
  • 本篇總結了利用Camera API在Android5.0版本以下開發相機:本文參考文章http://https:/...
    可笑的人人閱讀 1,770評論 2 1