【问题标题】:iOS - Rotate 3D object in scenekitiOS - 在场景包中旋转 3D 对象
【发布时间】:2017-09-20 03:51:37
【问题描述】:

您好,我正在尝试在 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 秒内旋转了很多次。感谢您的帮助。

【问题讨论】:

    标签: ios scenekit


    【解决方案1】:

    rotateByAngle 的角度以弧度为单位,因此对于 90 度,您必须将角度设为 1.571 弧度。

    如果您想更彻底,请添加一个小函数来将度数转换为弧度。这也将使代码在未来更容易理解。

    func degToRadians(degrees:Double) -> Double
    {
        return degrees * (M_PI / 180);
    }
    

    SCNAction Class Reference

    【讨论】:

    • Swift 为 Pi/2(90 度)定义了 M_PI_2。最好使用该符号定义而不是 1.571。
    • 感谢你们俩现在的工作,你们有没有机会知道如何将 2D 图像添加到场景中?
    猜你喜欢
    • 2015-09-14
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    相关资源
    最近更新 更多