做一个AR小游戏,使用EasyAR SDK
首先说下项目需求:公司是做主题公园的,需要在公交站台做一个交互功能,显示器外接两个摄像头、默认状态摄像头显示公交站台后面视野,当有人进入时,自动转化识别进入的人,这里只是做了一个识别切换功能。
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; //渲染摄像头画面
}
做一个AR小游戏,使用EasyAR SDK相关推荐
- 《看聊天记录都学不会Python到游戏实战?太菜了吧》(8)我们开始做一个数字小游戏吧
本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题.此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将 ...
- python大作业数独_python做一个数独小游戏
最近看了下python的一些知识,在这里记载一下. 1.首先是安装,在官网下载最新的版本3.6,安装的时候要注意在下面勾选上ADD TO PATH,安装的时候会自动写入到环境变量里面,如果没有勾选,可 ...
- 用C语言做一个迷宫小游戏
用C语言做一个迷宫小游戏,以下是代码段 这个迷宫游戏使用了递归回溯算法来寻找通往出口的路径.迷宫中的墙用'#'表示,路径用空格表示,入口和出口分别用'S'和'E'表示,已走过的路径用'*'表示.在生成 ...
- java做一个打地鼠小游戏
想起了了大学那会做过这个小游戏,今天重新写一下 首先准备几个素材图片,搜了半天没有,只好自己找了个图片截了一下(如果侵权了联系我删除). JFrame画一个主页面,设置了全局的行.列和总数,循环添加所 ...
- 使用JS和Canvas做一个html5小游戏
这是一个很简单的html5游戏,通过学习原博文自己做了些改造, 现在附上原博文的链接 这是游戏的截图: 1.有计算抓住的怪物的数量 2.有背景,英雄,怪物. 第一步:建立html文件和js文件 建立一 ...
- 100行Python代码,做一个打地鼠小游戏
游戏画面 首先先进行游戏画面排版, class TopWindow(QWidget):def __init__(self, parent=None):super().__init__(parent)s ...
- C#使用winform做一个开关小游戏
成品展示 游戏原理: 游戏时,任意点击一个格子,其自身状态改变,且上下左右四个格子的状态也进行变化,即:原来是开的变成关的,原来是关的变成开的. 制作过程 1.建项目会的吧. 2.设置游戏窗口名称,t ...
- 结合动画与键盘交互,做一个弹球小游戏
小球在窗体范围内运动,撞到除底边外的另外三个边缘就反弹一次.如果,小球撞到底边,那么游戏结束.玩家可以通过控制在底边上的一个挡板,让小球撞击到挡板上而反弹,阻止小球撞到底边. 1. 运动的小球 创建一 ...
- 用python做一个坦克小游戏_Python制作经典坦克大战小游戏
image.png 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. ...
最新文章
- python将视频转为多个gif
- HTML meta标签总结
- 《Python数据科学指南》——1.16 使用lambda创造匿名函数
- linux less命令简介
- ORACLE TEXT DATASTORE PREFERENCE(六)
- java基础将字符串进行反转
- ERP通用附件管理功能设计与实现
- FPGA实验2:ADDA测试
- DELL EMC Isilon配额Quota
- t420i升级固态硬盘提升_老电脑想升级,如何选购最适合的固态硬盘
- 使用Ubuntu搭建Web服务器
- python求周长_作业-python面向对象编程-计算周长和面积
- 2020年总结:携梦而行,无怨无悔
- 进大厂全靠自学,微软头条实习生现身说法:我是这样自学深度学习的
- 前端 原型对象中this的认识
- vcs dump vpd的方法
- 计算机显示器是输入,如果计算机显示器未显示视频输入怎么办
- 饭局上领导想抽烟,别说“抽我的软华子”,酒桌上3种人不能重用
- 交易系统开发(九)——Dark Pool技术
- element-ui iconfont乱码问题处理
热门文章
- Day --01 课后总结
- “房间里有100个人,每人都有100元钱,每轮每人要拿一元钱随机给另一个人”最后分布的python结果
- openfire--好友管理实现好友添加及分组管理
- php 0x80070002,vs2015 系统找不到指定的文件(异常来自HRESULT:0x80070002)问题的解决方法...
- hydd的LInux笔记Day43
- linux系统下的rar压缩包解压简单流程(个人使用过的)
- 网站评论功能数据库设计和开发
- 高斯过程(原理和代码实现)
- PE文件格式详细解析(二)
- Web前端VS后端那个好一点