Ios8 SceneKit中的allowRotation?

Ios8 SceneKit中的allowRotation?,ios8,scenekit,Ios8,Scenekit,如何禁止SceneKit中节点的旋转 例如,我希望一个模型(圆锥体)是动态的、跳跃的和飞行的,但总是垂直的 我试着在苹果的汽车演示中修复它,这是一个糟糕的解决方案。我也尝试了下面的代码,但模型只是缓慢和故障下降 - (void)renderer:(id<SCNSceneRenderer>)aRenderer didSimulatePhysicsAtTime:(NSTimeInterval)time{ _node.rotation = SCNVector4Make(0, 0,

如何禁止SceneKit中节点的旋转

例如,我希望一个模型(圆锥体)是动态的、跳跃的和飞行的,但总是垂直的

我试着在苹果的汽车演示中修复它,这是一个糟糕的解决方案。我也尝试了下面的代码,但模型只是缓慢和故障下降

- (void)renderer:(id<SCNSceneRenderer>)aRenderer didSimulatePhysicsAtTime:(NSTimeInterval)time{
    _node.rotation = SCNVector4Make(0, 0, 0, 0);
    //[_node.physicsBody resetTransform]; // - tried this too
}
- (void)渲染器:(id)aRenderer模拟物理场景:(NSTimeInterval)时间{
_node.rotation=SCNVector4Make(0,0,0,0);
//[\u node.physicsBody resetTransform];//-也尝试了此操作
}

…最后,我在scenekit手册中没有发现任何“allowRotation=NO”。

如果你想混合物理模拟和手动变换,请确保使用“运动学体”而不是“动力学体”。

如果你想混合物理模拟和手动变换,请确保使用“运动学体”而不是“动力学体”。

哈哈,我发现一些bug解决了这个问题(但这是一个bug,所以很奇怪)

  • 创建节点
  • 设置质量=1
  • 将节点添加到场景中
  • 设置质量=0-这使其静止且不可移动,但
  • 设置质量=1-这使其具有动态、跳跃和下降,但具有固定旋转

  • iOS 8.0.2 iPad mini

    啊哈,我发现一些bug解决了这个问题(但这是一个bug,所以很奇怪)

  • 创建节点
  • 设置质量=1
  • 将节点添加到场景中
  • 设置质量=0-这使其静止且不可移动,但
  • 设置质量=1-这使其具有动态、跳跃和下降,但具有固定旋转

  • iOS 8.0.2 iPad mini

    与SpriteKit中的布尔
    允许旋转
    标志不同,SceneKit允许您选择允许身体旋转的方向和幅度。看看酒店


    这可能比在不同的值之间切换质量更好——这种方法看起来可能是意外行为,因此您可能不想依赖它

    与SpriteKit中类似的布尔
    allowsRotation
    标志不同,SceneKit允许您选择允许身体旋转的方向和旋转幅度。看看酒店

    这可能比在不同的值之间切换质量更好——这种方法看起来可能是意外行为,因此您可能不想依赖它

    简单解决方案:

    node.physicsBody?.allowsRotation=false

    简单解决方案:


    node.physicsBody?.allowsRotation=false

    切换质量只是开玩笑。angularVelocityFactor工作得很好,感谢扭动的质量只是在开玩笑。angularVelocityFactor运行良好,谢谢