iOS - 在 scenekit 中旋转 3D 对象
iOS - Rotate 3D object in scenekit
您好,我正在尝试在 scenekit 中旋转 3D 对象但没有成功,这是我的代码:
let rotateAction = SCNAction.rotateByAngle(90, aroundAxis: SCNVector3Make(0, 1, 0), duration: 3)
let moveAction = SCNAction.moveByX(25, y: 0, z: 0, duration: 6)
ship.runAction(rotateAction, completionHandler: {ship.runAction(moveAction)})
我已经设法让它在正确的轴上旋转,但出于某种原因它没有旋转 90 度,就像我说的那样它只是在 3 秒内旋转了很多次。感谢您的帮助。
rotateByAngle 的角度以弧度为单位,因此对于 90 度,您必须使角度为 1.571 弧度。
如果您想更彻底,请添加一个将度数转换为弧度的小函数。这也将使代码在将来更容易理解。
func degToRadians(degrees:Double) -> Double
{
return degrees * (M_PI / 180);
}
您好,我正在尝试在 scenekit 中旋转 3D 对象但没有成功,这是我的代码:
let rotateAction = SCNAction.rotateByAngle(90, aroundAxis: SCNVector3Make(0, 1, 0), duration: 3)
let moveAction = SCNAction.moveByX(25, y: 0, z: 0, duration: 6)
ship.runAction(rotateAction, completionHandler: {ship.runAction(moveAction)})
我已经设法让它在正确的轴上旋转,但出于某种原因它没有旋转 90 度,就像我说的那样它只是在 3 秒内旋转了很多次。感谢您的帮助。
rotateByAngle 的角度以弧度为单位,因此对于 90 度,您必须使角度为 1.571 弧度。
如果您想更彻底,请添加一个将度数转换为弧度的小函数。这也将使代码在将来更容易理解。
func degToRadians(degrees:Double) -> Double
{
return degrees * (M_PI / 180);
}