2014-07-15 4 views
5

एससीएनवी व्यू दस्तावेज कहता है कि सेटिंग कैमरे कंट्रोल को YES को कैमरे नोड स्थिति को अद्यतन नहीं करता है जब उपयोगकर्ता दृश्य बिंदु बदलता है। उपयोगकर्ता द्वारा संशोधित कैमरा पैरामीटर प्राप्त करने का कोई तरीका है जब उपयोगकर्ता दृष्टिकोण को बदलता है?क्या कैमेरा कंट्रोल का उपयोग करते समय मुझे एससीएनवीव कैमरा स्थिति मिल सकती है?

उत्तर

7

जब आप allowsCameraControl सक्षम SceneKit दृश्य (दृश्य के रूट नोड इसके बारे में तुरंत बच्चे के रूप में) में अपने स्वयं के कैमरा नोड सम्मिलित करता है, और जैसा कि उस नोड सेट दृश्य के pointOfView। उस नोड के गुणों पढ़ें आदि देखने के लिए, गहराई सीमा के कैमरे के क्षेत्र, खोजने के लिए कैमरे की स्थिति और अभिविन्यास, या नोड के camera विशेषता के गुणों का पता लगाने के

+0

मैंने इसे नहीं देखा! मैं कुछ पुराने दस्तावेज देख रहा होगा। – bugloaf

+1

मैं बस इस नोड को पुनः प्राप्त नहीं कर सकता। मुझे ये कैसे मिल सकता है? – berfis

+1

@rickster मैं कैमरे को "दृश्य के रूट नोड के तत्काल बच्चे के रूप में वर्णित" नहीं ढूंढ सकता। यह हमेशा शून्य है। "sceneView.scene? .rootNode.childNodes.first? .camera", "sceneView.scene? .rootNode.camera" और "sceneView.scene? .rootNode.enumerateChildNodes ({(नोड, स्टॉप) प्रिंट (" कैमरा: \ (node.camera) ") })" सभी वापसी शून्य। – zumzum

6

मान लिया जाये .. mySCNView SCNView है

@property (weak, nonatomic) IBOutlet SCNView *mySCNView; 

तो फिर तुम से कैमरे की स्थिति प्राप्त कर सकते हैं ..

NSLog(@"Camera position: %f %f %f", _mySCNView.pointOfView.position.x, _mySCNView.pointOfView.position.y, _mySCNView.pointOfView.position.z); 

NSLog(@"Camera rotation: %f %f %f %f", _mySCNView.pointOfView.rotation.x, _mySCNView.pointOfView.rotation.y, _mySCNView.pointOfView.rotation.z, _mySCNView.pointOfView.rotation.w); 

NSLog(@"Camera orientat: %f %f %f %f", _mySCNView.pointOfView.orientation.x, _mySCNView.pointOfView.orientation.y, _mySCNView.pointOfView.orientation.z,_mySCNView.pointOfView.orientation.w); 

मेरे मामले में, मैं allowsCameraControl चालू करने और देखने के लिए समायोजित, मूल्यों नीचे उल्लेख किया, और ऐप्स के शुरू में निर्धारित किया है। मुझे केवल स्थिति और अभिविन्यास सेट करने की आवश्यकता है, घूर्णन नहीं।

संबंधित मुद्दे