网易首页 > 网易号 > 正文 申请入驻

使用Unity AR Foundation在增强现实中查看模型

0
分享至

  本文将分享麻省理工学院的教程-使用Unity AR Foundation在增强现实中查看模型。

  在本教程中,我们将介绍如何把3D模型导入Unity,并使用Android设备或iOS设备在AR中查看模型的步骤。

  过去,我们往往使用Vuforia增强现实系统来实现此目的,但现在Android和iOS都默认支持图像跟踪功能,因此我们不再需要使用第三方工具包了。

  Unity支持Android的ARCore和iOS的ARKit,但是还有一个更好的选择:AR Foundation。

  AR Foundation是一款跨平台开发套件,支持Android和iOS的系统。AR Foundation可以帮助我们更轻松开发在不同设备上使用的应用。但在部署应用到iOS或Android设备之前,我们仍需要完成一些额外步骤。

  通过学习本教程,我们将学习在增强现实中放置模型的两种设置:图像跟踪和平面跟踪。

  图像跟踪允许我们指定放置模型的目标图像。我们将打印出目标图像,应用程序将查找和放置模型到该图像上。

  图像跟踪模式

  平面跟踪模式下,我们将模型放置到现实平面中。我们可以在该模式下缩放和旋转模型。

  平面跟踪模式

  学习准备

  首先,我们必须安装必要的软件及工具。

  1、请下载并安装Unity Hub,此时会需要创建Unity用户账号。

  2、启动Unity Hub,依次点击Install > Add,从列表选择Unity 2019.1.7f1版本。请不要安装结尾带有“a”或“b”的预览版本,因为我们无法确保它们的兼容性。

  3、在安装界面勾选Android Build Support或iOS Build Support

  对于Android系统,要点开Android Build Support旁边的小箭头,勾选Android SDK and NDK Tools选项,这样可以跳过下一步。

  4、Android系统的可选步骤:下载并安装Android Studio。如有必要,我们会使用Android Studio下载最新版Android SDK。

  我们建议使用Unity安装Android SDK和NDK,过程将更简单。安装Android Studio可以在电脑上提供Android开发环境,方便实现高级用例。

  下载Android Studio:

  https://developer.android.com/studio

  5、对于iOS系统,请访问App Store下载最新版XCode

  设置Unity项目

  本教程将使用Unity AR Foundation示例项目中的两个示例场景。使用模板可以简化编辑操作,从而快速在场景放置和查看模型。

  1、我们访问GitHub下载模版文件,下载完成后进行解压。

  下载模版文件:

  https://github.com/virtualxdesign/artemplate

  2、启动Unity Hub,点击“Projects > ADD”选择解压的文件夹位置,将项目添加到Projects列表。在下拉菜单选择Unity版本,然后双击打开项目

  请注意,建议电脑安装的Unity版本和项目模版中使用版本一致,即Unity 2019.1.7f1。如果没有Unity 2019.1.7f1的版本,我们将在项目下方看到橙色的感叹号符号,只要使用的是更新的版本,所有功能都会正常工作。

  为项目选择正确的Unity版本,打开项目

  3、现在项目窗口打开了,项目中的AR Foundation应该已经是启用状态,如果没有启用的话,我们可以手动启用

  请点击“Window > Package Manager”,打开资源包管理器窗口。该窗口显示Unity项目的所有可用扩展资源包。我们将看到AR Foundation、ARCore XR Plugin、ARKit Face Tracking和ARKit XR插件已经安装。

  这些资源包名称旁边可能会有一个向下的箭头,表示有更新的版本可以使用,但请不要进行更新。如果已经有下面版本号的资源包,表示所有内容都已设置完成。

  如果这些资源包没有安装好,请单击选择这些资源包,并从下拉列表选择以下版本,然后单击进行安装。

  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、将构建目标切换为Android或iOS。选择“File > Build Settings”,我们将为构建版本选择正确的环境。

  从左侧列表中,选择Android或iOS,此时可以在底部看到“Switch Platform”按钮,单击该按钮。转换项目到对应平台需要一些时间,此时不要关闭该窗口。

  单击左下角的“Player Settings”,将打开带有平台专用设置的窗口。模板应该已经有正确的设置,但我们仍要改变项目的资源包名称。

  选择目标平台,然后单击“Switch Platform”,最后单击左下角的“Player Settings”

  5、在Player Settings中,找到Identification部分。 我们可以修改资源包名称,名称的格式应该为“com.packagename.projectname”,

  例如:模板设置的名称为com.virtualxdesign.artemplate,将其修改为com.virtualxdesign.yourprojectname,这将让应用拥有唯一的标识符。

  修改资源包名称为com.virtualxdesign.yourproject

  现在查看Unity项目文件。在打开场景时,如下图所示。

  左侧是层级窗口,我们将使用该窗口把模型放置到场景中。我们可以把对象放到其它对象之中,当对象中包含子对象时,对象名称旁边会出现一个小箭头。

  中间的视图是3D场景视图,我们可以在这个窗口中选择、移动、旋转和缩放对象。在图像跟踪示例中,我们不会使用该窗口。

  右侧是检视窗口,我们可以在此查看和编辑游戏对象的细节。底部是项目窗口目录,这里列出了所有项目文件,我们会把模型文件放置到此处。

  6、打开图像跟踪示例。在项目窗口中,打开“Scenes/ImageTracking/ImageTracking.Unity”。我们可以在该场景放置模型到目标图像上,例如:放到明信片或海报上。

  我们使用默认设置在该场景测试了我们的设置内容。你不必修改任何内容,我们会构建应用,然后传输到设备,查看应用是否可以运行。此时,除了平台专用部分,所有内容都应该准备就绪。

  下面,我们将介绍在Android设备和iOS设备上运行的准备步骤,请根据自己的设备执行相应的步骤。

  构建过程(iOS)

  为iOS系统构建Unity项目会有一些略微复杂的步骤,请参考Unity官方教程《构建为在iOS设备上进行测试的Unity项目》学习在iOS中构建和测试你的应用。

  阅读Unity官方教程《构建为在iOS设备上进行测试的Unity项目》:

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

  我们需要准备的内容:

  安装iOS 11或更高版本系统的iOS设备

  最新版XCode

  Apple账号

  温馨提示:由于本文教程使用了示例应用及模版,所以请忽略Unity官方教程中“Setting up the Simple Mobile Placeholder project”和“Preparing your Unity project for building to iOS”两部分的内容。

  按照官方教程完成设置后,应用将会成功安装到设备上。启动应用,将摄像头对准“ImageTracking>Images”目录下的图像,我们将会看到,模板里的模型城堡出现在图像上。

  我们可以从“Scenes/PlaneTracking.Unity”中打开平面跟踪示例项目,构建并运行该项目。当运行应用时,我们围绕水平面移动摄像头,此时将出现一个网格。 在网格上单击,模型会出现在网格上。我们可以使用滑块对模型进行移动,缩放和旋转。

  构建过程(Android)

  面向Android系统构建项目时,我们需要的Android设备至少要安装Android 7.0版本。

  1、请在Android设备上启用开发者模式

  在设备上打开“Settings> About Phone”(设置 > 关于手机),找到“Build Number”(版本号)。点按7次版本号,将提示已经进入开发者模式,这样我们可以在手机上启用“Developer Options”(开发者选项)。

  2、启用开发人员模式后,我们转到点击“Settings > System > Advanced > Developer Options“(设置 > 系统 > 高级 > 开发者选项),访问“Developer Options”(开发者选项)。根据设备不同,开发者选项的位置可能有所区别。如果无法找到设备的开发者选项,请在网络上搜索相关信息。

  3、在开发者选项中,找到并启用“USB Debugging”(USB调试),这将允许我们从Unity把应用传输到Android设备。

  4、我们将Android设备连接到电脑。我们的设备应该会提示“Trust this computer”(信任此电脑),点击“Always Trust”(总是信任),然后确认。如果不选择信任此电脑,电脑将无法把应用传输到手机上。

  5、现在我们已经准备好构建应用。打开“Build Settings”构建设置,找到“Run Device”设置,单击“Refresh”按钮。在下拉列表中,找到并选中设备名称,这将使设备成为构建目标。

  6、单击“Build and Run”(生成并运行)。Unity会请求在处理前把应用保存在电脑上。使用默认位置即可。命名应用的名称,然后保存,就开始构建过程了。

  7、现在应用应已加载到手机上并且自动启动。我们把手机摄像头对准“Scenes/ImageTracking/Images”文件夹下的一幅图像,可以看到图像上出现了城堡模型。

  8、我们可以从“Scenes/PlaneTracking.Unity”中打开平面跟踪示例场景。构建并运行应用。我们围绕水平面移动摄像头,此时将出现一个网格。 在网格上单击,模型会出现在网格上。我们可以使用滑块对模型进行移动,缩放和旋转。

  在启动应用后,打开并设备对准目标图像,此时城堡模型应该会出现在目标上

  导入和准备3D模型

  我们可以使用摄影制图法获得OBJ文件或FBX文件,在导出模型时,我们应该把轴心点设为(0,0,0),把上方向设为Y轴。这样在3D建模软件中进行模型准备,比在之后导入Unity再进行设置要方便得多。如果模型的轴心点或朝向设置不正确,我们需要在Unity中进行调整。

  3D摄影制图法模型有逼真的纹理和自然的环境光照。因此,我们不要对它们应用额外的光照,而是使用Unlit材质。请按照下列步骤,导入和应用Unlit着色器。

  1、我们将OBJ,MTL和JPG文件拖入Unity的项目窗口目录中。我们可以在3DModels文件夹下创建新文件夹,把模型文件放到该文件夹中。

  将文件拖放到Unity项目窗口

  2、单击OBJ文件,在检视窗口中,单击“Extract Materials”(提取材质),使用已选中的文件夹,这样可让Unity在同一目录下生成可以编辑的材质资源

  3.、单击新建的材质资源。在检视窗口中,单击“Shader”下拉菜单,输入“Unlit”,单击选择“Unlit (Mobile/Unlit) shader”。

  4、现在,我们要将模型放入模板场景中。为了方便正确地放置和缩放模型,我们提供了模板预制件。

  在项目窗口中,打开3DModels文件夹,里面一个名为TrackedModel.prefab预制件,双击打开该预制件。

  5、TrackedModel预制件已经放入图像跟踪和平面跟踪的示例场景中。在修改该预制件时,两个示例场景都会进行更新。因此,我们只需要把模型放到该预制件中即可。

  6、把模型拖到该预制件中,请把模型添加为TrackedModel预制件的子对象

  7、此时,我们在同一预制件中有城堡参考模型和自己的模型。我们需要确保自己的模型有正确的位置和朝向。在放置自己的模型时,请使用城堡模型作为参考。

  8、我们将自己的模型放到Tracked Model预制件之下,我们可能会不小心把它错放到Castle子对象下。

  如果发生这种情况,模型可能会使用错误的缩放,位置和角度参数,从而完全离开屏幕外。我们可以使用检视窗口和3D工具来找到模型,把它移动到原来的位置

  在编辑Transform组件时,请确保选中的是自己的模型,而不是TrackedModel预制件。如果移动或缩放TrackedModel预制件会破坏示例场景。在单击TrackedModel即根对象时,我们会看到下图上的参数。

  9、移动,缩放和旋转模型,使模型处在城堡模型中间。它们应该在底部对齐。最后删除城堡模型,单击返回箭头返回主场景。

  10、我们的模型已经准备好了。现在可以打开示例场景,单击“Build and Run”来体验自己的应用。

  使用图像跟踪模板

  我们提供了一组图像目标的示例文件,你也可以创建和使用自己的图像目标。

  1、找到合适的目标图像。通常我们应该使用带有鲜明特征的复杂图像,而带有少量或重复特征的图像并不适合使用。

  2、在项目窗口中,打开“Scenes/ImageTraking/Images”文件夹,把格式为.jpg或.png的目标图像文件拖到该目录中。

  3、单击“ReferenceImagesLibrary.asset”,在检视窗口中,我们会看到一组图像添加到目标图像列表。该列表中的所有图像都可以在运行时捕捉到,在列表下单击“Add Image”。

  4、我们添加新的参考图像,将自己的图像拖到新的参考图像上,它会把图像添加到该列表中。

  5、在“Specify Size”部分下,输入目标图像在现实世界中的大小,以米为单位。

  给目标图像列表添加新图像

  现在大功告成 !构建Image Tracking示例场景时,我们将看到应用能够识别目标图像,并在图像上方放置模型,我们也可以尝试不同的图像和大小。

  使用平面检测模板

  我们也可以使用Plane Tracking平面跟踪示例场景。平面跟踪示例场景拥有UI,你可以将模型放置到任何水平面上,并且使用滑块移动,缩放和旋转模型。

  在项目窗口中,打开Scenes文件夹。点击Plane Tracking,所有内容应该都已经设置好了。根据Android设备或iOS设备特定步骤,构建并运行应用。

  别忘了点按平面来放置模型。在手机识别到平面时,我们会看到平面上出现网格。我们可以把模型放到识别到的网格上。

  小结

  麻省理工学院的教程《使用Unity AR Foundation在增强现实中查看模型》为大家介绍到这里,对AR感兴趣的开发者,赶紧按照教程中的内容,动手进行操作吧。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
特朗普连发4帖辩解对伊动武,抨击民主党和“假新闻”

特朗普连发4帖辩解对伊动武,抨击民主党和“假新闻”

界面新闻
2026-04-21 08:05:05
14年前拿U型锁砸人的蔡洋:2022年出狱,找不到工作靠打零工为生

14年前拿U型锁砸人的蔡洋:2022年出狱,找不到工作靠打零工为生

天天热点见闻
2026-04-21 05:15:28
2026年一季度消费:汽车、彩电、空调全线下跌

2026年一季度消费:汽车、彩电、空调全线下跌

风向观察
2026-04-21 09:27:07
震惊!上海成人展身着短裙丝袜女性从业者,被质问是否遭男性凝视

震惊!上海成人展身着短裙丝袜女性从业者,被质问是否遭男性凝视

火山詩话
2026-04-21 10:13:36
“找到一个媳妇算你牛”,农村家长晒7儿1女,被群嘲后看清现实

“找到一个媳妇算你牛”,农村家长晒7儿1女,被群嘲后看清现实

妍妍教育日记
2026-04-20 19:42:54
开了一年的Model Y,我把账单摊桌上,发现“省钱”这事水太深了!

开了一年的Model Y,我把账单摊桌上,发现“省钱”这事水太深了!

小李子体育
2026-04-20 18:05:08
中国禁硫酸出口,全球农业震荡,第一次看到了日本的穷

中国禁硫酸出口,全球农业震荡,第一次看到了日本的穷

月满大江流
2026-04-20 18:06:06
横城战役:歼灭美军最多的一战,尸积如山,美军不愿重提的噩梦

横城战役:歼灭美军最多的一战,尸积如山,美军不愿重提的噩梦

浩渺青史
2026-04-20 18:18:20
追梦:很希望科尔下赛季能继续执教勇士,但我认为不太可能了

追梦:很希望科尔下赛季能继续执教勇士,但我认为不太可能了

懂球帝
2026-04-21 13:00:08
湖北松滋市教育局通报“某学校要求走读生将背包改为透明书袋”:已责令涉事学校立即纠正、认真整改

湖北松滋市教育局通报“某学校要求走读生将背包改为透明书袋”:已责令涉事学校立即纠正、认真整改

环球网资讯
2026-04-21 12:17:57
失踪足足5天后,美军终于承认:价值16亿的最强无人机在中东没了

失踪足足5天后,美军终于承认:价值16亿的最强无人机在中东没了

健身狂人
2026-04-21 11:28:24
伊朗:最高领袖完全健康,出于安全考虑,目前录制穆杰塔巴的任何影像或声音均不妥当

伊朗:最高领袖完全健康,出于安全考虑,目前录制穆杰塔巴的任何影像或声音均不妥当

潇湘晨报
2026-04-20 22:40:10
美伊冲突中特朗普真实状态首次披露:抱怨焦虑、摇摆与强撑;因情绪不稳定,救飞行员时被幕僚挡战情室外,每天都会观看伊朗境内爆炸画面

美伊冲突中特朗普真实状态首次披露:抱怨焦虑、摇摆与强撑;因情绪不稳定,救飞行员时被幕僚挡战情室外,每天都会观看伊朗境内爆炸画面

极目新闻
2026-04-20 16:20:57
季后赛挑对手的下场!本以为挑到软柿子,结果现在0-2快被横扫了

季后赛挑对手的下场!本以为挑到软柿子,结果现在0-2快被横扫了

你的篮球频道
2026-04-21 10:53:16
注意!6月1日起大医院不再随意接诊,看病不按规矩可能白跑

注意!6月1日起大医院不再随意接诊,看病不按规矩可能白跑

夜深爱杂谈
2026-04-21 07:45:20
涉嫌严重违纪违法,赵峰被查

涉嫌严重违纪违法,赵峰被查

都市快报橙柿互动
2026-04-21 12:05:08
黄山市一位副乡长发了16条私信,把知名主播“磨”进大山里卖笋,知名演员邓超也来了

黄山市一位副乡长发了16条私信,把知名主播“磨”进大山里卖笋,知名演员邓超也来了

扬子晚报
2026-04-21 07:26:40
广东5岁女童吃香蕉噎死,父母向赠香蕉老人索赔73万,结果如何?

广东5岁女童吃香蕉噎死,父母向赠香蕉老人索赔73万,结果如何?

雍亲王府
2026-04-20 20:10:03
电梯安装违规操作致3人坠亡,事故调查报告公布

电梯安装违规操作致3人坠亡,事故调查报告公布

极目新闻
2026-04-21 11:25:37
马克龙:霍尔木兹海峡再被封,美伊双方都有责任

马克龙:霍尔木兹海峡再被封,美伊双方都有责任

看看新闻Knews
2026-04-21 10:52:33
2026-04-21 13:23:00
Unity incentive-icons
Unity
Unity中国官方帐户
2457文章数 6731关注度
往期回顾 全部

科技要闻

重磅官宣:库克卸任,特努斯接任苹果CEO

头条要闻

特朗普公开对伊开战真正原因:不是因为以色列

头条要闻

特朗普公开对伊开战真正原因:不是因为以色列

体育要闻

“被优化”8年后,国乒方博决定换一条路重新上场

娱乐要闻

周润发时隔16年再卖楼,变现数亿资产

财经要闻

减速机订单已排到明年!

汽车要闻

把天门山搬进厂?开仰望U8冲上45度坡的那刻 我腿软了

态度原创

家居
游戏
本地
手机
军事航空

家居要闻

诗意光影 窥见自然之境

《GTA6》被指将“毁掉”游戏界!知名记者痛心揭秘

本地新闻

春色满城关不住|白鹃梅浪漫盛放,吴山藏了一片四月雪

手机要闻

一加Ace 6至尊版手机官宣首发《逆战:未来》165帧+精致画质

军事要闻

特朗普:美舰向伊朗货船开火炸出个洞

无障碍浏览 进入关怀版