/// <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(); }
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); }