本文解释了如何在这两种环境中开始使用Vuforia Engine开发Windows 10团结和Visual Studio.Vuforia Engine支持在部分Intel和基于ARM的Windows 10设备(包括Microsoft Surface和HoloLens)上开发通用Windows平台(UWP)应用程序。The 引擎SDK和Vuforia样本使用C#API进行Unity开发,使用C API进行本地开发。
The Vuforia引擎支持的版本页面列出了使用Engine平台开发应用程序所支持的操作系统和工具。可以找到有关推荐设备的其他信息在这里。您也可以使用Direct3D 12可编程管道,为游戏以及科学和桌面应用程序创建实时3D图形。
有关Vuforia引擎生成的事件日志的信息,请参阅使用ETW捕获和查看事件日志文章
在Unity中为Windows 10开发
继续之前,请熟悉Unity开发Vuforia引擎入门文章。它包含有关安装Unity、在项目中激活Vuforia Engine以及访问VuforiaEngine功能的信息。
当您在Unity中构建UWP应用程序时,将生成并启动Visual Studio项目。然后,可以从VisualStudio中生成和运行项目。有关为所有UWP设备打包应用程序的信息,请参阅Windows UWP应用入门文章。
HoloLens和Core样品,可从开发人员门户或Unity资产商店,规划Vuforia Windows 10 Unity项目的结构和组织。这些示例是完整的Unity项目,包括实现Image Targets、Model Targets和VuMarks的预配置场景。
为了更好地理解如何在Unity中开发Windows 10,请从执行在Unity中使用全息透镜示例文章。
在Visual Studio中为Windows 10开发
本节介绍如何在最新支持的Visual Studio版本中为UWP设置Vuforia引擎和Vuforia引擎示例。
- 下载UWP的Vuforia引擎.
- 将Vuforia Engine for UWP解压缩到开发环境中的文件夹中。
- 下载Vuforia引擎示例对于UWP.
- 将Vuforia Engine Sample for UWP解压缩到位于Vuforian Engine for UWM文件夹中的Samples文件夹中。
- 在提取的文件夹中,打开Vuforia样品.sln在UWP子文件夹中。
示例项目在Visual Studio中加载。
构建和执行样本
- 使用“许可证”选项卡以创建许可证密钥。请参阅引擎开发人员门户许可证文章了解更多信息。
- 将许可证密钥添加到示例项目中。可以在应用程序的命名空间中定义许可证密钥。
命名空间{constexpr char licenseKey[]=“”;}
- 在解决方案平台下拉列表中,为目标设备选择正确的平台。
- 构建并运行示例。
注释:如果Visual Studio无法识别示例项目的包含路径,请执行以下步骤:
- 在解决方案资源管理器窗口中,右键单击Vuforia样本项目并选择属性。
- 展开概述菜单。
- 在包括目录字段,将路径添加到包含目录.
- 按照中的说明为所有UWP设备打包应用程序为Windows 10打包通用Windows应用程序文章。
启动Vuforia Engine Sample应用程序后,设备上会显示一个主菜单,您可以从中选择Image Targets或Model Targets功能:
您已成功使用Vuforia Engine部署了第一个应用程序!
轻触屏幕一次以触发相机对焦,或双击以返回主菜单。
修改样本
获得国家
State对象包含对所有当前观测值的引用。您可以从vuEngineAcquireLatestState获取观测值,如prepareToRender()
中的方法跨平台/应用程序控制器.cpp.
vuEngineAcquireLatestState(mEngine和mVuforiaState)
查询观察结果
您可以从每个观察者的状态中获取观察结果,可以指定这些观察者来访问姿势、类型和状态信息。
这方面的一个例子可以在带有获取图像目标结果
中的方法跨平台/应用程序控制器.cpp.
VuObservationList*observationList=nullptr;vuObservationListCreate(&observationList);if(vuStateGetImageTargetObservations(mVuforiaState,observationList)!=VU_SUCCESS){LOG(“获取图像目标观测值时出错”);REQUIRE_SUCCESS(vuObservationListDestroy(observationList));返回false;}VuPoseInfo poseInfo;vuObservationGetPoseInfo(观察,&poseInfo);VuImageTargetObservationTargetInfo图像目标信息;vuImageTargetObservationGetTargetInfo(观察,&imageTargetInfo);
故障排除
在某些情况下,当您将Visual Studio中的调试器与集成Vuforia Engine的UWP应用程序一起使用时,该应用程序可能无法运行并报告网络连接问题winrt::hr结果错误
例外。要解决此问题,请转到调试->窗口->异常设置(Mac上的断点)并清除winrt::hr结果错误
例外。这允许Vuforia引擎与附加的调试器一起正常工作。
有关常规故障排除和调试,请参阅应用程序疑难解答.
照相机
如果您无法让Vuforia Engine识别连接到Windows平板电脑或笔记本电脑的USB摄像头(摄像头背对用户),可以在Windows设置-设备管理中禁用该摄像头。它允许Vuforia Engine优先处理USB网络摄像头。
另请参见Vuforia相机桥用于将外部摄像头连接到UWP设备。