1

有没有一种方法可以在不声明方向的情况下向对象添加力。我想扔球,但我只需要在触球时增加力量。我使用了这段代码rigidbody.velocity = transform.forward * 20;,但是球改变了它的方向并在球按照用户在屏幕上预期的方向后向前移动。

4

2 回答 2

1

尝试Rigidbody.AddForce并使用不同的ForceModes。如果我理解正确,Impulse 或 VelocityChange 将满足您的需求。

Vector3 forceDirection = transform.forward * 20;
currentGameObject.rigidbody.AddForce(forceDirection, ForceMode.Force);
于 2012-08-28T07:40:30.707 回答
0

如果我理解的话,你想在球的运动方向上施加力(或者可能是冲动?),即在它的速度方向上:

Vector3 forceDirection = transform.velocity * 20;
currentGameObject.rigidbody.AddForce(forceDirection, ForceMode.Impulse); // or ForceMode.Force

我不是很明白,我的意思是,力量必须有一个方向,对吧?我假设你希望它去它已经去的地方。

于 2012-08-31T17:28:34.323 回答