为什么PhysicalBody大于SceneView中的视觉模型?

问题描述

我正在与飞船一起绕地球飞行并摧毁物体的游戏。我想在物体撞击飞船时增加一些反应,但是要先检测到接触,才能“撞击”飞船的视觉模型。我发现节点的物理体大于视觉模型。如何设置为相同大小? 这是更多信息:

  • 我在Xcode的SceneKit编辑器中创建了由许多基本形状/节点构成的模型

  • 我在编辑器中用以下选项设置了物理主体:动态类型,认形状,边界框,比例:1。

  • 我的代码中有一部分对飞船节点有作用:

      shipNode = scene.rootNode.childNode(withName: "ship",recursively: true)!
      shipNode.physicsBody!.physicsShape = SCNPhysicsShape(node: shipNode,options: nil)
      shipNode.physicsBody!.categoryBitMask = 4
    

screen of UI of my game,with physicsshapes visible

解决方法

为了结束这一点,我们可能应该将其标记为已解决;

之前,太空飞船太大,所以我在主场景中更改了“太空船参考”的比例。在这种情况下,纹理变小了,但是物理体却没有。提示之后,我在原始的.scn文件中更改了船的大小,并解决了所有问题