Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using UnityEngine.XR.ARFoundation;
- using UnityEngine.XR.ARSubsystems;
- using System.Collections;
- namespace Ninsar.AR
- {
- public class ARController : MonoBehaviour
- {
- public ARSessionOrigin ARSessionOrigin;
- public ARTrackedImageManager TrackedImageManager;
- private bool isTracked = false;
- public Transform Content;
- private void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs args)
- {
- foreach (var trackedImage in args.updated)
- {
- if (trackedImage.trackingState != TrackingState.Tracking) continue;
- ARSessionOrigin.MakeContentAppearAt(
- Content, trackedImage.transform.position, trackedImage.transform.localRotation
- );
- Content.gameObject.SetActive(true);
- if(isTracked == false)
- StartCoroutine(sessionDisable());
- break;
- }
- }
- private IEnumerator sessionDisable()
- {
- isTracked = true;
- yield return new WaitForSeconds(2f);
- TrackedImageManager.trackedImagesChanged -= OnTrackedImagesChanged;
- }
- private void OnEnable()
- {
- TrackedImageManager.trackedImagesChanged += OnTrackedImagesChanged;
- Content.gameObject.SetActive(false);
- }
- private void OnDisable()
- {
- TrackedImageManager.trackedImagesChanged -= OnTrackedImagesChanged;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement