AR游戏怎么制作?

2020-07-23 09:36发布

10条回答
男孩无衣
2020-07-24 09:23

1.       概念

    AR是Augmented Reality的简称,是一种实时地计算摄像机影像位置及角度并加上相应的图像、视频、3D模型的技术。目前第三方SDK中Vuforia应用最广,所以本节课程选取Vuforia来学习AR相关技术。

2.       Vuforia识别图数据库

注册账号及AppKey

    AppKey是用于开发Vuforia应用必不可少的部分,缺少了AppKey应用将无法启动。

    要想申请AppKey,需要进入官网(developer.vuforia.com)注册账户,点击网页上方Develop按钮,在LicenseManager中点击Get Development Key

image.png

    之后输入应用名并勾选同意按钮点击确认即可创建成功。

image.png

image.png

    在Library下包含了很多有用的文章以及API链接。可以通过上面的搜索框直接搜索关键字查找自己感兴趣的内容,也可以选择搜索框下面的分类,直接查找相关的内容。

image.png

    例如搜索ImageTarget会出现如下结果,大家选择自己需要的Title进行查看。

image.png

TargetManager

    TargetManager主要用来管理识别图,提供识别图的上传,删除,下载等操作,可以在官网Develop>TargetManager中打开。

image.png

    因为所有的识别图必须存储在Database中,Database相当于识别图的集合。所以首先需要创建一个Database,点击“Add Database”按钮,会弹出下图的界面。

image.png

    填写数据库名称,选择类型,三种类型分别代表本地识别(Device)、云识别(Cloud)和VuMark,可以根据具体的需求进行选择,此处我们选择默认的Device类型。

    创建完数据库之后,点击数据库名称可以进入数据库内部,如下图所示。

image.png

    通过点击“AddTarget”弹出下面的窗口,为当前数据库添加识别图。

image.png

    共有四种类型的识别图,分别为单张识别图、立方体识别图、圆柱体识别图和物体识别。此处选择默认的SingleImage类型,下方的File中点击Browse可以浏览本地磁盘上的图片文件。Width属性代表图片的宽度(如此处输入5,表示图片导入后在Unity中占据5个单位长度),一般此属性在项目中都有规定,我们此处先填5即可。Name栏中输入识别图的名称,默认为图片本身的名称。注意同一个数据库中识别图名称不能相同,上传的识别图信息如下:

 

image.png

    点击“Add”即可将识别图添加到数据库中,如下图所示:

image.png

    通过点击“Download Database(all)”可以下载整个数据库,也可以选择某张或者某几张识别图点击“Download”下载所选识别图。在弹出的窗口中选择压缩格式,因为使用Unity开发,所以选择“Unity Editor”。

image.png

    通过点击图片名字可以查看识别图细节,其中红色部分表示当前图片的识别度(识别度越高,越好识别),绿色标记的为可针对识别图的操作。

image.png

    识别图星级:识别图在计算星级时会将图片先进行去饱和度处理,即星级的计算不会考虑颜色,只会考虑灰度值和对比。

    EditName用来修改当前识别图的名称。

    Remove可以将当前识别图从数据库中移除。

    UpdateTarget可以在保留当前图片设置的情况下更新图片的内容。

    Show Features可以显示图片的特征点。

image.png

3.       Unity中设置设置

    Unity发行版中内置了Vuforia,创建GameObject>Vuforia>ARCamera,按提示导入包即可。

    切换到Android或者iOS平台,在PlayerSettings>XR中勾选Vuforia AR Support选项。

image.png

    在GmaeObject>Vuforia>下创建对应的Prefab即可。

    Vuforia导入的unitypackage识别图不能正常显示,更改图片导入设置,如下图所示,之后点击Apply即可。

image.png

最后程序运行,将图片对准你电脑上的摄像头(没有摄像头做不了AR),扫描到指定的图像后即可出现模型

image.png


一周热门 更多>