电子游戏中的机器人:弹簧和重力

时间:2015-11-28 13:59:03

标签: c# unity3d

我无法计算物体的垂直运动。 假设我有一个物体被弹簧固定在天花板上,原来的速度和位置可能会有所不同。

所以我尝试过这样的事情:

Vector3 springSpeed = attachPoint - position;
Vector3 speed = initialSpeed + new Vector3(springSpeed.x, springSpeed.y - 9.81, springSpeed.z);

// and prepare for next frame
initialSpeed = speed;

但这似乎不起作用,我不明白为什么。 我怎样才能有正常行为?

1 个答案:

答案 0 :(得分:1)

你不应该自己计算一切。

您可以使用Unity的物理引擎为您完成所有这些工作,创建一个对象,添加一个刚体组件,以便模拟物理,然后在“天花板”上创建另一个对象,该对象将用作锚点并添加第一个对象上的Spring组件,并将连接的主体设置为第二个。

在此处查看更多信息: