3D_HW11

爷,独闯天下 提交于 2019-12-18 22:02:16

3D Programming & Design

实现效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GyZ1C0UG-1576673158856)(picture/demo1.png)]
在这里插入图片描述

实现过程

Vuforia使用

  1. 进入官网https://developer.vuforia.com注册登录账号
    在这里插入图片描述

  2. 点击Develop, 进行License Key的获取
    在这里插入图片描述
    在这里插入图片描述

  3. 点击Target Manager, 添加数据库
    在这里插入图片描述

  4. 点击Add Target, 我们使用Single Image来进行AR识别
    在这里插入图片描述
    在这里插入图片描述

  5. 将数据库中的特定文件下载下来
    在这里插入图片描述
    在这里插入图片描述

  6. 将unitypackage导入unity中
    在这里插入图片描述

  7. 确保unity中有vuforia SDK, 没有的话可以在Unity Hub beta中进行添加
    在这里插入图片描述

  8. 添加AR相机
    在这里插入图片描述

  9. 在VuforiaConfiguration中添加License Key
    在这里插入图片描述

  10. 添加ImageTarget, 并将AssetStore中下载的模型挂载到ImageTarget下, 作为子物体
    在这里插入图片描述

  11. 在ImageTarget的Inspector面板中调整模型与Image的尺寸, 以方便显示.
    在这里插入图片描述

  12. 运行项目, 将数据库中的图片放置到摄像头下, 得到AR效果
    在这里插入图片描述

虚拟按键小游戏

我们在上面的基础上增加一个Launch虚拟按钮, 触碰虚拟按钮后让Rocket升空.
右键点击ImageTarget, 在Inspector中选择Add VirtualButton
在这里插入图片描述
在Virtual中挂载子物体Plane
在这里插入图片描述
编写代码控制相应的动画
在这里插入图片描述

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

public class VirtualButton : MonoBehaviour, IVirtualButtonEventHandler {
    public VirtualButtonBehaviour[] actions;
    public Animator animator;

    void Start() {
        actions = GetComponentsInChildren<VirtualButtonBehaviour>();
        for (int i = 0; i < actions.Length; i++) {
            actions[i].RegisterEventHandler(this);
        }
    }

    public void OnButtonPressed(VirtualButtonBehaviour vb) {
        animator.SetTrigger("Launch");
        animator.ResetTrigger("Idle");
    }

    public void OnButtonReleased(VirtualButtonBehaviour vb) {
        animator.SetTrigger("Idle");
        animator.ResetTrigger("Launch");
    }
}

实现效果
github地址: https://github.com/boluoDhai/3D_HW11

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!