与Vuforia引擎和模型目标建立统一
在Unity中设置Vuforia引擎
创建一个新的Unity项目。 有关支持的Unity Editor版本,请参见 支持的版本。 将Vuforia引擎包添加到Unity项目中,如中所述 这篇文章 . 将默认主摄像头替换为 ARCamer(阿卡姆) 来自的 游戏对象->Vuforia引擎->AR摄像头 . 获取项目的许可证密钥。 请参阅 Vuforia许可证管理器 有关如何获取Vuforia引擎许可证密钥的指南。 注: 默认情况下启用设备跟踪。 建议使用 设备跟踪 具有模型目标。
将模型目标添加到场景中
选择 游戏对象->Vuforia引擎->模型目标 。如果未检测到模型目标数据库,则可以添加默认模型目标数据库(由NASA维京登陆车组成,具有两个引导视图(前视图和后视图)。 如果生成了自己的模型目标,请通过选择导入数据库 资产 ->导入包->自定义包… 并选择 .单元包装 文件。
配置模型目标
在模型目标的Inspector窗口中,验证 实际长度 , 物理宽度, 和 实际身高 字段与真实对象的尺寸匹配,单位为米。 已知物理对象和模型目标之间的大小差异会影响跟踪质量。 如果您正在使用大型真实世界对象的微型版本进行开发,则在发布生产应用程序时,需要更改尺寸以匹配真实世界对象。 有关缩放模型目标的详细信息,请参见 缩放模型目标的最佳实践 和 统一虚拟场景比例因子 .
将立方体或其他内容作为子对象添加到模型目标游戏对象。 提示: 您可以通过Vuforia Core Samples包导入Viking Lander或玩具车的内容。 使用测试模型目标 《团结》中的Vuforia游戏模式 按Unity中的Play按钮。 或者,将应用程序部署到您的设备。
跟踪模型目标的配置
网格和目标表示
The
设置参数 运行时遮挡网格 添加遮挡其他游戏对象的运行时网格。 设置参数 运行时网格碰撞器 使用网格碰撞器添加运行时网格,以进行光线投射和碰撞检测。
为模型目标配置辅助视图
在中选择GuideView2D和GuideView3D 指南视图模式 。顾名思义,导向视图可以是2D纹理或3D模型。 从下拉列表中选择指南视图 指南视图 。在运行时,使用 指南视图2D 模式启用时,将在屏幕上呈现对象的轮廓表示–这是 指南视图 。当检测到匹配对象时,它会消失。 覆盖检测位置 创建一个名为 检测位置控制 在世界空间中替换“Guide View”的检测位置。 重新定位 检测位置控制 借助场景中摄影机组件的预览窗口更新导向视图、其跟踪启动以及运行时渲染的预览图像。 自定义二维辅助线视图图像 用于将导向视图替换为纹理2D格式的自定义图像。 同样 自定义3D GuideView模型 允许您使用自定义三维模型作为导向视图。
指南视图模式
The
无指南视图 不会在屏幕上呈现指南视图。 使用此模式添加您自己的应用程序逻辑以显示目标检测。 指南视图2D 渲染预先配置的指南视图。 指南视图3D 用于HoloLens或Magic Leap应用程序,用于渲染物体和检测位置的3D模型表示。
在导向视图之间手动切换
//要激活的索引必须介于0和mModelTarget之间。 获取指南视图()-1 var guideViewIndexToActivate=0; mModelTarget。 设置活动指南视图索引(指南视图索引激活); /*或者,将指南视图设置为按字符串名称激活*/ 字符串guideViewNameToActivate=“前”; mModelTarget。 设置活动指南视图名称(要激活的指南视图名称); /*然后,您应该设置引导视图显示模式*/ mModelTarget。 GuideViewMode=模型目标行为。 指南视图显示模式。 GuideView2D;
高级模型目标数据库的配置
转到 游戏对象->Vuforia引擎->模型目标->模型目标 创建 建模目标游戏对象 在你的场景中。 在场景层次窗口中选择新创建的游戏对象。 在 检查员 窗口中,选择 数据库 下拉菜单并选择导入的Advanced Model Target数据库。 如果在一个数据库中使用多个模型,则可以在 模型目标。 在向模型添加内容时在模型之间切换。 请记住,所有内容都必须 ModelTarget游戏对象的子对象。
if(mModelTargetBehaviour.TargetStatus.StatusInfo==StatusInfo.INITIALIZING) { //场景中的所有模型目标都正在初始化,请在此处显示自定义UI }