Beispiel #1
0
        /// <inheritdoc/>
        public override void Initialize()
        {
            if (!Application.isPlaying || BoundaryProfile == null)
            {
                return;
            }

            boundaryEventData = new BoundaryEventData(EventSystem.current);

            BoundaryHeight = BoundaryProfile.BoundaryHeight;

            SetTrackingSpace();
            CalculateBoundaryBounds();

            ShowFloor                 = BoundaryProfile.ShowFloor;
            FloorPhysicsLayer         = BoundaryProfile.FloorPhysicsLayer;
            ShowPlayArea              = BoundaryProfile.ShowPlayArea;
            PlayAreaPhysicsLayer      = BoundaryProfile.PlayAreaPhysicsLayer;
            ShowTrackedArea           = BoundaryProfile.ShowTrackedArea;
            TrackedAreaPhysicsLayer   = BoundaryProfile.TrackedAreaPhysicsLayer;
            ShowBoundaryWalls         = BoundaryProfile.ShowBoundaryWalls;
            BoundaryWallsPhysicsLayer = BoundaryProfile.BoundaryWallsPhysicsLayer;
            ShowBoundaryCeiling       = BoundaryProfile.ShowBoundaryCeiling;
            CeilingPhysicsLayer       = BoundaryProfile.CeilingPhysicsLayer;

            RaiseBoundaryVisualizationChanged();
        }
        /// <inheritdoc/>
        public override void Initialize()
        {
            if (!Application.isPlaying || !XRDevice.isPresent)
            {
                return;
            }

            MixedRealityBoundaryVisualizationProfile profile = ConfigurationProfile as MixedRealityBoundaryVisualizationProfile;

            if (profile == null)
            {
                return;
            }

            boundaryEventData = new BoundaryEventData(EventSystem.current);

            BoundaryHeight = profile.BoundaryHeight;

            SetTrackingSpace();
            CalculateBoundaryBounds();
            UnityBoundary.visible = true;

            ShowFloor                 = profile.ShowFloor;
            FloorPhysicsLayer         = profile.FloorPhysicsLayer;
            ShowPlayArea              = profile.ShowPlayArea;
            PlayAreaPhysicsLayer      = profile.PlayAreaPhysicsLayer;
            ShowTrackedArea           = profile.ShowTrackedArea;
            TrackedAreaPhysicsLayer   = profile.TrackedAreaPhysicsLayer;
            ShowBoundaryWalls         = profile.ShowBoundaryWalls;
            BoundaryWallsPhysicsLayer = profile.BoundaryWallsPhysicsLayer;
            ShowBoundaryCeiling       = profile.ShowBoundaryCeiling;
            CeilingPhysicsLayer       = profile.CeilingPhysicsLayer;

            if (ShowFloor)
            {
                GetFloorVisualization();
            }
            if (ShowPlayArea)
            {
                GetPlayAreaVisualization();
            }
            if (ShowTrackedArea)
            {
                GetTrackedAreaVisualization();
            }
            if (ShowBoundaryWalls)
            {
                GetBoundaryWallVisualization();
            }
            if (ShowBoundaryWalls)
            {
                GetBoundaryCeilingVisualization();
            }

            RaiseBoundaryVisualizationChanged();
        }
Beispiel #3
0
        /// <inheritdoc/>
        public override void Initialize()
        {
            // The profile needs to be read on initialization to ensure that re-initialization
            // after profile change reads the correct data.
            ReadProfile();

            if (!Application.isPlaying)
            {
                return;
            }

            boundaryEventData = new BoundaryEventData(EventSystem.current);

            SetTrackingSpace();
            CalculateBoundaryBounds();

            RaiseBoundaryVisualizationChanged();
        }
        /// <inheritdoc/>
        public override void Initialize()
        {
            // Initialize this value earlier than other systems, so we can use it to block boundary events being raised too early
            IsInitialized = false;

            // The profile needs to be read on initialization to ensure that re-initialization
            // after profile change reads the correct data.
            ReadProfile();

            if (!Application.isPlaying || !DeviceUtility.IsPresent)
            {
                return;
            }

            boundaryEventData = new BoundaryEventData(EventSystem.current);

            SetTrackingSpace();
            CalculateBoundaryBounds();

            base.Initialize();

            RefreshVisualization();
            RaiseBoundaryVisualizationChanged();
        }