Unity AR

1. Vuforia 网站操作

1.1 注册网站

点击链接并打开如下网页 vuforia 开发网页,需要先注册使用!

1.2 下载SDK

登录后下载SDK for unity (该SDK在unity 资源商店也有下载 vuforia asset in unity

1.3 生成License

点击右上角的My Accounts, 在网页 Plan&Licenses 页面获取一个License,点击 “Generate Basic License” 链接

  • 新建一个License

        输入License名字,例如 “ARTest”,再点击 “Confirm”按键 (如果有报错说名字已经存在,可以更改别的名字)

  • 新建的License显示在列表

查看License内容

点击上面列表中的license名字 “ARTest”,查看内容,下面箭头中的license key内容可以先复制再粘贴到一个新建的记事本(windows自带的记事本程序)中,保存并取名位 “license.txt” (也可以是别的名字)

1.4 生成Database

点击下方的“Target Manager”,在新打开的页面中点击 “Generate Database”按键开始新建一个数据库

  • 设置数据库名称

        输入一个名称,例如“ARLesson”, 然后点击 “Create” 按键

  • 设置数据库

        “ARLesson”将显示在 Database 列表,点击该行,在新的页面点击“Add Target”开始设置数据库内容

  • 添加图片到数据库中

选择“Image”,点击“Browse”按键,选择一张图片Fissurejpg,例如下图(可点击下载),“Width”栏输入图像宽度,如使用下图宽度,输入“0.07”,在“Name”栏自动输入图像文件名字,可更改,最后点击“Add”按键完成

下载另外1张图片astronautjpg

  • 下载数据库

        点击“Download Database(All)”下载该数据库

  • 下载数据-2

        在弹出的窗口中选择 “UnityEditor”,继续点击“Download”,系统会生成一个unity package文件,名称为“ARLesson.unitypackage”,下载到硬盘

1.5 总结

  1. vuforia 引擎 for unity, 例如: add-vuforia-package-10-27-3.unitypackage 文件
  2. 保存license的文本文件,例如名称为 license.txt
  3. target数据库的unity文件,例如名称为 ARLesson.unitypackage (在下述unity操作中没有使用,如果是用编程的方法,该数据库可以使用)

2. Vuforia 在 unity 操作

  • 新建1个unity的3D项目

打开Unity Hub, 点击新建一个unity 项目; 选择 3D,取名为“VuforiaDemo”或其他名称

2.1 添加资源包

  • 导入Vuforia

当3D unity空项目建成后,点击菜单 Assets > Import Package > Cutom Package, 在弹出的文件管理器中找到上述下载vuforia安装包,名称为:add-vuforia-package-10-27-3.unitypackage

导入过程中如果提示要 Update,则点击 Update 按键;导入完成后,在项目Packages新增 Vuforia Engine AR

2.2 添加AR Cemera

  • 在场景中创建AR Cemera

在Hierarchy窗口中点击鼠标右键,在弹出菜单中选择Vuforia Engine ->AR Camera , 如果弹出对话框显示:“In order to use Vuforia, you need to agree to the terms below.。。。。”,点击 “Accept”按键。

  • 删除原有的Main Camera;

2.3 配置Vuforia Engine

点击AR Camera,在右侧的“Inspector”窗口中点击“Open Vuforia Engine configuration”

2.3.1 添加license

参见上述1.3中内容,打开license.txt,拷贝粘贴license内容到 App License Key 右边的输入框中

2.4 设置图像

  • 添加图像目标

在Hierarchy窗口中点击鼠标右键,在弹出菜单中选择Vuforia Engine ->Image Target

  • 新建图片纹理

在Project 窗口中 Assets 目录下新建一个目录 “Textures”,然后将上述下载的两个图片拷贝到该目录下,如下图所示:

设置图像目标

点击Hirarchy串口中“ImageTarget”,然后选择 Project窗口中 Textures中的图像,拖拽到右边的 Image右边窗口,这样建立了图像marker。

在上图右边 Type 的选项有From Image、From Database,也可以尝试使用 From Database,选择默认的database,下述图像中的图片已经在默认database中,不需要再拖拽选择图片了。

2.5 添加3D模型库

  • 导入character模型

点击本文置顶的资源 “CharactorPackfreesample2024”文件或者在 unity asset store收索 “character pack: free sample”,导入模型

  • 添加人物模型到场景

导入资源文件后,在 Project 窗口中,Assets > SupercyanCharacterPack > Profabs >Base> Mobile窗口中,将 Mobile_FreeSample_male_1模型拖拽到左侧 Hirarchy窗口中的 ImageTarget 的子游戏对象,如图所示:

为了更好的显示人物,可以将人物的大小Scale 从 1 改为 0.3 (在上图右侧的框中修改);

2.6 测试AR显示静态模型

点击运行,将图片在电脑摄像头前展示,(可能要等待一会), 3D人物将会显示在图片上

tips:

场景中调整AR Camera位置和角度可以更好的看到人物和图片;

2.7 添加有动画的模型

  • 在Hirarchy窗口删除原先添加的静态3D人物模型
  • 在Project窗口的Assets > SupercyanCharacterPack > Profabs >SimplementMovement > Mobile窗口中,将 Mobile_FreeSample_male_1_SimpleMovement 模型拖拽到左侧 Hirarchy窗口中的 ImageTarget 的子游戏对象,如图所示

  • 点击该新加的游戏物体,在右侧Inspector窗口中,将人物的大小Scale 从 1 改为 0.3 ,Rigidbody 属性中 User Gravity 勾选去掉,下方 Simple Sample charactor Control 脚本中的 Move Speed 改为 0.1 或其他小于1的数值;
  • 点击窗口左上方菜单 Window> Animation > Animator 打开Animator 窗口,点击窗口中Parameters 项,显示了该动画的状态机,共有5 种动作,如下图所示:

2.8 测试AR显示动画模型

  • 点击运行,将图片在电脑摄像头前展示,3D人物将会显示在图片上(初始的人物形态与 2.6 中静态模型类似)

此时可以用鼠标点击上图中的动画参数,例如,点击 Pickup 变得选项,可以看到人物模型展示了 pickup动画,可以点击其他参数选项,查看其他人物动画。

2.9 其他

可以尝试再添加image target 实现不同模型的转换

可以尝试在同一个AR场景中对多个Image Targets的显示模型

3. 参考

Getting Started with Vuforia Engine in Unity | Vuforia Library

https://www.bilibili.com/video/BV1cz4y1B7S1?p=1

猜你喜欢

转载自blog.csdn.net/m0_66358314/article/details/136100546