vuforia拖卡
来源:互联网 发布:好听的淘宝童装店名 编辑:程序博客网 时间:2024/06/05 15:11
第一种方法:在ARCamera下创建空物体,作为拖卡之后模型的目标位置,然后在脱离识别图后模型移动到空物体下。
/*==============================================================================Copyright (c) 2010-2014 Qualcomm Connected Experiences, Inc.All Rights Reserved.Confidential and Proprietary - Protected under copyright and other laws.==============================================================================*/using UnityEngine;namespace Vuforia{ /// <summary> /// A custom handler that implements the ITrackableEventHandler interface. /// </summary> public class MyDefaultTrackableEventHandler : MonoBehaviour, ITrackableEventHandler { #region PRIVATE_MEMBER_VARIABLES private TrackableBehaviour mTrackableBehaviour; #endregion // PRIVATE_MEMBER_VARIABLES //存储模型预制件名字,用于动态加载 public string[] prefabName; //动态加载后的模型对象 private GameObject[] prefabObj; //拖卡后的目标位置对象 public GameObject[] targetPosition; #region UNTIY_MONOBEHAVIOUR_METHODS void Start() { //初始化数组 prefabObj = new GameObject[prefabName.Length]; mTrackableBehaviour = GetComponent<TrackableBehaviour>(); if (mTrackableBehaviour) { mTrackableBehaviour.RegisterTrackableEventHandler(this); } } #endregion // UNTIY_MONOBEHAVIOUR_METHODS #region PUBLIC_METHODS /// <summary> /// Implementation of the ITrackableEventHandler function called when the /// tracking state changes. /// </summary> public void OnTrackableStateChanged( TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus) { if (newStatus == TrackableBehaviour.Status.DETECTED || newStatus == TrackableBehaviour.Status.TRACKED || newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED) { OnTrackingFound(); } else { OnTrackingLost(); } } #endregion // PUBLIC_METHODS #region PRIVATE_METHODS private void OnTrackingFound() { //如果识别到目标,并且目标不为空,要销毁对象,卸载资源 if (prefabObj[0] != null) { for (int i = 0; i < prefabObj.Length; i++) { GameObject.Destroy(prefabObj[i]); } Resources.UnloadUnusedAssets(); } //动态加载预制件对象,并设置预制件父对象为imageTarget for (int i=0;i<prefabObj.Length;i++) { prefabObj[i] = Instantiate(Resources.Load(prefabName[i])) as GameObject; prefabObj[i].transform.parent = this.transform; } } private void OnTrackingLost() { //当目标丢失后,把模型父对象设置后目标对象, if (prefabObj[0] != null) { for (int i = 0; i < prefabObj.Length; i++) { prefabObj[i].transform.parent = targetPosition[i].transform; //设置坐标,两种方法都可以 //prefabObj[i].transform.localPosition = Vector3.zero; prefabObj[i].transform.position = targetPosition[i].transform.position; } //Resources.UnloadUnusedAssets(); } } #endregion // PRIVATE_METHODS }}
阅读全文
0 0
- vuforia拖卡
- Vuforia.
- Vuforia Features Vuforia特点
- Vuforia Tools
- Vuforia VirtualButoon
- 【Vuforia】Vuforia实现自动对焦
- Vuforia SDK---- Vuforia AR开发对焦模式
- Vuforia SDK---- Vuforia可以追踪多少Target
- Vuforia SDK---- Vuforia识别类型介绍
- Vuforia SDK---- AR开发vuforia 问题总结
- Vuforia SDK---- AR开发vuforia 二维码扫描
- Vuforia SDK---- AR开发vuforia购买
- 【Vuforia】Vuforia实现自动对焦的代码
- Vuforia Target Manager Vuforia目标经理
- Vuforia Object Scanner Vuforia对象扫描仪
- Vuforia SDK---- Vuforia AR开发对焦
- Vuforia Getting Started
- Vuforia SDK 2.0
- 整数排序-LintCode
- C++ namespace详解
- JDBC获取数据库连接的.properties
- Unreal Engine 4 学习笔记(一):入门
- 今天开通博客
- vuforia拖卡
- 第一章作业
- 机器学习实战——LBP特征提取
- 使用chrome浏览器调试ionic APP
- 管理者的工作和职务
- Bootstrap错误提示功能
- NOIP 2015 子串
- Spring最新版下载方式
- 负载均衡