弾の状態を確認する部分から行います。
銃の銃口の回転方向を (0,0,0) になっているか、確認してください。
その状態で、弾のプレハブをヒエラルキーに配置してください。
弾のサイズが小さいと確認しにくいため、適宜なサイズに調整をおこなってください。
このとき、弾と銃の銃口が同じ方向を向いているか、確認を行います。
一致していれば問題ありませんが、下記の画像のように弾の向きがずれていることがあります。
このケースの場合、弾の X 軸が 90 度ずれています。
つまり、弾が生成されたとき、常に銃口から 90 度ずれていることを考慮して、スクリプトの修正を行う必要があります。
例えば、銃口が (90,30,30) という方向に対して向いているとしたら、
この向きだけを弾に与えた場合、先ほどシーンに配置したときのように 90 度 ずれて、その向きを向きます。
よって、スクリプトの修正内容としては、
1.弾の向きを銃口に合わせる
2.弾の向きのうち、X 軸を 90 度、追加で回転させる
この2つの処理を行うことで、弾が銃口に合うようになります。
ここでのポイントは、スクリプトだけを見直すのではなくて、そもそも、銃口に対して、弾がどうなっているのかを
事前に自分でチェックしておく必要がある、という部分です。
なぜなら、事前に配置することで、弾が銃口に対してずれていることを確認できますし、
その前提があって始めて、スクリプトの修正案を検討することができるためです。
スクリプトの制御によって
「どのような形にしたいのか」をイメージすることが出来るようになります。
スクリプトだけを見直していた場合、この弾の回転については修正が出来ません。
このように、処理を修正する場合には、スクリプトのみではなくて、Unity 全体で考えて見直していくという考え方、
視点を持つことが大切です。
なお、今回はたまたま銃口に対して 90 度のずれがありましたが、これが毎回決まって 90 度ということでもありません。
・回転させたいものが、どのような状態になっているか
それを元にして、柔軟な対応をするための、広い視野を持つことも大切です。