(个人)AR电子书系统创新实训第二周(2)
来源:互联网 发布:mac 终端如何上传文件 编辑:程序博客网 时间:2024/06/13 04:24
开始测试第一个DEMO
首先,我按照上一篇博客里的方法,给定了一些prefab以及其他控件:
在EasyAR/Prefabs/Primitives文件夹下把ImageTarget预制体拖到场景中,该物体上面有ImageTargetBehaviour,我们可以设置Path跟Name跟Storage类型等,如果Storage类型是Assets,即对应的Path路径是StreamingAssets文件夹下的路径。
我们把识别图拖到该文件夹下,如果没有该文件夹,可以自己创建一个,注意名字不能写错。
假设图片名字为”argame01.jpg”,则Path为”argame01.jpg”,Name的话可以自己定义,主要是用来做标识符。在ImageTarget上面主要有两个事件,TargetFound跟TargetLost。在识别图识别成功的时候,会调用TargetFound事件,但识别图丢失以后,会调用TargetLost事件。
一般我们会在TargetLost里面把ImageTarget下的所有网格渲染给禁用,这样就看不到物体了,当然也可以把模型物体的active设置为false。然后在TargetFound里把渲染器打开,或者设置为active。
代码如下:
using UnityEngine;namespace EasyAR{ public class ImageTargetBehaviour : ImageTargetBaseBehaviour { protected override void Awake() { base.Awake(); TargetFound += OnTargetFound; TargetLost += OnTargetLost; TargetLoad += OnTargetLoad; TargetUnload += OnTargetUnload; } protected override void Start() { base.Start(); HideObjects(transform); } void HideObjects(Transform trans) { for (int i = 0; i < trans.childCount; ++i) HideObjects(trans.GetChild(i)); if (transform != trans) gameObject.SetActive(false); } void ShowObjects(Transform trans) { for (int i = 0; i < trans.childCount; ++i) ShowObjects(trans.GetChild(i)); if (transform != trans) gameObject.SetActive(true); } void OnTargetFound(ImageTargetBaseBehaviour behaviour) { ShowObjects(transform); Debug.Log("Found: " + Target.Id); } void OnTargetLost(ImageTargetBaseBehaviour behaviour) { HideObjects(transform); Debug.Log("Lost: " + Target.Id); } void OnTargetLoad(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status) { Debug.Log("Load target (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker); } void OnTargetUnload(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status) { Debug.Log("Unload target (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker); } }}
现在打包出apk安装,扫描到我事先准备的图片,图片就会变成视频一样播放。
阅读全文
0 0
- (个人)AR电子书系统创新实训第二周(2)
- (个人)AR电子书系统创新实训第二周(2)
- (个人)AR电子书系统创新实训第二周(2)
- (个人)AR电子书系统创新实训第二周(2)
- (个人)AR电子书系统创新实训第二周(2)
- (个人)AR电子书系统创新实训第二周(1)
- (个人)AR电子书系统创新实训第二周(1)
- (个人)AR电子书系统创新实训第二周(1)
- (个人)AR电子书系统创新实训第二周(1)
- (个人)AR电子书系统创新实训第二周(1)
- (个人)AR电子书系统创新实训第六周
- (个人)AR电子书系统创新实训中期总结
- (个人)AR电子书系统创新实训期中汇报
- (个人)AR电子书系统创新实训第三周(2)
- (个人)AR电子书系统创新实训第三周(2)
- (个人)AR电子书创新系统实训第三周(2)
- (个人)AR电子书系统创新实训第三周(2)
- (个人)AR电子书系统创新实训第三周(2)
- 最大独立集问题 二分图
- PAT甲级1014
- 多种不同的选择器css样式
- 51nod 1627 瞬间移动
- 异步IO的一些理解
- (个人)AR电子书系统创新实训第二周(2)
- 二级路由器设置,二级路由器无法上网
- unity 3D自己学习笔记(天空盒子相关)
- Android 5.0新控件 CollapsingToolbarLayout | 折叠工具布局 介绍及使用详情
- bdpq四阶完全解法
- 【干货】Kaggle 数据挖掘比赛经验分享 (转载)
- C#
- android gps机制分析--之四
- Eclipse 导入项目有红感叹号