高通AR-关于切换相机跟踪图片的控制
来源:互联网 发布:淘宝互评后多久能看到 编辑:程序博客网 时间:2024/06/05 02:48
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> 当跟踪到图片,并且显示模型的时候,调用SetTrackerSwitch(false)函数,模型会保持显示,移开图片,不会对模型产生影响.此时如果调用SetTrackerSwitch(true),就会回到正常状态。</span>
using UnityEngine;using System.Collections;using Vuforia;public class MyTrackableEventHandler : MonoBehaviour, ITrackableEventHandler{ #region PRIVATE_MEMBER_VARIABLES private TrackableBehaviour mTrackableBehaviour; bool _trackerSwitch = true; //作为可否跟踪的开关. //private ImageTargetAbstractBehaviour mImageTarget; #endregion // PRIVATE_MEMBER_VARIABLES #region UNTIY_MONOBEHAVIOUR_METHODS void Start() { mTrackableBehaviour = GetComponent<TrackableBehaviour>(); if (mTrackableBehaviour) { mTrackableBehaviour.RegisterTrackableEventHandler(this); } //mImageTarget = GetComponent<ImageTargetAbstractBehaviour>(); } #endregion // UNTIY_MONOBEHAVIOUR_METHODS #region PUBLIC_METHODS /// <summary> /// 设置跟踪开关的状态 /// </summary> /// <param name="sitchValue"></param> public void SetTrackerSwitch(bool sitchValue) { _trackerSwitch = sitchValue; Fix(); } /// <summary> /// 改变跟踪开关为相反值 /// </summary> public void ChangeTrackerSwitch() { _trackerSwitch = !_trackerSwitch; Fix(); } /// <summary> /// 跟踪开关改变后进行的调整. /// </summary> void Fix() { if(_trackerSwitch == true) { mTrackableBehaviour.enabled = true; OnTrackingLost(); } else { mTrackableBehaviour.enabled = false; } } /// <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 (_trackerSwitch == false) return; Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true); Collider[] colliderComponents = GetComponentsInChildren<Collider>(true); // Enable rendering: foreach (Renderer component in rendererComponents) { component.enabled = true; } // Enable colliders: foreach (Collider component in colliderComponents) { component.enabled = true; } Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found"); } private void OnTrackingLost() { if (_trackerSwitch == false) return; Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true); Collider[] colliderComponents = GetComponentsInChildren<Collider>(true); // Disable rendering: foreach (Renderer component in rendererComponents) { component.enabled = false; } // Disable colliders: foreach (Collider component in colliderComponents) { component.enabled = false; } Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " lost"); } #endregion // PRIVATE_METHODS}
0 0
- 高通AR-关于切换相机跟踪图片的控制
- 高通ar 摄像头的切换
- 高通AR之动态摄像头切换
- AR相机的实现
- 关于unity增强现实AR之高通AR(vufoia)的研究
- 高通|AR扫描图片播放视频
- 高通AR的使用
- 点击图片切换相机
- 关于Unity3d代码控制相机的cullingmask
- 高通AR 的cloud研究
- 关于高通AR vuforia 4.2.3在UNITY5.0中发布到安卓白屏的问题
- 关于高通AR摄像机聚焦和调用前后摄像头的研究
- 关于高通AR在Android手机上摄像头对焦的问题
- 高通AR增强现实多卡识别和扩展跟踪Unity
- 高通AR增强现实多卡识别和扩展跟踪Unity
- 高通AR
- 高通AR 入门
- 2017.12.17笔记-关于角色和相机的控制
- java通过Servlet生成验证码
- Opencv中如何将两幅图像连接成一幅图像(Mat操作)
- SQL*Loader 详解(sqlldr 指令)
- 机器学习之各种算法
- Path Sum II
- 高通AR-关于切换相机跟踪图片的控制
- AngularJS 的 Scope
- 使用Javascript/jQuery将javascript对象转换为json格式数据
- 编译ffmpeg
- Android调用别的应用的Activity
- C#获取变量默认值
- 弹跳窗
- [ecshop 资料 ]ecshop 怎么实现购物满200元免运费
- 1007. Maximum Subsequence Sum