質問: shell.GetComponent(); // forward(青軸=Z軸)の方向に力を加える。 shellRb.AddForce(transform.forward * shotSpeed); // 発射した砲弾を3秒後に破壊する。 Destroy(shell, 3.0f); // 速度ベクトルを表示 Debug.Log("速度ベクトル: " + shellRb.velocity); // 速度を表示 Debug.Log("速度: " + shellRb.velocity.magnitude); } } } ``` ### 試したこと ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/3e961d6db8b1dd08becab770af925d7e.png) 先ほどのサイトのチュートリアルに従って作成しました。 スクリプトのvelocity.magnitudenの箇所は自分で追加しました。 ウェブサイトで、velocity.magnitudeが0になる原因を調べましたが参考になるサイトはありませんでした。 ### 補足情報(FW/ツールのバージョンなど) Unity2019.1.2f1
回答: 質問頂きありがとうございます。 発射された直後しか速度を見ていないので速度は0 になります。 配列などでRigidBodyを保持しておいて毎フレーム読み出すか、新しいMonoBehaviorクラスを砲弾にアタッチしたら良いと思います。