获取绳索 'Swing'

Getting Rope To 'Swing'

根据 youtube 教程,我有一堆用铰链接头连接的圆柱体。现在,当对它们应用 ExplosionForce 时,铰链关节会移动,但我希望它们在通过动画移动时来回 'swing'。

所以我将顶部 Cylinder 的 RigiedBody 设置为 Kinematic,并沿 X 轴向右设置动画。然后它突然停止,我希望 'rope' 的底部或其余部分向右摆动一点,然后像绳子一样再次摆动。最后,我想在这条绳子上装上聚光灯,照亮我的场景。但是我无法让绳子摆动,它只是静止不动。

我把场景导出为一个包,你可以在这里下载: https://www.pastefile.com/Up59SO

这是绳子不摆动的动画:

请帮忙。这真的很烦人,我不明白为什么它不应该工作!

也许这样的事情可以帮助,https://answers.unity.com/questions/1244519/how-to-randomly-set-the-direction-of-an-object-and.html?_ga=2.69603664.1732232616.1585344454-527098876.1571345094

试着把它想象成风。

首先确保所有的刚体都在场景的根部;没有任何东西。其次,你必须使用物理力来让元素摆动。但是,您不能对运动对象施加力。所以我建议不要将绳索的根部设置为运动学以冻结其在 Y 轴上的位置。

public class Movement : MonoBehaviour
{
    [SerializeField] Rigidbody rigidbody;
    [SerializeField] float power = 25;
    [SerializeField] float speed = 5;

    void FixedUpdate()
    {
        rigidbody.AddForce(Vector3.right * Mathf.Cos(Time.time * speed) * power);
    }
}