SceneKit (OpenGL) içinde düzgün kamera hareketi için standart yöntem nedir? El ile x değiştirerek, y yeterince düzgün değil, ancak CoreAnimation kullanarak "darbeli" hareket oluşturur. SceneKit üzerinde dokümanlar çok herhangi örnekler mutluluk duyacağız böylece sınırlı gibi görünüyor, Şu anda yapıyorum:SceneKit pürüzsüz kamera hareketi
- (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];
}
Hızını daha küçük bir değere değiştirin ve ayrıca SCNTransaction'ın 'animationTimingFunction' öğesini işaretleyin. 'CAMediaTimingFunction' işlevinin kCAMediaTimingFunctionLinear olduğundan emin olun, böylece nabız atmaz. – TheAmateurProgrammer