Swift SceneKit-使用鼠标旋转摄影机
我正在尝试实现fps控制机制。问题是我的相机开始向想要的方向移动,然后来回跳跃。。。我也不知道如何连接两个或多个轴。这是我的密码:Swift SceneKit-使用鼠标旋转摄影机,swift,macos,scenekit,Swift,Macos,Scenekit,我正在尝试实现fps控制机制。问题是我的相机开始向想要的方向移动,然后来回跳跃。。。我也不知道如何连接两个或多个轴。这是我的密码: func gameView(didReceiveMouseMovedEvent event: NSEvent) { if let p = self.lastMouseP{ var x:CGFloat = 0 x = event.locationInWindow.x - p.x v
func gameView(didReceiveMouseMovedEvent event: NSEvent) {
if let p = self.lastMouseP{
var x:CGFloat = 0
x = event.locationInWindow.x - p.x
var y:CGFloat = 0
y = event.locationInWindow.y - p.y
self.player.move(cameraByX: 0, y: x, z: y, w: 0)
}
self.lastMouseP = event.locationInWindow
}
在播放器文件中:
func move(cameraByX x: CGFloat, y: CGFloat, z:CGFloat, w:CGFloat){
let rot = self.head.rotation
let xx = (x)*CGFloat(M_PI)/180.0 + rot.x
let yy = (y)*CGFloat(M_PI)/180.0 + rot.y
let zz = (z)*CGFloat(M_PI)/180.0 + rot.z
//let xr = SCNMatrix4MakeRotation(xx, 1, 0, 0)
let yr = SCNMatrix4MakeRotation(yy, 0, 1, 0)
let zr = SCNMatrix4MakeRotation(zz, 0, 0, 1)
self.head.transform = SCNMatrix4Mult(self.head.transform, zr)
}
老鼠这是为macOS而不是iOS设计的吗?哦,是的。。。对不起,我错过了关键字。。。我通常会问iOS。。很抱歉