コード例 #1
0
 public void SetSensorTrackingPosition(SensorTrackingPosition position)
 {
     foreach (Tracker tracker in availableTrackers)
     {
         if (tracker.Description.method == TrackingMethod.Sensor)
         {
             ((SensorTracker)tracker).SetPosition(position);
         }
     }
 }
コード例 #2
0
 public void SetPosition(SensorTrackingPosition pos)
 {
     virtualLocation = pos;
     if (!Input.gyro.enabled || !SystemInfo.supportsGyroscope)
     {
         yaw   = pos.transform.rotation.eulerAngles.y;
         pitch = pos.transform.rotation.eulerAngles.x;
     }
     UpdateCamera();
 }
コード例 #3
0
        void Start()
        {
            sensorTrackingPosition = GetComponentInChildren <SensorTrackingPosition> (true);

            var temp = Trackables.Count;             //Just call to initialize

            UpdateTargetTransforms();

            AR.Tracking.Trackable.TrackableCreated += (sender, e) => {
                var target = sender as Trackable;

                if (target != null)
                {
                    if (trackableLinkNames.Contains(target.name) && !Trackables.Contains(target))
                    {
                        Trackables.Add(target);
                    }
                }
            };

            if (AR.Tracking.Manager.Instance.ActiveTracker != null)
            {
                AR.Tracking.Manager.Instance.ActiveTracker.TrackerStatusChanged += (sender2, e2) => {
                    if (this.IsActive)
                    {
                        if (e2.arg2 == TrackerStatus.Tracking)
                        {
                            UpdateTargetTransforms();
                        }
                    }
                };
            }
            AR.Tracking.Manager.TrackerChanged += (sender, e) => {
                var tracker = e.arg as Tracker;

                if (tracker != null)
                {
                    tracker.TrackerStatusChanged += (sender2, e2) => {
                        if (this.IsActive)
                        {
                            if (e2.arg2 == TrackerStatus.Tracking)
                            {
                                UpdateTargetTransforms();
                            }
                        }
                    };
                }
            };

            ApplicationManager.OnPlayStateChanged += (sender, args) => {
                FeaturePlayState = args.arg;
            };

            Display(false);
        }