3D游戏设计HW12-AR/MR技术

1、 图片识别与建模

AR SDK下载

官网
下载结束之后将VuforiaSupportInstalller安装到Unity的根目录
3D游戏设计HW12-AR/MR技术_第1张图片

创建证书,获取License Key

3D游戏设计HW12-AR/MR技术_第2张图片

创建目标数据库

用于对所有Target及其特征数据进行管理和保存

3D游戏设计HW12-AR/MR技术_第3张图片
添加好的target,点击DownloadDatabase下载unity扩展包并导入项目

3D游戏设计HW12-AR/MR技术_第4张图片
3D游戏设计HW12-AR/MR技术_第5张图片

创建AR Camera,添加License Key

右侧create->Vuforia Engine->选择添加AR Camera
Inspector ->Open Vuforia Engine configuration->添加License Key
3D游戏设计HW12-AR/MR技术_第6张图片
这步开始的时候遇到了无法选择Open Vuforia Engine configuration
3D游戏设计HW12-AR/MR技术_第7张图片
对应解决办法:
参考链接
3D游戏设计HW12-AR/MR技术_第8张图片

添加Image Target

删除原有Main Camera,AR Camra下面添加一个Camera,下载好的小火龙模型挂载到Image Target下,并在Image Target Behaviour 添加我们刚刚下好的数据库(3D_course)
3D游戏设计HW12-AR/MR技术_第9张图片

图像识别结果

3D游戏设计HW12-AR/MR技术_第10张图片

2、 虚拟按键小游戏

增加虚拟按键

Advanced->Add Virtual Button
3D游戏设计HW12-AR/MR技术_第11张图片

创建脚本

 对IVuforiaButtonEventHandler接口进行实现,以对虚拟按钮的按下与释放事件进行监听并处理,挂载到ImageTarget下并对变量进行指定

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia;

public class VirtualButtonEventHandler : MonoBehaviour, IVirtualButtonEventHandler
{
	// virtual button
    public GameObject vb;
    //动画组件
    public Animator ani;
    void IVirtualButtonEventHandler.OnButtonPressed(VirtualButtonBehaviour vb)
    {
        ani.SetTrigger("Take Off");
        Debug.Log("按钮按下!");
    }

    void IVirtualButtonEventHandler.OnButtonReleased(VirtualButtonBehaviour vb)
    {
        ani.SetTrigger("Land");
        Debug.Log("按钮释放!");
    }

    // Start is called before the first frame update
    void Start()
    {
        VirtualButtonBehaviour vbb = vb.GetComponent();
        if(vbb)
        {
            vbb.RegisterEventHandler(this);
        }
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

将Vuforia的Virtual button预制体挂载到ImageTarget下作为子对象,同时调整至合适大小和位置。为了使虚拟按钮可见,可以在按钮下添加相应大小的平面并附着材质

3D游戏设计HW12-AR/MR技术_第12张图片
github链接
演示视频链接

你可能感兴趣的:(3D游戏作业)