获取绳索 'Swing'
Getting Rope To 'Swing'
根据 youtube 教程,我有一堆用铰链接头连接的圆柱体。现在,当对它们应用 ExplosionForce 时,铰链关节会移动,但我希望它们在通过动画移动时来回 'swing'。
所以我将顶部 Cylinder 的 RigiedBody 设置为 Kinematic,并沿 X 轴向右设置动画。然后它突然停止,我希望 'rope' 的底部或其余部分向右摆动一点,然后像绳子一样再次摆动。最后,我想在这条绳子上装上聚光灯,照亮我的场景。但是我无法让绳子摆动,它只是静止不动。
我把场景导出为一个包,你可以在这里下载:
https://www.pastefile.com/Up59SO
这是绳子不摆动的动画:
请帮忙。这真的很烦人,我不明白为什么它不应该工作!
试着把它想象成风。
首先确保所有的刚体都在场景的根部;没有任何东西。其次,你必须使用物理力来让元素摆动。但是,您不能对运动对象施加力。所以我建议不要将绳索的根部设置为运动学以冻结其在 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);
}
}
根据 youtube 教程,我有一堆用铰链接头连接的圆柱体。现在,当对它们应用 ExplosionForce 时,铰链关节会移动,但我希望它们在通过动画移动时来回 'swing'。
所以我将顶部 Cylinder 的 RigiedBody 设置为 Kinematic,并沿 X 轴向右设置动画。然后它突然停止,我希望 'rope' 的底部或其余部分向右摆动一点,然后像绳子一样再次摆动。最后,我想在这条绳子上装上聚光灯,照亮我的场景。但是我无法让绳子摆动,它只是静止不动。
我把场景导出为一个包,你可以在这里下载: https://www.pastefile.com/Up59SO
这是绳子不摆动的动画:
请帮忙。这真的很烦人,我不明白为什么它不应该工作!
试着把它想象成风。
首先确保所有的刚体都在场景的根部;没有任何东西。其次,你必须使用物理力来让元素摆动。但是,您不能对运动对象施加力。所以我建议不要将绳索的根部设置为运动学以冻结其在 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);
}
}