方向を宣言せずにオブジェクトに力を加える方法はありますか? ボールを投げたいのですが、リリース時に一度触れるだけで力を加える必要があります。私はこのコードを使用しましrigidbody.velocity = transform.forward * 20;
たが、ボールは方向を変え、ボールが画面上でユーザーが意図した方向をたどった後、前方に移動しました。
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 に答える