ios - Physics forces not affecting dynamic body Scenekit -
मेरे दृश्य में हैं;
दृश्य के मूल में एक स्थिर शरीर
_firstNode = [[SCNNode alloc] init]; _firstNode.position = SCNVector3Make (0, 0, 0); _firstNode.geometry = [SCNSphere sphereWithRadius: 950]; _firstNode.geometry.firstMaterial.diffuse.contents = [UIColor greenColor]; _firstNode.physicsBody = [SCNPhysicsBody staticBody]; [[दृश्य रूट नोड] जोड़ें चाइल्डनोड: _firstNode];
यह एक पिंड संपत्ति के साथ एक गतिशील शरीर है (0, -1000,0) एक SCNAction
के साथ जो इसे स्थैतिक शरीर के आसपास स्थायी रूप से घूमता है
_secondNode = [[SCNNode alloc] init]; _secondNode.position = SCNVector3Make (0, 0, 0); _secondNode.pivot = SCNMatrix4MakeTranslation (0, -1200, 0); _SecondNode.physicsBody = [SCNPhysicsBody गतिशील बॉडी]; _secondNode.geometry = [SCNSphere sphereWithRadius: 2]; _secondNode रन एक्शन: [SCNAction repeatActionForever: [SCNAction rotateByX: -1 y: 0 z: 0 अवधि: 10.0]]]; [[दृश्य रूट नोड] जोड़ें चाइल्डनोड: _secondNode];
जब मैं आवेदन करने की कोशिश करता हूं;
<पूर्व> [_ secondNode.physicsBody लागू करेंटॉर्क: SCNVector4Make (0, 1, 0, 1) आवेग: हाँ];
नोड पर कोई प्रभाव नहीं होता है जैसे कि इसे एक स्थिर शरीर के रूप में घोषित किया गया।
अगर मैं पढ़ रहा हूं कि आप क्या चाहते हैं, तो अपना दूसरा नोड को इस तरह सेट करें ...
_secondNode.position = SCNVector3Make (0, -1200,0);
इसे पहलेनोड से सेट कर दिया जाएगा
उसके बाद उसका पिवट बिंदु सेट करें ...
_secondNode.pivot = _firstNode.pivot;
यह आपके पहले नोड के समान स्थान पर धुरी को सेट करता है और उसे उस बिंदु के आसपास घुमाने के लिए अनुमति देता है। यह केवल तब तक काम करेगा जब तक कि आपकी पहली नोड पिवट संपत्ति बदल दी गई नहीं है।
अंत में आपकी कार्रवाई की तरह ही सेट करें ...
SCNAction rotateByX: M_PI * 2 y: 0 z: 0 अवधि: 10.0
< P> ध्यान दिये मैंने अपनी एक्स सेटिंग को M_PI * 2 में बदल दिया जो कि 360 डिग्री के बराबर है। आप विपरीत दिशा को घुमाने के लिए "-M_PI" का उपयोग कर सकते हैं
Comments
Post a Comment