public void SetSensorTrackingPosition(SensorTrackingPosition position) { foreach (Tracker tracker in availableTrackers) { if (tracker.Description.method == TrackingMethod.Sensor) { ((SensorTracker)tracker).SetPosition(position); } } }
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(); }
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); }