vuforia模型脱卡功能的实现

阅读: 评论:0

vuforia模型脱卡功能的实现

vuforia模型脱卡功能的实现

这是转载,转载,转载,附原地址:

.html

实现思路是这样:


识别图视野脱离之后,将被识别的物体不再作为识别图的子物体,转而作为相机的子物体,并置于屏幕中央位置。
1.首先,
写个小script: [C#]  纯文本查看  复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 using UnityEngine; using Vuforia; public class pageNotFound404 : MonoBehaviour,ITrackableEventHandler {          private TrackableBehaviour mTrackableBehaviour;          public Transform Target; //识别物          Vector3 imgPos= new Vector3 (0,0.372f,0); //识别图上的位置          Vector3 camPos= new Vector3 (0,0,500); //脱卡后在屏幕中的位置          //这俩值,具体多少得自己调,模型尺寸、重心不同          bool isFirstTime= true ;          void Start()          {                  mTrackableBehaviour = GetComponent<TrackableBehaviour>();                  if (mTrackableBehaviour)                  {                          mTrackableBehaviour.RegisterTrackableEventHandler( this );                  }                  Target .GetComponent<MeshRenderer>().enabled= false ; //起始时不显示          }          public void OnTrackableStateChanged(                  TrackableBehaviour.Status previousStatus,                  TrackableBehaviour.Status newStatus)          {                  if (newStatus == TrackableBehaviour.Status.DETECTED ||                          newStatus == TrackableBehaviour.Status.TRACKED ||                          newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)                  {                          //视野内发现识别图时                          Target .GetComponent<MeshRenderer>().enabled= true ;                          Target.parent = this .transform ;                          Target.localPosition = imgPos;                          Target.localRotation = Quaternion.identity;                          isFirstTime = false ;                  }                  else                  {                          //视野内没有识别图时,这里我是把位置和旋转都归零了,如果不做处理,可以                          if (!isFirstTime){                          Target.parent=Camera.main .transform;                          Target.localPosition= camPos;                          Target.localRotation = Quaternion.identity;                          }                  }          } }         


 

2.然后,如图,将我们的小脚本挂载在 Image Target 上,并将 DefaultTrackableEventHandler 去除掉(remove component)
3.测试

本文发布于:2024-01-29 07:03:14,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170648299713545.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   功能   vuforia
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23