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 总结
- vuforia 引擎 for unity, 例如: add-vuforia-package-10-27-3.unitypackage 文件
- 保存license的文本文件,例如名称为 license.txt
- 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