如何让一个英雄物理身体静静地躺在一个移动的平台物理身体上?

jos*_*h k 5 box2d sprite-kit swift

我的游戏有一个带4个座位的摩天轮.每个座位都有一个英雄可以休息的平台.当座位处于向上轨迹时,英雄平静地停留在平台上.

然而,当座椅处于向下轨迹时,英雄上下移动一点.

我尝试了一些显而易见的事情:1.将恢复原状设置为0无效.2.将linearDamping设置为1无效.3.使平台和英雄的质量相同没有效果.4.调整摩擦力没有影响.

这是平台物理主体:

        supportNode?.physicsBody?.categoryBitMask = PhysicsCategory.ferrisPlatform.rawValue
        supportNode?.physicsBody?.mass = 1000
        supportNode?.physicsBody?.restitution = 0.0
        supportNode?.physicsBody?.friction = 0.0
        supportNode?.physicsBody?.linearDamping = 1.0
Run Code Online (Sandbox Code Playgroud)

这是英雄身体:

    self.physicsBody?.linearDamping = 1.0
    self.physicsBody?.mass = 30
    self.physicsBody?.restitution = 0
    self.physicsBody?.friction = 0
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何提示.在摩天轮骑行的路上,英雄很好,但在下来的路上只显示古怪的上/下运动,这绝对是奇怪的.

Bad*_*ger 2

对我来说这似乎是一个质量问题。平台的质量与此无关,因为我读到它固定在车轮上。所以你应该增加球员的质量。如果你进入摩天轮并使其旋转得足够快,那么你在下降的同时也会漂浮起来。将恢复设置为 0 可以很好地避免反弹,但它无助于将轻物体保持在适当的位置:它只是下落速度不够快。

另外,您可能想实际增加摩擦力,这样身体就不会滑动。零摩擦就像坐在冰上一样。