/// <inheritdoc />
        internal override void RefreshConfiguration()
        {
            if (this.TrackPosition)
            {
                this.aRConfiguration = new ARWorldTrackingConfiguration()
                {
                    LightEstimationEnabled = this.LightEstimationEnabled,
                    PlaneDetection         = this.PlaneDetection.ToARKit(),
                    WorldAlignment         = this.WorldAlignment.ToARKit()
                };

                this.isSupported = ARWorldTrackingConfiguration.IsSupported;
            }
            else
            {
                this.aRConfiguration = new AROrientationTrackingConfiguration()
                {
                    LightEstimationEnabled = this.LightEstimationEnabled,
                    WorldAlignment         = this.WorldAlignment.ToARKit()
                };

                this.isSupported = AROrientationTrackingConfiguration.IsSupported;
            }

            this.Reset();
        }
Ejemplo n.º 2
0
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);
            //ARWorldTrackingSessionConfiguration config;// = new A
            //ARWorldTrackingSessionConfiguration
            ARWorldTrackingConfiguration config = new ARWorldTrackingConfiguration();

            //ARWorldTrackingSessionConfiguration config = new ARWorldTrackingSessionConfiguration{


            //};
            config.PlaneDetection = ARPlaneDetection.Horizontal;
            arSessionConfig       = config;
            arSessionConfig.LightEstimationEnabled = true;

            arSession = new ARSession();

            arSCNView         = new ARSCNView();
            arSCNView.Frame   = View.Bounds;
            arSCNView.Session = arSession;
            arSCNView.AutomaticallyUpdatesLighting = true;
            View.AddSubview(this.arSCNView);
            arSession.Run(this.arSessionConfig, ARSessionRunOptions.RemoveExistingAnchors);



            var scene = SCNScene.FromFile("Models.scnassets/chair/chair.scn");

            SCNNode node = scene.RootNode.ChildNodes[0];


            node.Position = new SCNVector3(0, -1, -1);

            arSCNView.Scene.RootNode.AddNodes(node);
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            SCNView = WH.GetOrSet(nameof(SCNView), new ARSCNView {
                Frame = View.Frame
            });
            View.AddSubview(SCNView);

            TrackingConfiguration = new ARWorldTrackingConfiguration {
            };

            SCNView.Session.Run(TrackingConfiguration, ARSessionRunOptions.RemoveExistingAnchors | ARSessionRunOptions.ResetTracking);
        }