将坦克大战带入现实,Unity AR项目开发详解

火遍全球的Pokémon Go让玩家们体验了一把增强现实(AR)的魅力,得益于AR技术,大家可以拿上手机走进街头巷尾,搜寻神奇宝贝的踪迹,体验虚拟与现实结合的奇妙。因为来自东方的神秘力量,天朝小伙伴们可能没法玩到这款大热AR游戏,但今天这篇Unity教程,将告诉你如何使用Unity自己创造出一款AR坦克大战游戏,让你周围的环境瞬间在5分钟内变成坦克战场,现在就打开Unity跟我们一同完成这场开发“闪电战”吧!

请注意,本文需要您具备基本的Unity知识,了解Unity脚本、组件、检视窗口、层级窗口等内容。
登录Unity官方中文论坛获得本文所需资源:
http://forum.china.unity3d.com/thread-25713-1-1.html

构建场景

在Unity中新建场景,删除Dirctional Light组件。然后将Project > Prefabs下的Sandbox对象拖拽至层级窗口,Sandbox对象本身带有光照组件。确保在检视窗口中将Sanbox > Ground > GroundPlane的Layer设置为Ground。

将坦克大战带入现实,Unity AR项目开发详解

依次点击Window > Lighting > Settings打开光照设置界面,取消勾选实时GI、烘焙GI以及Auto Generate。

将坦克大战带入现实,Unity AR项目开发详解

在Edit > Project Settings > Quality中将Shadow Distance设为300,以便沙盘阴影更加明显。

将坦克大战带入现实,Unity AR项目开发详解

加入AR

从Vuforia官网下载最新的vufoia-unity-6-2-10.unitypackage插件并导入项目,将Vuforia > Prefabs文件夹下的ARCamera预制件拖拽至层级视图,点击设置在Vuforia官网申请的License Key。如果不了解此处的步骤,请查阅《5分钟使用Unity制作AR应用》。

将坦克大战带入现实,Unity AR项目开发详解

将Vuforia > Prefabs文件夹下的ImageTarget预制件拖拽至层级窗口,添加图像识别目标。将在Vuforia官网创建的目标数据库下载后导入Unity,在检视窗口中设置该ImageTarget的数据库。

将坦克大战带入现实,Unity AR项目开发详解

再次打开ARCamera的配置,勾选Load Database与Active,以加载数据库文件。

将坦克大战带入现实,Unity AR项目开发详解

将场景中的Sandbox拖拽至ImageTarget下方成为其子对象,将Sandbox稍微向上移动,位于ImageTarget上方。选中Sandbox后将其设为静态对象,打开Window > Navigation > Bake, 将Agent Radius的值设为1.4,将Max Slope设为20,以避免角落部分生成Navmesh,设置完毕后点击Bake烘焙网格。

将坦克大战带入现实,Unity AR项目开发详解

添加菜单

在层级窗口新建GameObject命名为Placement Manager,将Prefabs > VFX文件夹下的Arrows预制件拖拽至其下方作为子对象,将Scripts文件夹下的PlacementManager脚本绑定到Placement Manager游戏对象。该脚本用于将玩家在菜单选中的可放置对象摆放到沙盘。将脚本的Main Camera属性设为ARCamera下的相机,What is Ground属性设为Ground,Sandbox设为层级窗口的Sandbox。

将坦克大战带入现实,Unity AR项目开发详解

将Prefabs > UI文件夹下的HUD拖拽至层级窗口,选中子对象Left Column 与Right Colum下方的所有图片,在检视窗口中为所有图片添加Selection Image脚本,然后单独为各脚本的Selectable Prefab属性设置对应的预制件。

将坦克大战带入现实,Unity AR项目开发详解

添加多个目标识别

可以在场景中添加多个ImageTarget来实现多目标识别,再次拖拽ImageTarget预制件至层级窗口,为其设置数据库文件,并选择其它的识别图像。根据需求设置识别图像的宽高,这里均为75。

将坦克大战带入现实,Unity AR项目开发详解

为新的ImageTarget添加新的目标对象,根据需求设置目标对象的缩放。这里选择将Building1拖拽至新ImageTarget下方。打开ARCamera配置文件,将Max Simultaneous Trakced Images属性设为2,并将World Center Mode改为SPECIFIC_TARGET。这样就可以同时追踪2个识别图像。

将坦克大战带入现实,Unity AR项目开发详解

到此为止5分钟的坦克AR项目就完成了,让我们看看效果,来一场现实版的坦克大战吧!

结语

使用Unity与Vuforia SDK开发AR应用并不复杂,即便从未接触过的初学者也能在短时间内快速上手,大家可以访问Unity官方中文社区(unitychina.cn)获取坦克AR项目资源,自己动手实现掌中坦克。

同学们如果想掌握更多Unity开发AR内容的知识与技巧,通过更系统的学习变身Unity技术达人,创造出梦想中的游戏,请关注“技术闪耀未来-Unity全球技术校园行”

“技术闪耀未来-Unity全球技术校园行”- Unity Plus加强版开学季专属优惠(优惠期9月1日-9月30日):
1, 特惠价格139元/月订阅价
2, 免费获得Unity认证开发者课程(访问权截止到12月31日)
3, 免费获得1款资源工具包:VR、2D、艺术设计和移动平台(4选1)

点击此链接,完成订阅购买:https://store.unity.com/cn/offer/unity-essentials-education-packs?login=1链接内容