मैं 3 डी ऑब्जेक्ट्स प्रदर्शित करने के लिए ARKit
का उपयोग कर रहा हूं। मैं उपयोगकर्ता के सामने वास्तविक दुनिया में नोड्स रखने में कामयाब रहा (कैमरा उर्फ)। लेकिन जब मैं उन्हें छोड़ देता हूं तो मैं कैमरे का सामना करने के लिए उन्हें प्रबंधित नहीं करता हूं।ARKit कैमरे का सामना करने वाला एक एससीएन नोड रखें
let tap_point=CGPoint(x: x, y: y)
let results=arscn_view.hitTest(tap_point, types: .estimatedHorizontalPlane)
guard results.count>0 else{
return
}
guard let r=results.first else{
return
}
let hit_tf=SCNMatrix4(r.worldTransform)
let new_pos=SCNVector3Make(hit_tf.m41, hit_tf.m42+Float(0.2), hit_tf.m43)
guard let scene=SCNScene(named: file_name) else{
return
}
guard let node=scene.rootNode.childNode(withName: "Mesh", recursively: true) else{
return
}
node.position=new_pos
arscn_view.scene.rootNode.addChildNode(node)
नोड्स कैमरे के सामने विमान पर अच्छी तरह से स्थित हैं। लेकिन वे सभी एक ही दिशा में देख रहे हैं। मुझे लगता है कि मुझे SCNNode
घुमाएं, लेकिन मैंने ऐसा करने का प्रबंधन नहीं किया।
में सहायता करता है दूसरा :) मैं चाहता हूं कि जब मैं इसे रखूं तो नोड को कैमरे का सामना करना पड़ेगा तो इसे यहां रखें (और चारों ओर स्थानांतरित करने में सक्षम हो)। –
मुझे समझ में नहीं आता कि आप क्या कहेंगे> अपनी 3 डी संपत्तियों को डिज़ाइन करें ताकि "फ्रंट" हमेशा सकारात्मक जेड-अक्ष दिशा में हो। मेरे पास एक डीएई फ़ाइल है जिसे मैंने एक्सकोड में स्कैन में परिवर्तित किया है। नोड स्थिति (0, 0, 0) है। लेकिन मैंने ऑब्जेक्ट को मेरे सामने रखने के लिए कैमरे को (0, 0, 0.9) पर भी रखा। कैमरे को सटीक बनाने के लिए महत्वपूर्ण हो सकता है नोड पदानुक्रम (एक सबनोड मुझे लगता है) में है। –
जब मैं उन्हें छोड़ देता हूं तो कैमरे के सामने नोड हमेशा सही होते हैं, वे दिखाई देते हैं (कैमरे के पीछे नहीं)। अगर मैं कमरे में जाता हूं और कई नोड्स छोड़ देता हूं तो वे सभी तरह के समानांतर होते हैं। जब मैं पहला नोड छोड़ देता हूं, तो यह "मुझे देख रहा है"। लेकिन अगले नहीं। मुझे नहीं पता कि मैं क्या कहता हूं स्पष्ट है ...:/ –