增强现实(Argumented Reality (AR))是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息(视觉信息,声音,味道,触觉等),通过电脑等科学技术,模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验。
混合现实(Mixed reality (MR)) 有时被称为超现实(hybrid reality),是真实和虚拟世界的合并,产生新的可视化环境,物理和数字对象实时共存且在其中交互。混合现实不仅发生在物理世界或虚拟世界中,而是融合了现实和虚拟现实,通过身临其境的技术包含增强现实和增强虚拟。
1、 图片识别与建模
2、 虚拟按键小游戏
成功注册登陆后可以进入证书激活界面,证书命名随意
确认后会成功返回一个证书密钥,单机可以粘贴密钥
接下来点击Target Manager创建一个目标数据库
为创建好的数据库添加一个特定的识别目标,我此处选择的是一个图片对象
添加完成后查看图片特征信息提取结果
接下来从官网下载生成的数据包,在unity项目中导入
在Unity打开Build Settings,打开player settings,对XR Settings进行配置
导入下载的databases
接下来删去原来的Main Camera,新建一个AR Camera
接下来将注册好的License Key和数据库进行导入
接下来创建一个Image Target,配置之前导入的database
接下来在Image target下挂载一个要识别的Object,此处挂载了一个正方体对象,直接运行
为Image Target添加一个虚拟按键,调整虚拟按钮的大小和位置后效果如下
我此处实现了一个点击虚拟按钮可以改变物体颜色的功能,代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using Vuforia;
public class ChangeColor : MonoBehaviour, IVirtualButtonEventHandler
{
public int index;
public GameObject cube;
public GameObject btn;
public Color[] colors = {Color.blue, Color.red, Color.green, Color.black};
void Start() {
VirtualButtonBehaviour[] vbs = GetComponentsInChildren();
for (int i = 0; i < vbs.Length; i++) {
vbs[i].RegisterEventHandler(this);
}
index = 0;
}
public void OnButtonPressed(VirtualButtonBehaviour vb) {
index++;
btn.GetComponent().material.color = Color.red;
cube.GetComponent().material.color = colors[index%4];
}
public void OnButtonReleased(VirtualButtonBehaviour vb) {
btn.GetComponent().material.color = Color.white;
}
}
运行效果如下
项目见github