Vuforia 动态加载DataSet和ImageTarget
来源:互联网 发布:网络环境被劫持 编辑:程序博客网 时间:2024/06/05 08:08
- Vuforia 动态加载DataSet和ImageTarget
- DataSet简析
- 动态加载DataSet
Vuforia 动态加载DataSet和ImageTarget
DataSet简析
vuforia在运行时会给每一个DataSet下面的每一个ImageTarget生成一个TrackableBehaviour(如果你已经再Unity Editor中添加了对应的ImageTarget则不会重复创建)
这是我的DataSet:
有7个ImageTarget:
我们到程序中使用
TrackerManager.Instance.GetStateManager().GetTrackableBehaviours()
方法把TrackableBehaviour全部打印出来如下图所示:
我已经创建了一个ImageTarget并且设置了它的ImageTarget为lang,程序再运行的时候会吧没有创建的自动生成各自的对象,就是上图中的New Game Object
动态加载DataSet
首先你需要把DataSet的文件放到对应平台的StreamingAssets\QCAR\路径中
这里我放入一个[Test]:然后使用以下代码加载[Test]这个DataSet
public void LoadDataSet(string dataSetName){ ObjectTracker objectTracker = TrackerManager.Instance.GetTracker<ObjectTracker>(); DataSet dataSet = objectTracker.CreateDataSet(); if (dataSet.Load(dataSetName)) { objectTracker.Stop();//这里必须要停止跟踪才能激活DataSet objectTracker.ActivateDataSet(dataSet); objectTracker.Start(); } }}
然后使用以下代码配置刚刚程序动态生成的ImageTarget给它加个立方体模型
public void ConfigTrackable(){ IEnumerable<TrackableBehaviour> tbs = TrackerManager.Instance.GetStateManager().GetTrackableBehaviours(); foreach (TrackableBehaviour tb in tbs) { if (tb.TrackableName == "Select")//我的Test里只有Select这一个识别图 { tb.gameObject.name = "Picture"; //下面这两句不能少,需要给它加上这两个组件 tb.gameObject.AddComponent<DefaultTrackableEventHandler>(); tb.gameObject.AddComponent<TurnOffBehaviour>(); GameObject augmentation = GameObject.CreatePrimitive(PrimitiveType.Cube); augmentation.transform.parent = tb.gameObject.transform; augmentation.transform.localPosition = Vector3.zero; augmentation.transform.localRotation = Quaternion.identity; augmentation.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); augmentation.gameObject.SetActive(true); } }}
然后就可以扫描新的识别图了,程序全程不需要重启,可以借此来做热更新识别图
原帖地址:http://blog.csdn.net/Pineapplle/article/details/49449343#
参考资料:https://developer.vuforia.com/forum/faq/unity-load-dataset-setup-trackables-runtime
1 1
- Vuforia 动态加载DataSet和ImageTarget
- Vuforia ImageTarget Native版本编译
- ImageTarget动态创建
- AR如何动态加载模型资源并且将模型资源赋予某一个ImageTarget
- 更换vuforia中ImageTarget功能的识别目标图像
- Vuforia的学习(四)ImageTarget的配置
- Vuforia的学习(五)ImageTarget的使用
- 动态创建gridview 和 Dataset
- 在unity3d中动态创建easyAR的imageTarget
- 高通vuforia动态加载、卸载、对焦、翻转摄像头、控制识别数模板
- 动态加载和静态加载
- 延迟加载和动态加载
- AppDomain 和动态加载
- Vuforia SDK----从Unity的SD卡装入一个DataSet
- dorado上动态添加按钮和按钮绑定dataset
- 动态库DLL加载方式-静态加载和动态加载
- 动态库DLL加载方式-静态加载和动态加载
- 动态库DLL加载方式-静态加载和动态加载
- mysql 授权管理和设置
- iOS瀑布流
- 解决Android SDK Manager无法更新
- 012.Auto Promote 表达式类型自动提升
- Android自定义控件系列三:如何画画
- Vuforia 动态加载DataSet和ImageTarget
- Regex
- Android双缓冲技术
- 011.Conversion 强制类型转换
- 清除浮动的3种方式:
- 循环队列实现(非模板)
- Spring AOP基础
- Java使用siger开源包获取服务器硬件信息(CPU 内存 网络 io等)
- 010.AutoConversion 自动类型转换