做一个AR小游戏,使用EasyAR SDK

2 篇文章 0 订阅

首先说下项目需求:公司是做主题公园的,需要在公交站台做一个交互功能,显示器外接两个摄像头、默认状态摄像头显示公交站台后面视野,当有人进入时,自动转化识别进入的人,这里只是做了一个识别切换功能。

1:在EasyAR中下载SDK,导入到Unity中。

2:EasyAR官网申请一个Key,用于场景使用。

3:场景添加EasyAR_Startup预制体-》把key复制到EasyARBehaviours脚本中。


4:创建一个Plane用于渲染背景摄像头:注场景有两个摄像头(01背景摄像头,02AR默认摄像头),只要插入两个USB接口的摄像头。

5:代码

using UnityEngine;
using System.Collections;
using EasyAR;

public class WebCamera : MonoBehaviour
{

    public Renderer MovieBack;   

    public GameObject Player;    

    string deviceNameBack;
    //接收返回的图片数据
    WebCamTexture texBack;
     void Start()
    {
        StartCoroutine(Init());//调用背景摄像头初始化 
        MovieBack.transform.gameObject.SetActive(true);

        FindObjectOfType<ARCameraBehaviour>().TargetLost+=delegate{

           Player.SetActive(true); //调用识别物体丢失情况

           MovieBack.transform.gameObject.SetActive(false); };

        FindObjectOfType<ARCameraBehaviour>().TargetFound += delegate { 

           Player.SetActive(false); 

           MovieBack.transform.gameObject.SetActive(true); };//调用识别物体识别情况

    }
    /// <summary>
    /// 捕获窗口位置
    /// </summary>
    IEnumerator Init()
    {
        yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
        if (Application.HasUserAuthorization(UserAuthorization.WebCam))
        {        
            WebCamDevice[] devices = WebCamTexture.devices;
            Debug.LogError("当前摄像头个数" + devices.Length);
            if (devices.Length >= 2)
            {
                deviceNameBack = devices[1].name;
                texBack = new WebCamTexture(deviceNameBack, 640, 480, 12);
                texBack.Play();
                Debug.LogError("正在初始化背景摄像机.......");
            }
            else
            {
                Debug.LogError("当前摄像头个数小于2个");
            }         
        }
    }
 
     void Update()
    {       
            MovieBack.material.mainTexture = texBack; //渲染摄像头画面    
    }


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值