Unity開發教程:如何使用ARKit為iOS開發AR應用
蘋果ARKit在今年的WWDC開發者大會上亮相,Unity也在第一時間添加了對ARKit的支持。今天這篇文章將為大家介紹如何利用Unity與ARKit來為iOS設備創建AR應用,僅通過Prefab資源及相關參數設置,不需要另外編寫任何代碼即可實現。
本教程會將虛擬的教堂模型呈現在現實世界,最終效果如下:
AR應用
開發者可以在Unity官方中文社區下載示例工程文件。
準備工作
本教程將介紹使用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項目,隨意命名為您喜歡的名字。
Unity ARKit
2、導入ARKit插件將下載的ARKit插件導入Unity工程,雙擊.unitypackage文件打開,點擊Import按鈕導入即可。另外,也可以點擊菜單項Assets > Import Package > Custom Package…在文件瀏覽器中選擇下載的插件,然后導入項目。
Unity ARKit
3、導入模型到場景先在項目窗口中找到“UnityARShadows”場景,雙擊打開該場景。
Unity ARKit
然后依次點擊菜單項Windows – Asset Store訪問Unity資源商店,其中包含大量免費的3D模型資源。本例中選擇Church 3D模型文件,下載該資源并導入項目。
蘋果ARKit開發
4、設置場景在Unity編輯器中設置“UnityARShadows”場景,刪除層級窗口的RandomCube、HitPlayer、PointCloudExample及PointCloudParticleExample對象。
ARKit開發實例
選中項目窗口中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字段。
ARKit開發教程
5、設置相機與場景將“CameraParent”預制件的坐標、旋轉及縮放屬性分別設為如下:
Position: X=-5, Y=2, Z=-3
Rotation: X=0, Y=90, Z=0
Scale: X=1, Y=1, Z=1
現在相機正面朝向教堂模型,可以根據實際效果調整燈光。效果如下:
ARKit開發實例
點擊運行測試場景,效果如下:
ARKit開發測試場景
6、構建并發布依次點擊菜單項File – Save Scene保存前面編輯的場景。然后進行構建設置,步驟如下:
點擊File – Build Settings打開構建設置,將目標平臺切換至iOS;
點擊“Add Open Scene”將當前打開的場景構建到最終應用中;
點擊Player Settings設置包名(Build Identifier),并在Camera Usage Description中加入“camera use”;
點擊“Build”按鈕構建Xcode工程,Unity編輯器會要求指定工程目錄與名稱。
AR應用開發過程
用Xcode打開剛才構建的工程,設置真機開發所需的開發者證書,確保將iPhone或iPad設備連接到電腦,然后點擊運行按鈕將應用安裝到真機。最后運行效果如下:
AR應用測試
今天的教程就為大家分享到這里,當然,ARKit還有更強大的功能等待大家去發現,歡迎大家在本文基礎上繼續探索,利用Unity引擎挖掘出ARKit更大的潛力。