コード例 #1
0
 private void OnTrackableDetected(string referenceName, TrackablePrefab trackablePrefab, object obj)
 {
     if (_currentName != referenceName)
     {
         return;
     }
     if (_gamesAssociations.TryGetValue(referenceName, out GameObject go))
     {
         GameObject associatedGO = Instantiate(go);
         trackablePrefab.AssociatedGO        = associatedGO;
         _placingManager.TrackableRecognized = true;
     }
 }
コード例 #2
0
    private void OnTrackedImageChanged(ARTrackedImagesChangedEventArgs args)
    {
        CheckFirstRecognition(args);

        foreach (ARTrackedImage image in args.updated)
        {
            TrackablePrefab trackablePrefab = image.gameObject.GetComponent <TrackablePrefab>();
            if (trackablePrefab == null)
            {
                continue;
            }
            trackablePrefab.UpdatePosition();
        }
    }
コード例 #3
0
 private void CheckFirstRecognition(ARTrackedImagesChangedEventArgs args)
 {
     if (TrackableRecognized)
     {
         return;
     }
     if (args.updated.Count > 0)
     {
         TrackablePrefab trackablePrefab = args.updated[0].gameObject.GetComponent <TrackablePrefab>();
         if (trackablePrefab == null)
         {
             return;
         }
         string imageName = args.updated[0].referenceImage.name;
         _trackablePrefabs.Add(trackablePrefab);
         OnTrackableDetected?.Invoke(imageName, trackablePrefab, args.updated[0]);
     }
 }