目录
- 配置开发环境
- 配置Hololens2
- 配置Vuforia与Unity
- 测试Image Targets
配置开发环境
- Windows 10系统;
- 安装Windows 10 SDK (10.0.18362.0);
- 安装Visual Studio 2019 (16.2 或更高版本);
注意:先安装win 10 SDK,路径名尽量短,再安装VS 2019,不然会有路径报错问题: “IOException: Win32 IO returned 234”,路径名过长所导致。如果已有路径报错问题,可以把报错的winmd文件删除;如果还不行,卸载VS和win10 sdk再按序重装吧。 - 安装Unity Hub;
- 用Unity Hub安装最新的2018.4 LTS版本:
- 创建一个新工程,将Unity切换到Universal Windows Platform:
注意:在Windows上工作时,有 255 个字符的MAX_PATH限制。 如果任何文件路径的长度超出 255 个字符,则Unity受这些限制影响,可能无法编译。 因此,强烈建议将Unity项目存储在尽可能靠近驱动器根目录的位置。点这里看官网清单。
配置Hololens2
- 根据向导初次设定设备;
- 在Hololens2中,进入设置->更新和安全->开发者选项,打开以下功能:
- 使用开发人员功能
- 启用设备门户
- 将Hololens2和PC连到同一个Wifi中,进入设置->网络和Internet->高级选项,查看IPv4地址;
- 在PC端浏览器中输入上面得到的IPv4地址,打开Windows Device Portal;
- 如果提示连接不安全,先通过“高级”选项进去再说;
- 如果是第一次连接,则需要设定pin和密码;
- 进入Preferences,下载证书(certificate)并安装到“受信任的根证书颁发机构”中,重启浏览器:
- 注意:如果想要在PC上使用Hololens2的投屏功能,请先检查“连接”功能是否奏效:
配置Vuforia与Unity
- 注册Vuforia账号;
- 到Vuforia License Manager新建一个测试账户:
- 到Vuforia Target Manager添加一个DataBase,Type选"Device":
- 点击进入新建的DataBase,点击"Add Target",上传用于Image Target测试的图片:
注意:图片要求:①格式为**.jpg或.png**;②文件大小最多2 mb;③图片位深度需要是16或24位。其他星级评定可以看这篇粗略的翻译:Vuforia最佳实践:设计和开发基于图像的目标识别(Image-Based Targets)。 - 下载Vuforia Engine 9.0并安装到Unity 2018.4安装路径下(unity.exe所在文件夹的上一级):
安装路径可以到Unity Hub的设置里找:
注意:Unity Asset Store的Vuforia Sample和Unity通过Package Manager下载的Vuforia Engine(9.0以下版本)可能会有脚本冲突。
注意:如果想要升级Vuforia Engine,选择了第一个“Add Vuforia Engine to a Unity Project or upgrade to the latest version”,下载导入Unity之后,点击Upgrade:
导致manifest.json报错:
请根据路径打开manifest.json,删除红框部分:
回到Unity,重新import之后会再问你一遍是否升级,这时候要选Cancel:
然后删除刚刚升级包导入的文件夹/文件:
重新下载VuforiaSupprotInstaller,覆盖安装。
这个问题可能是翻墙软件导致的,试过改系统变量、重装Unity等方法依然不行,各位有什么好方法可以交流交流
- 下载HoloLens sample并导入到Unity中:
- 在Unity内配置MRTK:
注意:如果打开MSBuild导致Visual Studio编译的时候报错,那就不要开;官网都建议你不要开:
- 检查Player Settings的XR Settings:
注意:如果打开Remoting Support导致Visual Studio远程编译的时候报错,那就不要开。 - 检查Player Settings的Publishing Settings以下Capabilities是否打开:
- InternetClinet
- WebCam
- MicroPhone
- SpatialPerception
- 打开Window下的Vuforia Configuration,填写App License Key:
- 准备摄像头(没有可以跳过),还是在Vuforia Configuration里,检查摄像头是否加载正确:
测试Image Targets
- 按住ctrl键,拖拽SampleResources->Scenes下的2-ImageTargets到新文件夹,用拷贝的新场景进行测试:
- 关于Demo自带的ImageTarget Object:
- 使用自己的DataBase:
注意:如果Database抽风了,自己的找不到了,可以从Vuforia的Target Manager下载:
下载之后解压,将.dat文件和.xml文件放到StreamingAssets/Vuforia文件夹下:
此时material是空的,对应到Play场景里就是透明的,影响不大; - 打印测试用的图,在PDF里:
- Play,用摄像头测试;
注意:使用Holographic Emulation是不能用Hololens2直接进行AR识别的(至少我是这样),所以需要用摄像头代替Hololens2上的相机。没有摄像头得出包测试,很麻烦。 - 出包设置:
- 只保留当前场景:
- 打开Build Window:
- 设置Appx Build Options(虽然设置了Platform Toolset为v141,不过不知为何,在VS打开工程依然是v142):
- 设置Deploy Options,由于我的PC没法在Unity里通过Wifi连接Hololens2(但是可以通过浏览器登陆Windows Device Portal),所以这里的Target Type用Local:
- 打包:
- 打包完成后用VS打开:
- 如果提示没有v142生成工具:
- 右击项目,进入属性:
- 将平台工具集改成"V141",点击应用:
- 重定向项目:
- 打包到Hololens2:
注意:如果VS部署一直提示连接失败,请确定USB连接正常 ,Hololens2处于运行状态。
注意:如果没有提示输入PIN建立连接,请到Hololens2的开发人员选项中删除匹配,重新进行配对。
注意:如果选用的模式和Unity中MRKT的Build Options设置不同,可能会导致无法连接Hololens2。请关闭VS,删除工程所在文件夹(默认路径是Builds/WSAPlayer)重新Build,再尝试出包。
注意:如果出包成功之后再次出包时,VS提示连接失败,请拔插type-C线或删除工程所在文件夹后重试。
注意:如果选用Debug模式编译,对性能会有所影响(特别是有高模动画的情况)。
现在还在研究Model Target,点赞大于50就更~