Hololens SpectatorView的应用

初始准备

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(空间定位点),点击创建,参考文章

创建资源.png

3.按下图填写信息。
新建Spatial Anchors账户.png

4.创建完成后,点击创建的资源组,选择左侧菜单栏的概述,可以查看账户ID,点击左侧菜单栏的访问密钥,可以查看主密钥。(Unity配置中需要用到)

账户ID.png
账户密钥.png

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 idAccount Key

SpectatorViewSettings.png
Hololens部分

1.打开File -> Build Settings,选择Universal Windows Platform,设置如下,点击Switch Platform。

Build Settings界面

2.选择PlayerSettings,在列表中选择Player -> Windows平台 -> XR Settings。勾选Virtual Reality Supported,在下方Virtual Reality SDKs处添加Windows Mixed Reality
XR Settings

3.打开File -> Build Settings,在Scene中添加Hololens场景,点击Build。

Scene.png

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。

Android.png

2.选择PlayerSettings,在列表中选择XR Plug-in Management -> Android平台,勾选ARCore。(若此处没有该选项,打开Window -> Package Manager下载AR Core

ARCore设置.png

3.打开File -> Build Settings,在Scene中添加Hololens场景和Android场景,Android场景的序号为0,Hololens场景序号为1,点击Build后通过adb命令将apk安装到Android手机上。

AndroidScene.png

连接测试

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)即可。

修改代码.png

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


error3.png

解决办法:在Visual Studio Installer处安装英语语言包。

3.Unity中关于AR Kit的错误提示。

解决办法:在Package Manager里更新AR Kit的版本,可能是版本过旧导致。

4.Unity中关于QRCode的错误提示。

QRcode.png

解决办法:查找官方文档可知,在指定路径缺少QRCode.dll文件,找到文件,复制到官方指定路径。

官方有关QR Code的说明

找到的缺失的文件
将文件复制到指定位置

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 TemplateCustom 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'
}
}
}

拓展(其他第三人称视角方式)

两台Hololens,参考文章1参考文章2

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,692评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,482评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,995评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,223评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,245评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,208评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,091评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,929评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,346评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,570评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,739评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,437评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,037评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,677评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,833评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,760评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,647评论 2 354

推荐阅读更多精彩内容