以Captain Forever为例和this教程,我将如何实现类似的运动?我已经找到了这个问题的几个答案,但我似乎无法让他们为我工作。我有一个父亲ridgidbody和两个儿童推进器刚体,每个都适用于每个。
X = transform.position.x;
Y = transform.position.y;
pos = new Vector2(X, Y);
// Should I be using these anywhere?
float angle = Mathf.Deg2Rad * Vector2.Angle(direction, forward);
Vector2 direction = COM - pos;
Vector2 forward = transform.up * force;
Vector2 distToCOM = pos - COM;
float torque = distToCOM.magnitude * forward;
if (Input.GetAxis("Vertical") > 0)
{
parentRB.AddForceAtPosition(torque,pos);
}
if (Input.GetAxis("Vertical") < 0)
{
// Not done yet
}
相当多的猜测已经进入了这个(我意识到一些代码有点粗糙),数学从来都不是我的强项!我感觉扭矩和力应该是矢量,但我不确定如何正确计算它们。
非常感谢你能给予的任何帮助,谢谢!
编辑:我做了一些改动,我想我已经设法让它与上述内容更接近,但仍然有一些不稳定的动作。