C# 向某一点发送刚体2d
我在屏幕外生成一个对象,我想把它发送到中间。抽绳告诉我目标的方向是正确的。但物体会朝任意方向移动。我的计算有什么问题C# 向某一点发送刚体2d,c#,unity3d,game-physics,rigid-bodies,C#,Unity3d,Game Physics,Rigid Bodies,我在屏幕外生成一个对象,我想把它发送到中间。抽绳告诉我目标的方向是正确的。但物体会朝任意方向移动。我的计算有什么问题 // add force towards center of screen var targetPosition = new Vector3(Random.Range(-3, 3), Random.Range(-3, 3),00); var forceAmount = 10f; rb2d.AddForce((bigasteroid.transform.po
// add force towards center of screen
var targetPosition = new Vector3(Random.Range(-3, 3), Random.Range(-3, 3),00);
var forceAmount = 10f;
rb2d.AddForce((bigasteroid.transform.position - targetPosition).normalized * forceAmount);
Debug.DrawLine(targetPosition, bigasteroid.transform.position,Color.red,3f);
看来你是在向相反的方向前进。试试这个:
rb2d.AddForce((targetPosition - bigasteroid.transform.position).normalized * forceAmount);
你能再加一些代码吗?此代码是否在update()范围内?