开始AR之旅:用Vuforia和Unity建立一个AR示例Unity3D教程手册(chenj_freedom译) · 2016-06-13 21:55 跟随我用Vuforia和Unity建立一个AR示例。并且这一切都是免费的。 这是最后的结果: 第一步是在Vuforia中注册账号。一旦你有了Vuforia的开发者账号,你就可以获取它的SDK,这个SDK有许多版本包,但是我们只使用Unity的版本包。在我们使用Unity前还有一些步骤。 *为你的APP增加一个许可证。目标设备设定为手机。 *复制许可证。当我们设置摄像机时需要这个许可证。 创建一个空的Unity项目并导入Vuforia SDK包。这个SDK包不包含任何demo或者案例(案例是包含在其他的包中)。现在我们有一个默认的空场景,你的项目视图窗口将会展示出SDK中的所有文件。
现在是时候往场景中添加东西了(还不是熊)。我将使用SDK中的摄像机预设代替场景中的默认摄像机。 *从hierarchy视图中移除MainCamera *把ARCamera增加到你的场景中。完整路径是Assets/Vuforia/Prefabs/ARCamera。 保存你的场景,并为你的场景起一个有意义的名字,我使用KarhuDemo这个名字。现在场景还是光秃秃的。你还记得当你在Vuforia开发者入口创建APP时获得的许可证号码吗?OK,现在是使用它的时候了。返回到你的场景并在hierarchy视图中选中ARCamera,在inspector视图中你将看到一块可输入你的许可证号码的区域。到此为止,你可以为你所完成的鼓励下自己了。 我感觉一个APP的许可证设置在摄像机中是有点违背直觉的。一个自定义的资源可能会更方便吧,但是Vuforia的伙伴们那样做应该有他们的道理吧。 大部分基础的AR应用打印图像的原理都是或多或少地使用了目标点,也叫做特征点。为了展示所有的东西都可以真正地工作,我将使用一个经常出现在我的桌子上的啤酒杯垫作为我的AR目标。这张图片不需要一个超级特殊的品质或者其他什么特殊要求,手机的一个快照(我们是否还叫这些东西为手机?)就可以了。 带着硬盘中的这个图片文件,我们需要再次返回Vuforia开发者页面,这一次选择Target Manager标签。 *增加一个新的数据库,命名为KarhuDB。
*增加单个图像目标,用上面的杯垫图片。设置宽度为1,这不是图像的宽度,而是目标对象在Unity场景空间的尺寸宽度。 现在目标长久地存入了数据库。这个数据集是一个方便的Unity包文件。保存在你的硬盘中的某个地方。返回到Unity界面,并像其他自定义资源包一样用import或者双击的方式把上面的数据集加入到你的Unity项目中。 *把ImageTarget预设拖动到场景的hierarchy视图上。你将看到场景中出现一个奇特的白色方形图案。 *重命名这个对象为BearTarget。 现在我们要对刚刚添加到场景中的对象进行设置。 *选择包含你的目标图片的数据集 *为ImageTarget设置正常的图像。
我们需要指定在场景中摄像机要搜索的数据集。越多的数据集意味着越多的处理和更差的性能。我们将在场景中仅仅使用一个数据集,但是可能在一个场景中用很多目标做一些测试(可能在以后的某一天吧)。 *在Hierarchy视图中选中ARCamera *载入正确的数据集 *检查激活。 到目前为止,我们有了一个摄像机可以识别的目标,但是这不是非常酷。为了增加趣味性,当摄像机开始跟踪目标(当目标被识别)会出现一个我新增的模型。 *增加一个角色预设,并把它作为BearTarget的子对象好了。ImageTarget预设包含了几个脚本(TurnOffBehavior和DefaultTrackableEventHandler),这些脚本会是的你附加在目标上的网格失效,并使得当目标一旦被发现,就激活它的网格。 你不要再进行其他设置了。仅仅需要编译你的项目,在你的设备上运行它,欣赏效果吧。你也可以使用一个网络摄像头并运行你的项目在编辑器中。Unity编辑器默认在我的笔记本电脑上使用网络摄像头工作。 蛮牛社区(manew.com)分享最新的游戏研发和虚拟现实相关技术内容。 Unity3D教程手册(unitymanual)
|
|