अरे मैं यह पता लगाने की जगह में एक साधारण नोड मैं ARKit में इसके चारों ओर चलना है रखने के लिए कोशिश कर रहा हूँ कैसेजगह में ARKit SCNNode रखने के लिए कैसे
कोड:
func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
if let planeAnchor = anchor as? ARPlaneAnchor {
if planeDetected == false { // Bool only allows 1 plane to be added
planeDetected = true
self.addPlane(node: node, anchor: planeAnchor)
}
}
}
यह SCNNode कहते हैं
func addPlane(node: SCNNode, anchor: ARPlaneAnchor) {
// We add the anchor plane here
let showDebugVisuals = Bool()
let plane = Plane(anchor, showDebugVisuals)
planes[anchor] = plane
node.addChildNode(plane)
// We add our custom SCNNode here
let scene = SCNScene(named: "art.scnassets/PlayerModel.scn")!
let Body = scene.rootNode.childNode(withName: "Body", recursively: true)!
Body.position = SCNVector3.positionFromTransform(anchor.transform)
Body.movabilityHint = .movable
wrapperNode.position = SCNVector3.positionFromTransform(anchor.transform)
wrapperNode.addChildNode(Body)
scnView.scene.rootNode.addChildNode(wrapperNode)
Ive एक विमान/एंकर नोड जोड़ते और उसे में "द बॉडी" नोड डालने की कोशिश की लेकिन यह अभी भी ले जाता है। मैंने सोचा कि शायद यह अद्यतन समारोह के साथ कुछ करने के लिए है।
func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {
}
या सबसे अधिक संभावना स्थिति की स्थापना
wrapperNode.position = SCNVector3.positionFromTransform(anchor.transform)
iv'e हर स्रोत/प्रोजेक्ट फाइल/इंटरनेट पर वीडियो के माध्यम से देखा और कोई भी इस साधारण सी समस्या के लिए एक सरल उपाय है।
कोई आसान समाधान नहीं है। आपको बेहतर परिणाम के लिए सतह का पता लगाना चाहिए, लेकिन ऑब्जेक्ट्स अभी भी थोड़ा आगे बढ़ेंगे। –
ठीक है यह पुष्टि करने के लिए धन्यवाद कि वास्तव में एक सरल समाधान नहीं है। – Hunter