如何用Unity制作AR程序?

Jyadmin 提交于 周六, 10/08/2022 - 13:18

?

實現功能:用手機掃描一個圖片,然后會出現一個AR物體,當然這物體是你自己設置的模型。

首先說如何制作一個AR的APP需要準備什么,easy ar這個插件,我用的版本是2.2.0的;unity我用的是unity2018.2.3的;

?

在做項目之前,要去easyar的官網注冊一個賬號,之后去開發中心,添加一個SDK的key,會自動獲取到一個sdk的license key。這個很重要,之后會用到的。

?

如何用Unity制作AR程序

?

當然這個名字是有講究的,和unity打包時候那里的公司名字一樣,如上圖中

?

用Unity制作AR應用用Unity制作AR應用

?

然后就打開untiy導入easy ar的插件進去,從prefabs里找到EasyAR_Startup和ImageTarget兩個物體然后拖進場景里。

?

同時把你要掃描的圖片放到一個名為:StreamingAssets的文件夾里,如果沒有這個文件夾就新建一個。注意:文件夾名字必須是StreamingAssets

?

我在這里放了很多圖片,本案例只用名為zl的圖片做例子,如圖:

?

用Unity制作AR應用

?

在EasyAR_Startup的屬性里把剛在官網里申請到的key復制過來,放到key的里面。如下圖:

?

用Unity制作AR應用

?

在ImageTarget的下面放一個物體(這個物體就是你掃描圖片要顯示的物體,作為ImageTarget的子物體),本案例里放了一個球體。

?

默認拖到場景里的ImageTarget在Scene里是看不到東西,我們可以給它加一個材質球,假如我這里新建的叫mat的材質球,材質球用的就是即將掃描的那張名為“zl的”圖。。。然后賦值給它,如圖:

?

用Unity制作AR應用

?

默認的ImageTarget自己帶的腳本是ImageTargetBehaviour。當我們調整ImageTargetBehaviour里的size這個參數時(例如大小設置為3),我們就會在Scene場景中看到圖片了。如圖:

?

用Unity制作AR應用

?

繼續配置ImageTargetBehaviour里的參數

?

path 需要把StreamingAssets路徑下的那張圖片的全名寫上包括圖片格式,例如本案例的zl.png

?

Name 就是該路徑下這個圖片的名字

?

Storage 選擇為Assets

?

loader這個地方去選擇場景里的EasyAR_Startup這個物體下的名為ImageTracker的子物體。

?

上述步驟,如下圖:

?

用Unity制作AR應用用Unity制作AR應用用Unity制作AR應用

?

至此所有的開發內容完成,接下來就是打包的配置了,在playersetting里面的公司名字這里寫上我們最開始在easy ar的官網設置的項目的名字。如圖:

?

用Unity制作AR應用
用Unity制作AR應用

?

之后就是普通的安卓打包過程了,這里不再贅述。然后安裝后,記得給app訪問攝像頭的權限,然后進入app用手機掃描你設定的圖片就會看到你想顯示的東西。例如案例里的掃描zl那張圖就會有一個球體出現在畫面里。

?

注意:顯示的物體不要太大而把圖片給遮擋的太多了。遮擋多了就采集不到圖片的信息了。合理調整圖片和模型的比例以及位置。