请选择 进入手机版 | 继续访问电脑版

查看: 3300|回复: 118

[原创] ChinaJoy 2017 | 使用Unity开发坦克AR详解

  [复制链接]

843

主题

1482

帖子

1万

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
19140
QQ
发表于 2017-7-29 04:25:15 | 显示全部楼层 |阅读模式
在ChinaJoy 2017的Unity展位上,5分钟使用Unity制作AR项目吸引了很多策划、美术以及从未接触过AR开发的程序员们,于现场感受了Unity结合Vuforia的开发魅力。今天这篇文章将为大家分享展位坦克AR项目的详细开发过程。

请注意,本文需要您具备基本的Unity知识,了解Unity脚本、组件、检视窗口、层级窗口等内容。
下载本文所需的资源文件(请回复本帖哦~):

游客,如果您要查看本帖隐藏内容请回复


构建场景

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

image001.png


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

image003.png


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

image005.png


加入AR

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

image007.png


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

image009.png


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

image011.png


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

image013.png


添加菜单

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

image015.png


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

image017.png


添加多个目标识别

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

image019.png


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

image021.png


到此我们为时5分钟的坦克AR项目就完成了,最后运行效果如下:


结语

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



0

主题

5

帖子

60

贡献

初级UU族—2级

Rank: 2

积分
60
发表于 2017-7-29 04:41:50 | 显示全部楼层
学习学习!

0

主题

3

帖子

30

贡献

初级UU族—1级

Rank: 1

积分
30
发表于 2017-7-29 05:07:14 | 显示全部楼层
感谢楼主分享啊。。
   

0

主题

2

帖子

20

贡献

初级UU族—1级

Rank: 1

积分
20
发表于 2017-7-29 05:28:26 | 显示全部楼层
66666666666

0

主题

7

帖子

250

贡献

初级UU族—3级

Rank: 3Rank: 3

积分
250
发表于 2017-7-29 05:28:33 | 显示全部楼层
点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞

0

主题

1

帖子

10

贡献

初级UU族—1级

Rank: 1

积分
10
发表于 2017-7-29 05:32:33 | 显示全部楼层
强强强

0

主题

3

帖子

30

贡献

初级UU族—1级

Rank: 1

积分
30
发表于 2017-7-29 07:12:49 | 显示全部楼层
为什么unity一跑就卡死了呢?

0

主题

4

帖子

90

贡献

初级UU族—2级

Rank: 2

积分
90
发表于 2017-7-29 10:06:07 | 显示全部楼层
不错不错

0

主题

3

帖子

40

贡献

初级UU族—1级

Rank: 1

积分
40
发表于 2017-7-29 10:07:58 | 显示全部楼层
学习一下

0

主题

1

帖子

15

贡献

初级UU族—1级

Rank: 1

积分
15
发表于 2017-7-29 10:10:09 | 显示全部楼层
膜拜大神,看看效果
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表