我将多个图像连接成一根绳子。我怎样才能减少绳索的弹性?

Posted

技术标签:

【中文标题】我将多个图像连接成一根绳子。我怎样才能减少绳索的弹性?【英文标题】:I joined multiple images into a rope. How can I decrease the rope stretchiness? 【发布时间】:2015-12-27 18:13:54 【问题描述】:

我根据this 教程创建了一根绳子,但我的绳子在绳子的每一端都有一个球。

高级:这就是他们制作绳索的方式。

    创建SKNodes 的数组 将每个绳索段(节点)附加到数组中 将每个节点添加到屏幕 将每个节点连接在一起形成一根绳子 (然后我在绳子的每一端添加一个球)

在我的程序中,我移动球并基本上像一个有弹性的钟摆一样摆动绳索。

这是我的问题:如果我用力摆动绳子,绳子就会拉得太长!如何减少绳索的拉伸量?我没有看到降低身体弹性的方法。

如果有任何其他有用的信息,请告诉我!提前致谢

【问题讨论】:

【参考方案1】:

你可以试试这两种方法。第一种方法是增加SKPhysicsJointPin类的属性frictionTorque

值的范围是从 0.0 到 1.0。默认值为 0.0。如果一个 指定大于默认值的值,摩擦应用于 减小物体绕销的角速度。

您遵循的教程的示例,在将joint 添加到场景之前,修改frictionTorque

for i in 1...length 
    let nodeA = ropeSegments[i - 1]
    let nodeB = ropeSegments[i]
    let joint = SKPhysicsJointPin.jointWithBodyA(nodeA.physicsBody!, bodyB: nodeB.physicsBody!,
        anchor: CGPointMake(CGRectGetMidX(nodeA.frame), CGRectGetMinY(nodeA.frame)))
    joint.frictionTorque = 0.5    // Add this line

    scene.physicsWorld.addJoint(joint)

第二种方法是限制销接头的摆动角度。启用shouldEnableLimits后,调整lowerAngleLimitupperAngleLimit的弧度。

详细了解Determining the Characteristics of the Pin Joint 的 SKPhysicsJointPin 类参考。

【讨论】:

感谢您的回复。我只是尝试更改frictionTorque,打开shouldEnableLimits 并调整上限/下限。什么都没有改变,还有其他想法吗? 我想通了!改变绳子的密度可以解决拉伸问题

以上是关于我将多个图像连接成一根绳子。我怎样才能减少绳索的弹性?的主要内容,如果未能解决你的问题,请参考以下文章

Unity绳子插件QuickRopes使用方法(让你快速创建你想要的绳索效果)

语义图像分割 NN (DeepLabV3+) 的内存过多问题

关于Unity中实现绳索物理效果Ultimate+Rope+Editor插件解析

bzoj 2560 串珠子

bzoj2560 串珠子

BZOJ2560 串珠子