欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

3D游戏——AR技术

程序员文章站 2022-07-12 23:27:09
...

游戏视频 https://www.bilibili.com/video/av79579816/
github地址 https://gitee.com/jenny_s/AR-3D-GAME

增强现实(Argumented Reality (AR))是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息(视觉信息,声音,味道,触觉等),通过电脑等科学技术,模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验。

图片识别与建模

根据教程下载安装AR SDK,使用字图片作为识别对象。

3D游戏——AR技术

修改Unity设置如下

3D游戏——AR技术

导入AR Camera,增加App License Key

3D游戏——AR技术

导入Image Target,修改Image Target Behaviour(Script)如下:

3D游戏——AR技术

选择预制好的模型,作为ImageTarget的子物体。

3D游戏——AR技术

运行效果如下:

3D游戏——AR技术

3D游戏——AR技术

3D游戏——AR技术

3D游戏——AR技术

虚拟按键小游戏

ImageTarget增加虚拟按键Add Virtual Button

3D游戏——AR技术

3D游戏——AR技术

ImageTarget挂载脚本

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

[System.Obsolete]
public class VirtualButtonEventHandler : MonoBehaviour, IVirtualButtonEventHandler
{
    public GameObject vb;
    public Animator ani;
    void IVirtualButtonEventHandler.OnButtonPressed(VirtualButtonBehaviour vb)
    {
        ani.SetBool("IsRun", true);
        Debug.Log("run");
    }

    void IVirtualButtonEventHandler.OnButtonReleased(VirtualButtonBehaviour vb)
    {
        ani.SetBool("IsRun", false);
        Debug.Log("stop");
    }

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

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

3D游戏——AR技术

相关标签: 3D游戏