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 に答える