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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android显示3d模型_使用Unity AR Foundation在增强现实中查看模型

發(fā)布時(shí)間:2025/3/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android显示3d模型_使用Unity AR Foundation在增强现实中查看模型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文將分享麻省理工學(xué)院的教程-使用Unity AR Foundation在增強(qiáng)現(xiàn)實(shí)中查看模型。

在本教程中,我們將介紹如何把3D模型導(dǎo)入U(xiǎn)nity,并使用Android設(shè)備或iOS設(shè)備在AR中查看模型的步驟。

過去,我們往往使用Vuforia增強(qiáng)現(xiàn)實(shí)系統(tǒng)來實(shí)現(xiàn)此目的,但現(xiàn)在Android和iOS都默認(rèn)支持圖像跟蹤功能,因此我們不再需要使用第三方工具包了。

Unity支持Android的ARCore和iOS的ARKit,但是還有一個(gè)更好的選擇:AR Foundation。

AR Foundation是一款跨平臺(tái)開發(fā)套件,支持Android和iOS的系統(tǒng)。AR Foundation可以幫助我們更輕松開發(fā)在不同設(shè)備上使用的應(yīng)用。但在部署應(yīng)用到iOS或Android設(shè)備之前,我們?nèi)孕枰瓿梢恍╊~外步驟。

通過學(xué)習(xí)本教程,我們將學(xué)習(xí)在增強(qiáng)現(xiàn)實(shí)中放置模型的兩種設(shè)置:圖像跟蹤和平面跟蹤。

圖像跟蹤允許我們指定放置模型的目標(biāo)圖像。我們將打印出目標(biāo)圖像,應(yīng)用程序?qū)⒉檎液头胖媚P偷皆搱D像上。

圖像跟蹤模式

平面跟蹤模式下,我們將模型放置到現(xiàn)實(shí)平面中。我們可以在該模式下縮放和旋轉(zhuǎn)模型。

平面跟蹤模式

學(xué)習(xí)準(zhǔn)備

首先,我們必須安裝必要的軟件及工具。

1、請下載并安裝Unity Hub,此時(shí)會(huì)需要?jiǎng)?chuàng)建Unity用戶賬號。

2、啟動(dòng)Unity Hub,依次點(diǎn)擊Install > Add,從列表選擇Unity 2019.1.7f1版本。請不要安裝結(jié)尾帶有“a”或“b”的預(yù)覽版本,因?yàn)槲覀儫o法確保它們的兼容性。

3、在安裝界面勾選Android Build Support或iOS Build Support

對于Android系統(tǒng),要點(diǎn)開Android Build Support旁邊的小箭頭,勾選Android SDK and NDK Tools選項(xiàng),這樣可以跳過下一步。

4、Android系統(tǒng)的可選步驟:下載并安裝Android Studio。如有必要,我們會(huì)使用Android Studio下載最新版Android SDK。

我們建議使用Unity安裝Android SDK和NDK,過程將更簡單。安裝Android Studio可以在電腦上提供Android開發(fā)環(huán)境,方便實(shí)現(xiàn)高級用例。

下載Android Studio:

https://developer.android.com/studio

5、對于iOS系統(tǒng),請?jiān)L問App?Store下載最新版XCode

設(shè)置Unity項(xiàng)目

本教程將使用Unity AR Foundation示例項(xiàng)目中的兩個(gè)示例場景。使用模板可以簡化編輯操作,從而快速在場景放置和查看模型。

1、我們訪問GitHub下載模版文件,下載完成后進(jìn)行解壓。

下載模版文件:

https://github.com/virtualxdesign/artemplate

2、啟動(dòng)Unity Hub,點(diǎn)擊“Projects > ADD”選擇解壓的文件夾位置,將項(xiàng)目添加到Projects列表。在下拉菜單選擇Unity版本,然后雙擊打開項(xiàng)目

請注意,建議電腦安裝的Unity版本和項(xiàng)目模版中使用版本一致,即Unity 2019.1.7f1。如果沒有Unity 2019.1.7f1的版本,我們將在項(xiàng)目下方看到橙色的感嘆號符號,只要使用的是更新的版本,所有功能都會(huì)正常工作。

為項(xiàng)目選擇正確的Unity版本,打開項(xiàng)目

3、現(xiàn)在項(xiàng)目窗口打開了,項(xiàng)目中的AR Foundation應(yīng)該已經(jīng)是啟用狀態(tài),如果沒有啟用的話,我們可以手動(dòng)啟用?

請點(diǎn)擊“Window > Package Manager”,打開資源包管理器窗口。該窗口顯示Unity項(xiàng)目的所有可用擴(kuò)展資源包。我們將看到AR Foundation、ARCore XR Plugin、ARKit Face Tracking和ARKit XR插件已經(jīng)安裝。

這些資源包名稱旁邊可能會(huì)有一個(gè)向下的箭頭,表示有更新的版本可以使用,但請不要進(jìn)行更新。如果已經(jīng)有下面版本號的資源包,表示所有內(nèi)容都已設(shè)置完成。

如果這些資源包沒有安裝好,請單擊選擇這些資源包,并從下拉列表選擇以下版本,然后單擊進(jìn)行安裝。

  • AR?Foundation -> preview.3 - 2.1.0

  • ARCore XR Plugin -> preview.5 - 2.1.0

  • ARKit XR Plugin -> preview.5 - 2.1.0

  • ARKit Face Tracking -> preview.6 - 1.0.0

打開?Package Manager,確保已安裝需要的資源包

4、將構(gòu)建目標(biāo)切換為Android或iOS。選擇“File > Build Settings”,我們將為構(gòu)建版本選擇正確的環(huán)境。

從左側(cè)列表中,選擇Android或iOS,此時(shí)可以在底部看到“Switch Platform”按鈕,單擊該按鈕。轉(zhuǎn)換項(xiàng)目到對應(yīng)平臺(tái)需要一些時(shí)間,此時(shí)不要關(guān)閉該窗口。

單擊左下角的“Player Settings”,將打開帶有平臺(tái)專用設(shè)置的窗口。模板應(yīng)該已經(jīng)有正確的設(shè)置,但我們?nèi)砸淖冺?xiàng)目的資源包名稱。

選擇目標(biāo)平臺(tái),然后單擊“Switch Platform”,最后單擊左下角的“Player Settings”

5、在Player Settings中,找到Identification部分。?我們可以修改資源包名稱,名稱的格式應(yīng)該為“com.packagename.projectname”,

例如:模板設(shè)置的名稱為com.virtualxdesign.artemplate,將其修改為com.virtualxdesign.yourprojectname,這將讓應(yīng)用擁有唯一的標(biāo)識(shí)符。

修改資源包名稱為com.virtualxdesign.yourproject

現(xiàn)在查看Unity項(xiàng)目文件。在打開場景時(shí),如下圖所示。

左側(cè)是層級窗口,我們將使用該窗口把模型放置到場景中。我們可以把對象放到其它對象之中,當(dāng)對象中包含子對象時(shí),對象名稱旁邊會(huì)出現(xiàn)一個(gè)小箭頭。

中間的視圖是3D場景視圖,我們可以在這個(gè)窗口中選擇、移動(dòng)、旋轉(zhuǎn)和縮放對象。在圖像跟蹤示例中,我們不會(huì)使用該窗口。

右側(cè)是檢視窗口,我們可以在此查看和編輯游戲?qū)ο蟮募?xì)節(jié)。底部是項(xiàng)目窗口目錄,這里列出了所有項(xiàng)目文件,我們會(huì)把模型文件放置到此處。

6、打開圖像跟蹤示例。在項(xiàng)目窗口中,打開“Scenes/ImageTracking/ImageTracking.Unity”。我們可以在該場景放置模型到目標(biāo)圖像上,例如:放到明信片或海報(bào)上。

我們使用默認(rèn)設(shè)置在該場景測試了我們的設(shè)置內(nèi)容。你不必修改任何內(nèi)容,我們會(huì)構(gòu)建應(yīng)用,然后傳輸?shù)皆O(shè)備,查看應(yīng)用是否可以運(yùn)行。此時(shí),除了平臺(tái)專用部分,所有內(nèi)容都應(yīng)該準(zhǔn)備就緒。

下面,我們將介紹在Android設(shè)備和iOS設(shè)備上運(yùn)行的準(zhǔn)備步驟,請根據(jù)自己的設(shè)備執(zhí)行相應(yīng)的步驟。

構(gòu)建過程(iOS)

為iOS系統(tǒng)構(gòu)建Unity項(xiàng)目會(huì)有一些略微復(fù)雜的步驟,請參考Unity官方教程《構(gòu)建為在iOS設(shè)備上進(jìn)行測試的Unity項(xiàng)目》學(xué)習(xí)在iOS中構(gòu)建和測試你的應(yīng)用。

閱讀Unity官方教程《構(gòu)建為在iOS設(shè)備上進(jìn)行測試的Unity項(xiàng)目》:

https://learn.unity.com/tutorial/building-for-mobile#

我們需要準(zhǔn)備的內(nèi)容:

  • 安裝iOS 11或更高版本系統(tǒng)的iOS設(shè)備

  • 最新版XCode

  • Apple賬號

溫馨提示:由于本文教程使用了示例應(yīng)用及模版,所以請忽略Unity官方教程中“Setting up the Simple Mobile Placeholder project”和“Preparing your Unity project for building to iOS”兩部分的內(nèi)容。

按照官方教程完成設(shè)置后,應(yīng)用將會(huì)成功安裝到設(shè)備上。啟動(dòng)應(yīng)用,將攝像頭對準(zhǔn)“ImageTracking>Images”目錄下的圖像,我們將會(huì)看到,模板里的模型城堡出現(xiàn)在圖像上。

我們可以從“Scenes/PlaneTracking.Unity”中打開平面跟蹤示例項(xiàng)目,構(gòu)建并運(yùn)行該項(xiàng)目。當(dāng)運(yùn)行應(yīng)用時(shí),我們圍繞水平面移動(dòng)攝像頭,此時(shí)將出現(xiàn)一個(gè)網(wǎng)格。?在網(wǎng)格上單擊,模型會(huì)出現(xiàn)在網(wǎng)格上。我們可以使用滑塊對模型進(jìn)行移動(dòng),縮放和旋轉(zhuǎn)。

構(gòu)建過程(Android)

面向Android系統(tǒng)構(gòu)建項(xiàng)目時(shí),我們需要的Android設(shè)備至少要安裝Android 7.0版本。

1、請?jiān)贏ndroid設(shè)備上啟用開發(fā)者模式

在設(shè)備上打開“Settings> About Phone”(設(shè)置 > 關(guān)于手機(jī)),找到“Build Number”(版本號)。點(diǎn)按7次版本號,將提示已經(jīng)進(jìn)入開發(fā)者模式,這樣我們可以在手機(jī)上啟用“Developer Options”(開發(fā)者選項(xiàng))。

2、啟用開發(fā)人員模式后,我們轉(zhuǎn)到點(diǎn)擊“Settings > System > Advanced > Developer Options“(設(shè)置 > 系統(tǒng) > 高級?> 開發(fā)者選項(xiàng)),訪問“Developer Options”(開發(fā)者選項(xiàng))。根據(jù)設(shè)備不同,開發(fā)者選項(xiàng)的位置可能有所區(qū)別。如果無法找到設(shè)備的開發(fā)者選項(xiàng),請?jiān)诰W(wǎng)絡(luò)上搜索相關(guān)信息。

3、在開發(fā)者選項(xiàng)中,找到并啟用“USB Debugging”(USB調(diào)試),這將允許我們從Unity把應(yīng)用傳輸?shù)紸ndroid設(shè)備。

4、我們將Android設(shè)備連接到電腦。我們的設(shè)備應(yīng)該會(huì)提示“Trust this computer”(信任此電腦),點(diǎn)擊“Always Trust”(總是信任),然后確認(rèn)。如果不選擇信任此電腦,電腦將無法把應(yīng)用傳輸?shù)绞謾C(jī)上。

5、現(xiàn)在我們已經(jīng)準(zhǔn)備好構(gòu)建應(yīng)用。打開“Build Settings”構(gòu)建設(shè)置,找到“Run Device”設(shè)置,單擊“Refresh”按鈕。在下拉列表中,找到并選中設(shè)備名稱,這將使設(shè)備成為構(gòu)建目標(biāo)。

6、單擊“Build and Run”(生成并運(yùn)行)。Unity會(huì)請求在處理前把應(yīng)用保存在電腦上。使用默認(rèn)位置即可。命名應(yīng)用的名稱,然后保存,就開始構(gòu)建過程了。

7、現(xiàn)在應(yīng)用應(yīng)已加載到手機(jī)上并且自動(dòng)啟動(dòng)。我們把手機(jī)攝像頭對準(zhǔn)“Scenes/ImageTracking/Images”文件夾下的一幅圖像,可以看到圖像上出現(xiàn)了城堡模型。

8、我們可以從“Scenes/PlaneTracking.Unity”中打開平面跟蹤示例場景。構(gòu)建并運(yùn)行應(yīng)用。我們圍繞水平面移動(dòng)攝像頭,此時(shí)將出現(xiàn)一個(gè)網(wǎng)格。?在網(wǎng)格上單擊,模型會(huì)出現(xiàn)在網(wǎng)格上。我們可以使用滑塊對模型進(jìn)行移動(dòng),縮放和旋轉(zhuǎn)。

在啟動(dòng)應(yīng)用后,打開并設(shè)備對準(zhǔn)目標(biāo)圖像,此時(shí)城堡模型應(yīng)該會(huì)出現(xiàn)在目標(biāo)上

導(dǎo)入和準(zhǔn)備3D模型

我們可以使用攝影制圖法獲得OBJ文件或FBX文件,在導(dǎo)出模型時(shí),我們應(yīng)該把軸心點(diǎn)設(shè)為(0,0,0),把上方向設(shè)為Y軸。這樣在3D建模軟件中進(jìn)行模型準(zhǔn)備,比在之后導(dǎo)入U(xiǎn)nity再進(jìn)行設(shè)置要方便得多。如果模型的軸心點(diǎn)或朝向設(shè)置不正確,我們需要在Unity中進(jìn)行調(diào)整。

3D攝影制圖法模型有逼真的紋理和自然的環(huán)境光照。因此,我們不要對它們應(yīng)用額外的光照,而是使用Unlit材質(zhì)。請按照下列步驟,導(dǎo)入和應(yīng)用Unlit著色器。

1、我們將OBJ,MTL和JPG文件拖入U(xiǎn)nity的項(xiàng)目窗口目錄中。我們可以在3DModels文件夾下創(chuàng)建新文件夾,把模型文件放到該文件夾中。

將文件拖放到Unity項(xiàng)目窗口

2、單擊OBJ文件,在檢視窗口中,單擊“Extract Materials”(提取材質(zhì)),使用已選中的文件夾,這樣可讓Unity在同一目錄下生成可以編輯的材質(zhì)資源

3.、單擊新建的材質(zhì)資源。在檢視窗口中,單擊“Shader”下拉菜單,輸入“Unlit”,單擊選擇“Unlit (Mobile/Unlit) shader”。

4、現(xiàn)在,我們要將模型放入模板場景中。為了方便正確地放置和縮放模型,我們提供了模板預(yù)制件。

在項(xiàng)目窗口中,打開3DModels文件夾,里面一個(gè)名為TrackedModel.prefab預(yù)制件,雙擊打開該預(yù)制件。

5、TrackedModel預(yù)制件已經(jīng)放入圖像跟蹤和平面跟蹤的示例場景中。在修改該預(yù)制件時(shí),兩個(gè)示例場景都會(huì)進(jìn)行更新。因此,我們只需要把模型放到該預(yù)制件中即可。

6、把模型拖到該預(yù)制件中,請把模型添加為TrackedModel預(yù)制件的子對象

7、此時(shí),我們在同一預(yù)制件中有城堡參考模型和自己的模型。我們需要確保自己的模型有正確的位置和朝向。在放置自己的模型時(shí),請使用城堡模型作為參考。

8、我們將自己的模型放到Tracked Model預(yù)制件之下,我們可能會(huì)不小心把它錯(cuò)放到Castle子對象下。

如果發(fā)生這種情況,模型可能會(huì)使用錯(cuò)誤的縮放,位置和角度參數(shù),從而完全離開屏幕外。我們可以使用檢視窗口和3D工具來找到模型,把它移動(dòng)到原來的位置

在編輯Transform組件時(shí),請確保選中的是自己的模型,而不是TrackedModel預(yù)制件。如果移動(dòng)或縮放TrackedModel預(yù)制件會(huì)破壞示例場景。在單擊TrackedModel即根對象時(shí),我們會(huì)看到下圖上的參數(shù)。

9、移動(dòng),縮放和旋轉(zhuǎn)模型,使模型處在城堡模型中間。它們應(yīng)該在底部對齊。最后刪除城堡模型,單擊返回箭頭返回主場景。

10、我們的模型已經(jīng)準(zhǔn)備好了。現(xiàn)在可以打開示例場景,單擊“Build and Run”來體驗(yàn)自己的應(yīng)用。

使用圖像跟蹤模板

我們提供了一組圖像目標(biāo)的示例文件,你也可以創(chuàng)建和使用自己的圖像目標(biāo)。

1、找到合適的目標(biāo)圖像。通常我們應(yīng)該使用帶有鮮明特征的復(fù)雜圖像,而帶有少量或重復(fù)特征的圖像并不適合使用。

2、在項(xiàng)目窗口中,打開“Scenes/ImageTraking/Images”文件夾,把格式為.jpg或.png的目標(biāo)圖像文件拖到該目錄中。

3、單擊“ReferenceImagesLibrary.asset”,在檢視窗口中,我們會(huì)看到一組圖像添加到目標(biāo)圖像列表。該列表中的所有圖像都可以在運(yùn)行時(shí)捕捉到,在列表下單擊“Add Image”。

4、我們添加新的參考圖像,將自己的圖像拖到新的參考圖像上,它會(huì)把圖像添加到該列表中。

5、在“Specify Size”部分下,輸入目標(biāo)圖像在現(xiàn)實(shí)世界中的大小,以米為單位。

給目標(biāo)圖像列表添加新圖像

現(xiàn)在大功告成 !構(gòu)建Image Tracking示例場景時(shí),我們將看到應(yīng)用能夠識(shí)別目標(biāo)圖像,并在圖像上方放置模型,我們也可以嘗試不同的圖像和大小。

使用平面檢測模板

我們也可以使用Plane Tracking平面跟蹤示例場景。平面跟蹤示例場景擁有UI,你可以將模型放置到任何水平面上,并且使用滑塊移動(dòng),縮放和旋轉(zhuǎn)模型。

在項(xiàng)目窗口中,打開Scenes文件夾。點(diǎn)擊Plane Tracking,所有內(nèi)容應(yīng)該都已經(jīng)設(shè)置好了。根據(jù)Android設(shè)備或iOS設(shè)備特定步驟,構(gòu)建并運(yùn)行應(yīng)用。

別忘了點(diǎn)按平面來放置模型。在手機(jī)識(shí)別到平面時(shí),我們會(huì)看到平面上出現(xiàn)網(wǎng)格。我們可以把模型放到識(shí)別到的網(wǎng)格上。

小結(jié)

麻省理工學(xué)院的教程《使用Unity AR Foundation在增強(qiáng)現(xiàn)實(shí)中查看模型》為大家介紹到這里,對AR感興趣的開發(fā)者,趕緊按照教程中的內(nèi)容,動(dòng)手進(jìn)行操作吧。

下載Unity Connect APP,請點(diǎn)擊此處。?觀看部分Unity官方視頻,請關(guān)注B站帳戶:Unity官方。

你可以訪問Unity答疑專區(qū)留下你的問題,Unity社區(qū)和官方團(tuán)隊(duì)幫你解答:

Connect.unity.com/g/discussion

推薦閱讀

攝影制圖法工作流程指南

AR Foundation已支持LWRP 4.8.0-preview

Unity的移動(dòng)端AR生態(tài)系統(tǒng):AR Foundation,ARCore和ARKit

使用AR Foundation制作圣誕AR小游戲

《帕斯卡契約》2019蘋果秋季發(fā)布會(huì)大放異彩

使用Unity Accelerator加快團(tuán)隊(duì)協(xié)作開發(fā)

使用Unity開發(fā)沙盒游戲《The Serpent Rogue》

高級動(dòng)畫綁定功能:角色與物品的交互

喜歡本文,請點(diǎn)“在看”

總結(jié)

以上是生活随笔為你收集整理的android显示3d模型_使用Unity AR Foundation在增强现实中查看模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。