표지를 식별할 때 추적이 떨어졌을 때 특정한 동작을 일으키려고 한다

4861 단어 ARUnityvuforia
Vuforia를 사용하여 AR 콘텐츠를 제작할 때
• 태그 인식 동작
• 탈락 시 동작 추적
설정하고 싶을 때가 많아요.
기본 기능이지만 의외로 상기 설정을 할 수 있는 기능(2018/7)이 기본적으로 존재하지 않기 때문에 설정할 수 있도록 자제했다.

차리다


※ 다음 작업은 최신 Vuforia 7 시리즈에서 이미 대응
Vuforia 7 시스템 사용 시 다음 대응 필요 없음
Vuforia에 존재하는 기존 D e f aultTracblevent Handler.cs 제작을 계승하고 싶습니다.
따라서 상응하는 함수를 다시 쓸 수 있도록 수정을 진행했다.
· 태그 인식 시 OnTrackingFond() 처리
· 추적 탈락 시 OnTrackingLost로 처리()
따라서 액세스 수정자를proted virtual로 설정합니다.
DefaultTrackableEventHandler.cs
protected virtual void OnTrackingFound()
        {
            Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
            Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);

         ...
        }


protected virtual void OnTrackingLost()
        {
            Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
            Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);

            ...
        }

각본


각본은 대체로 다음과 같다.
CustomDefaultTrackableEventHandler.cs
using UnityEngine;
using UnityEngine.Events;
using Vuforia;

public class CustomDefaultTrackableEventHandler : DefaultTrackableEventHandler {

    public UnityEvent OnTrackingAction;
    public UnityEvent OffTrackingAction;

    protected override void OnTrackingFound ()
    {
        base.OnTrackingFound ();
        OnTrackingAction.Invoke ();
    }

    protected override void OnTrackingLost()
    {
        base.OnTrackingLost ();
        OffTrackingAction.Invoke ();
    }
}
스크립트가 업로드되었습니다. 이것을 사용할 수 있습니다.
https://gist.github.com/kiyossy/f2e42b5a13f0bd789a93336253e16757

설정 방법


각 Target 객체에는
DefaultTrackableEventHandler.Remove Component cs
위에서 작성한 Cut o m D e f aultTracblevent Handler.덧붙이다
Unity Action을 통해 설정할 수 있으므로 UGUI의 이벤트 동작과 동일하게 설정할 수 있습니다.

좋은 웹페이지 즐겨찾기