想要实现功能:扫描到识别图后显示模型的同时开始触发动作,移走识别图后暂停动作,再次识别后继续从上次暂停的地方开始动作?
多谢各位了!!!
https://blog.csdn.net/dzyi_/article/details/51730626
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia;
public class aa : MonoBehaviour, ITrackableEventHandler
{
protected TrackableBehaviour mTrackableBehaviour;
GameObject gt;
public float force = 10.0f;
// Start is called before the first frame update
void Start()
{
mTrackableBehaviour = GetComponent<TrackableBehaviour>();
if (mTrackableBehaviour)
mTrackableBehaviour.RegisterTrackableEventHandler(this);
gt = GameObject.Find("hangtiancang");
}
// Update is called once per frame
void Update()
{
if (mTrackableBehaviour.CurrentStatus == TrackableBehaviour.Status.DETECTED ||
mTrackableBehaviour.CurrentStatus == TrackableBehaviour.Status.TRACKED ||
mTrackableBehaviour.CurrentStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
{
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
OnTrackingFound();//图在就向上发射
}
else
{
// For combo of previousStatus=UNKNOWN + newStatus=UNKNOWN|NOT_FOUND
// Vuforia is starting, but tracking has not been lost or found yet
// Call OnTrackingLost() to hide the augmentations
OnTrackingLost();//图不在就在当前位置继续运动
}
}
protected virtual void OnTrackingFound()//图 在 屏幕上
{
gt.SetActive(true);
gt.GetComponent<Rigidbody>().isKinematic = false;
gt.GetComponent<Rigidbody>().AddForce(Vector3.up * force, ForceMode.Force);
}
protected virtual void OnTrackingLost()//图 不在 屏幕上
{
gt.GetComponent<Rigidbody>().isKinematic = true;
gt.SetActive(false);
}
public void OnTrackableStateChanged(
TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
}
}