问题描述
我正在与飞船一起绕地球飞行并摧毁物体的游戏。我想在物体撞击飞船时增加一些反应,但是要先检测到接触,才能“撞击”飞船的视觉模型。我发现节点的物理体大于视觉模型。如何设置为相同大小? 这是更多信息:
-
我在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文件中更改了船的大小,并解决了所有问题