SceneKit (OpenGL) के भीतर चिकनी कैमरा आंदोलन के लिए मानक विधि क्या है? मैन्युअल रूप से बदलते एक्स, वाई पर्याप्त चिकनी नहीं है, फिर भी CoreAnimation का उपयोग करके "स्पंदन" आंदोलन बनाता है। SceneKit पर डॉक्स बहुत इतना सीमित होने की किसी भी उदाहरण सराहना की होगी लगता है, मैं इस समय इस कर रहा हूँ:SceneKit चिकनी कैमरा आंदोलन
- (void)keyDown:(NSEvent *)theEvent {
int key = [theEvent keyCode];
int x = cameraNode.position.x;
int y = cameraNode.position.y;
int z = cameraNode.position.z;
int speed = 4;
if (key==123) {//left
x-=speed;
} else if (key==124) {//right
x+=speed;
} else if (key==125) {//down
y-=speed;
} else if (key==126) {//up
y+=speed;
}
//move the camera
[SCNTransaction begin];
[SCNTransaction setAnimationDuration: 1.0];
// Change properties
cameraNode.position = SCNVector3Make(x, y, z);
[SCNTransaction commit];
}
परिवर्तन की गति को एक छोटे से मूल्य पर आज़माएं, और SCNTransaction की 'एनीमेशन टिमिंग फ़ंक्शन' भी देखें। सुनिश्चित करें कि 'CAMediaTimingFunction' का फ़ंक्शन नाम kCAMediaTimingFunctionLinear है, इसलिए यह पल्स नहीं करता है। – TheAmateurProgrammer