Post

Replies

Boosts

Views

Activity

Reply to Capturing Body Motion in 3D with iPhone 12 Pro iOs 15 beta 2
I think I have a very similar problem and I think is linked to the ios15 update. My app used to recognize an image, create an image anchor on that image and render an anchorEntity on that on ios14 devices. After the update the device keeps removing and recognizing the anchor as it looses the tracking of it. Is it possible that there is a tracking problem on ios15 devices in arkit?
Topic: App & System Services SubTopic: Hardware Tags:
Oct ’21
Reply to ARAnchor subclass causing issues when worldmap saved/restored
Hello! maybe I come late to this thread but I have a problem and I couldn't find a solution yet. I have this ARAnchor subclass and I think it has all it needs to be saved (I splitted SIMD3 in three FLoat variables because I thought it would give me less problems to save). import ARKit import RealityKit class CustomARAnchor: ARAnchor {       var modelScalex: Float   var modelScaley: Float   var modelScalez: Float       init(name: String, transform: float4x4, modelScale: SIMD3<Float>) {     self.modelScalex = modelScale.x     self.modelScaley = modelScale.y     self.modelScalez = modelScale.z     super.init(name: name, transform: transform)   }   required init(anchor: ARAnchor) {     let other = anchor as! CustomARAnchor     self.modelScalex = other.modelScalex     self.modelScaley = other.modelScaley     self.modelScalez = other.modelScalez     super.init(anchor: other)   }   override class var supportsSecureCoding: Bool {     return true   }   required init?(coder aDecoder: NSCoder) {     if let modelScalex = aDecoder.decodeObject(forKey: "modelScalex") as? Float, let modelScaley = aDecoder.decodeObject(forKey: "modelScaley") as? Float, let modelScalez = aDecoder.decodeObject(forKey: "modelScalez") as? Float {       self.modelScalex = modelScalex       self.modelScaley = modelScaley       self.modelScalez = modelScalez     } else {       return nil     }     super.init(coder: aDecoder)   }   override func encode(with aCoder: NSCoder) {     super.encode(with: aCoder)     aCoder.encode(self.modelScalex, forKey: "modelScalex")     aCoder.encode(self.modelScaley, forKey: "modelScaley")     aCoder.encode(self.modelScalez, forKey: "modelScalez")   }     } In fact it seems it's correctly saved as this code inside the getWorldMap function prints me the names of my custom anchors self.arView.session.getCurrentWorldMap { worldMap, _ in       guard let map = worldMap else {         print("Can't get current world map")         return       }               for anchor in map.anchors {         if let anchor = anchor as? CustomARAnchor{           if let name = anchor.name{             print("custom anchor " + name + " in map")           }         }       }               do {         let data = try NSKeyedArchiver.archivedData(withRootObject: map, requiringSecureCoding: true)         try data.write(to: URL(fileURLWithPath: self.worldMapFilePath), options: [.atomic])       } catch {         fatalError("Can't save map: \(error.localizedDescription)")       }     } I save the world map in a file and then load it in another application. The Problem is that when i load the map the custom anchors won't be recognized or even loaded because the func session(_, didAdd anchors) adds just one anchor (i guess its a plane recognized) and not my custom anchors. func session(_ session: ARSession, didAdd anchors: [ARAnchor]) {     print("did add anchor: \(anchors.count) anchors in total")             for anchor in anchors {               if let name = anchor.name {         print("DEBUG: anchor" + name)       }               if let _ = anchor as? CustomARAnchor {         print("DEBUG: found custom anchor")       }       addAnchorEntityToScene(anchor: anchor)     }   } All the code works fine if i use normal ARAnchors and when I use CustomARAnchors it works fluently (no crashes or errors) but it stops doing what it is supposed to do. If anybody can have an idea of where the problem is I would be very grateful. Thank in advance even for reading this!
Topic: App & System Services SubTopic: Core OS Tags:
Sep ’21