日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Xamarin for iOS 11(一) - 初尝ARKit

發布時間:2023/12/4 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xamarin for iOS 11(一) - 初尝ARKit 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編者語:Xamarin 的兼容性是它最大的優點,對于iOS?/?Android?新的功能支持也是無縫的,做到100%兼容。Xamarin.ios?for iOS 11.0的支持已經開始,大家可以在這里下載最新的Preview支持 (https://releases.xamarin.com/preview-xcode-9-beta-4-ios-11-macos-10-13-support-preview-2/) .?iOS 11 個人覺得是一個比較大的更新,ARKit(增強現實)和CoreML(人工智能)是下一代移動平臺所必須的。而Xamarin在前兩天iOS 11 beta 4 發布后也同步更新了Xamarin.iOS ,這個新版本也正式和新的iOS 11 API 完全兼容了。(向Miguel和Xamarin團隊90度鞠躬)。今天先來看看ARKit。

? ? ? ?
? ? ? ??增強現實技術(Augmented Reality,簡稱 AR),是一種實時地計算攝影機影像的位置及角度并加上相應圖像、視頻、3D模型的技術,這種技術的目標是在屏幕上把虛擬世界套在現實世界并進行互動。AR系統具有三個突出的特點:①真實世界和虛擬的信息集成;②具有實時交互性;③是在三維尺度空間中增添定位虛擬物體。AR技術可廣泛應用于多等領域。
蘋果的ARKit利用設備攝像頭和傳感器完成增強現實的圖像渲染工作,你可以通過結合SceneKit和SpriteKit為現實場景添加3D/2D圖像。

? ? ? ?這里一個大致的ARKit 框架圖(如圖)
? ?. ??

? ? ? ?iOS是通過ARSCNView構建AR視圖,你需要設置好一些配置,例如光暗度/方位等。然后需要設置場景,根據你場景的距離和方位利用SCNScene構建3D模型。我在CSDN找到一個ARKit系列的文章很不錯如果想深入下去,建議大家看看?http://blog.csdn.net/u013263917/article/category/6959089?。

? ?我們嘗試通過Visual Studio for Mac 來嘗試構建一個簡單的ARKit應用。
? ?1. 由于暫時沒有Xcode 9 中的AR模版,我用一個Single View 做模版創建

? ??

? ?
? ?2.添加一個ARViewController,創建成功后添加ARKit和SceneKit應用, 并添加全局變量,這里就是剛才提到的ARKit所需要的視圖,會話和配置文件


  • ARSCNView?arSCNView;??

  • ARSession?arSession;??

  • ARSessionConfiguration?arSessionConfig;??

  • ? ?3.在ARViewController創建ViewWillAppear方法添加如下代碼,完成會話工作和視圖添加


  • ARWorldTrackingSessionConfiguration?config?=?new?ARWorldTrackingSessionConfiguration();??

  • config.PlaneDetection?=?ARPlaneDetection.Horizontal;??

  • arSessionConfig?=?config;??

  • arSessionConfig.LightEstimationEnabled?=?true;??

  • ??

  • arSession?=?new?ARSession();??

  • ??

  • arSCNView?=?new?ARSCNView();??

  • arSCNView.Frame?=?View.Bounds;??

  • arSCNView.Session?=?arSession;??

  • arSCNView.AutomaticallyUpdatesLighting?=?true;??

  • View.AddSubview(this.arSCNView);??

  • arSession.Run(this.arSessionConfig);??

  • ? ?4.在項目中創建一個Models.scnassets文件夾,并添加一個3D模型(建模麻煩,給大家一個網站https://www.turbosquid.com/Search/3D-Models/free)
    ? ? ?
    ? ?5.繼續在ARViewController的ViewWillAppear延續剛才代碼,添加一個3D場景

  • var?scene?=?SCNScene.FromFile("Models.scnassets/chair/chair.scn");??

  • SCNNode?node?=?scene.RootNode.ChildNodes[0];??

  • node.Position?=?new?SCNVector3(0,?-1,?-1);??

  • arSCNView.Scene.RootNode.AddNodes(node);??

  • ? ?6.在ViewController中添加Button并添加響應事件跳轉到ARViewController


  • ???partial?void?UIButton2935_TouchUpInside(UIButton?sender)??

  • ??

  • ARViewController?arViewCtrl?=?new?ARViewController();??

  • ??

  • this.PresentViewController(arViewCtrl,?true,?null);??

  • ???}??

  • ? ?7.別忘記開啟Info.plist的Camera授權
    ? ?
    ? ?8.最后就是運行了,打開按Button,一張桌子就加載進你的現實場景中了,棒極了
    ? ?? ?


    ? ?這樣我們就利用Xamarin構建了一個ARKit場景,Cool吧。
    ? ?源代碼下載?https://github.com/lokinfey/ARDemo


    原文地址:http://blog.csdn.net/kinfey/article/details/76281802


    .NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

    總結

    以上是生活随笔為你收集整理的Xamarin for iOS 11(一) - 初尝ARKit的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。