初始准备
1.Visual Studio2019。
2.WIndow10 SDK(10.0.18362.0)。
3.Unity2019。
4.Git。
5.NuGet。
Git设置
1.在GItHub上新建一个存储库,并将其在本地clone下来。如何创建?
git clone https://github.com/yourname/textsv.git
2.作为子模块引入MixedReality-SpectorView。
git submodule add https://github.com/microsoft/MixedReality-SpectatorView.git sv
3.检查确认分支为master。
git branch
4.运行命令,等候时间稍长。
tools\scripts\CreateUnityPackage.bat
Azure Spatial Anchors设置
1.注册或登录Azure账户, Microsoft Azure主页。
2.点击创建资源,搜索Spatial Anchors(空间定位点),点击创建,参考文章。
3.按下图填写信息。
4.创建完成后,点击创建的资源组,选择左侧菜单栏的概述,可以查看账户ID,点击左侧菜单栏的访问密钥,可以查看主密钥。(Unity配置中需要用到)
Unity设置
1.Unity打开SpectorView文件夹下Sample文件里的SpectatorView.Example.Unity。
2.选择工具栏的Spectator View -> Edit Settings,勾选Broadcaster Settings组件下的Automatically Broadcast All Game Objects选项;添加组件Spatial Anchors Coordinate Localization Initializer;复制先前创建好的Spatial Anchors账户的账户ID和主密钥,填写下方的Account id和Account Key。
Hololens部分
1.打开File -> Build Settings,选择Universal Windows Platform,设置如下,点击Switch Platform。
2.选择PlayerSettings,在列表中选择Player -> Windows平台 -> XR Settings。勾选Virtual Reality Supported,在下方Virtual Reality SDKs处添加Windows Mixed Reality。
3.打开File -> Build Settings,在Scene中添加Hololens场景,点击Build。
Visual Studio设置
1.打开Unity打包项目。
2.调试选择Debug模式,x86架构,部署目标选择设备。
3.第一次将应用从电脑部署到Hololens时,系统会提示输入目标设备PIN,进入Hololens设置中的Update and Security找到For Developers,点击Pair,将显示的PIN输入到电脑上。
4.选择调试 -> 开始调试。
5.戴上Hololens设备,在应用中找到示例项目,打开可以看到两个立方体与一个球体。
Android部分
1.打开File -> Build Settings,选择Android,设置如下,点击Switch Platform。
2.选择PlayerSettings,在列表中选择XR Plug-in Management -> Android平台,勾选ARCore。(若此处没有该选项,打开Window -> Package Manager下载AR Core)
3.打开File -> Build Settings,在Scene中添加Hololens场景和Android场景,Android场景的序号为0,Hololens场景序号为1,点击Build后通过adb命令将apk安装到Android手机上。
连接测试
1.先用Hololens打开项目,再用手机打开项目。
2.根据手机的提示输入Hololens的IP地址。(Hololens设置 -> 网络 -> 硬件属性 -> 查看IP地址)
3.在Hololens上弹出的申请使用摄像头提示,点击确认。
4.使用Hololens扫描手机端的二维码,扫描成功后手机上便有了第三人称视角的项目。
可能会遇到的错误
1.在命令行运行“tools\scripts\CreateUnityPackage.bat”时,提示定位不到MSBuild.exe文件,但通过搜索这个文件是存在的。
Unable to locate MSBuild.exe
You can specify a -MSBuild variable specifying the path for MSBuild.exe if it isn't found at $MSBuildPath
解决办法:通过命令行报错提示的路径位置发现,默认寻找路径为Visual Studio的Enterprise版本,对“D:\Hololens\Spector\Spector\sv\tools\ci\scripts”路径下的buildNativeProjectLocal.ps1进行编辑,将路径中的Enterprise改为电脑的Visual Studio版本(Community)即可。
2.在命令行运行“tools\scripts\CreateUnityPackage.bat”时,提示如下错误:
Warning: The following VS instances are excluded because the English language pack is unavailable.
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
Please install the English language pack.
No suitable Visual Studio instances were found
解决办法:在Visual Studio Installer处安装英语语言包。
3.Unity中关于AR Kit的错误提示。
解决办法:在Package Manager里更新AR Kit的版本,可能是版本过旧导致。
4.Unity中关于QRCode的错误提示。
解决办法:查找官方文档可知,在指定路径缺少QRCode.dll文件,找到文件,复制到官方指定路径。
5.Unity中在构建安卓apk时出现的关于Gradle的错误提示。
Missing 'package' key attribute on element package at :arcore_client……。
解决办法:打开 Preferences -> External Tools 把Gradle的路径改为自己下载的Gradle路径,然后再打开Project Settings -> Player -> Android -> Publishing Settings,勾选Custom Main Gradle Template和Custom Launcher Gradle Template后,在选项下面对应的路径的地方会各生成一个文件。
分别打开两个文件,在第一行注释下添加如下代码,然后保存即可。参考文章。
buildscript {
repositories {
google()
jcenter()
}
dependencies {
// Must be Android Gradle Plugin 3.6.0 or later. For a list of
// compatible Gradle versions refer to:
// https://developer.android.com/studio/releases/gradle-plugin
classpath 'com.android.tools.build:gradle:3.6.0'
}
}
allprojects {
repositories {
google()
jcenter()
flatDir {
dirs 'libs'
}
}
}