使用ARKit為iOS開發AR應用
ARKit在今年的WWDC開發者大會上亮相,Unity也在第一時間添加了對ARKit的支持。今天這篇文章將為大家介紹如何利用Unity與ARKit來為iOS設備創建AR應用,僅通過Prefab資源及相關參數設置,不需要另外編寫任何代碼即可實現。
本教程會將虛擬的教堂模型呈現在現實世界,最終效果如下:
準備工作
本教程將介紹使用Unity引擎與Apple ARKit來為iPhone或iPad設備製作一款AR應用,在現實世界中顯示虛擬模型,並可對模型進行移動、旋轉及縮放操作。該教程非常簡單,對於從未接觸過Unity及毫無編程經驗的小夥伴們同樣適用。
想為iOS系統開發應用,需要具備一台搭載Mac OS系統的電腦,以及下載資源所需的Apple開發者賬號。其它硬體與軟體需求如下:
Unity引擎(需要使用Unity 5.6.1p1或更新版本);
Unity ARKit插件;
Xcode 9測試版;
macOS High Sierra 10.13測試版;
搭載iOS 11測試版與A9或A10處理器的Apple設備。
實現步驟
下面為大家介紹使用Unity與ARKit開發iOS平台AR應用的各個步驟。
1
設置Unity項目
在安裝好所有需要的軟體並準備好硬體設備後,打開Unity編輯器新建3D項目,隨意命名為您喜歡的名字。
2
導入ARKit插件
將下載的ARKit插件導入Unity工程,雙擊.unitypackage文件打開,點擊Import按鈕導入即可。另外,也可以點擊菜單項Assets > Import Package > Custom Package…在文件瀏覽器中選擇下載的插件,然後導入項目。
3
導入模型到場景
先在項目窗口中找到「UnityARShadows」場景,雙擊打開該場景。
然後依次點擊菜單項Windows – Asset Store訪問Unity資源商店,其中包含大量免費的3D模型資源。本例中選擇Church 3D模型文件,下載該資源並導入項目。
4
設置場景
在Unity編輯器中設置「UnityARShadows」場景,刪除層級窗口的RandomCube、HitPlayer、PointCloudExample及PointCloudParticleExample對象。
選中項目窗口中Church3D – Prefabs文件夾下的「Church」預製件拖拽至場景中,讓其作為「HitCubeParent」的子對象。設置Church對象的坐標、旋轉及縮放屬性如下:
Position: X=0, Y=0, Z=0
Rotation: X=0, Y=0, Z=0
Scale: X=1, Y=1, Z=1
將「UnityARGeneratePlane.cs」腳本綁定到「Church」對象,然後將「HitCubeParent」對象賦給腳本的Plane Prefab欄位。
5
設置相機與場景
將「CameraParent」預製件的坐標、旋轉及縮放屬性分別設為如下:
Position: X=-5, Y=2, Z=-3
Rotation: X=0, Y=90, Z=0
Scale: X=1, Y=1, Z=1
現在相機正面朝向教堂模型,可以根據實際效果調整燈光。效果如下:
點擊運行測試場景,效果如下:
6
構建並發布
依次點擊菜單項File – Save Scene保存前面編輯的場景。然後進行構建設置,步驟如下:
點擊File – Build Settings打開構建設置,將目標平台切換至iOS;
點擊「Add Open Scene」將當前打開的場景構建到最終應用中;
點擊Player Settings設置包名(Build Identifier),並在Camera Usage Description中加入「camera use」;
點擊「Build」按鈕構建Xcode工程,Unity編輯器會要求指定工程目錄與名稱。
用Xcode打開剛才構建的工程,設置真機開發所需的開發者證書,確保將iPhone或iPad設備連接到電腦,然後點擊運行按鈕將應用安裝到真機。最後運行效果如下:
更多Unity教程


※從《鬧鬧天宮》看MOBA遊戲里的網路同步技術
※巧用Shader,遊戲玩法新思路
TAG:Unity官方平台 |
※Unity推出MARS項目用於改進AR開發
※Magic Leap One開發NAB專屬AR應用程序
※Atlus的新遊戲《PROJECT Re FANTASY》看起來開發很順利
※AMD加持,用Mac做VR開發,蘋果MacOS開始支持eGPU
※Discuz API JSON 適用於IOS及Android移動端開發
※谷歌推出WebXR 開發人員現可用API為Chrome瀏覽器添加 AR功能
※MRTK是一款面向WMR、HoloLens開發的MR開源工具
※OPPO AR開發平台:ARunit 正式開啟
※Unity展示了MARS工具,為開發更強大的AR應用程序
※SuperSU開發者宣布:將停止開發所有ROOT應用
※使用C#開發Android應用之WebApp
※Cell:開發出基於CRISPR的方法研究lncRNA的功能
※MyBatis開發DAO的方式
※蘋果與台積電合作開發MicroLED 將用於Apple Watch和AR
※HTC邀請第三方開發者為Vive Pro研發AR SDK
※ESP32 開發板正式通過 Amazon FreeRTOS 的驗證
※SE正開發面向Switch和PS4的ARPG
※IBM和Unity聯手 VR/AR遊戲開發新增AI功能
※Pokémon GO開發商將收購AR公司Escher
※MagicLeap與NBA合作開發AR應用 並展示機器實物