Unity事例ノート

UNITY

プレーヤーの前からボールを発射する方法

Instantiateを使って発射する場合、自分のポジションから生成してしまうことで、動きに悪影響が出る場合があります。

ボールの発射位置を、プレーヤーの前方から出ていくようにしましょう。

関連記事:
移動と発射・MainCamera追従を組合わせる
キャラクターコントローラーに発射機能
前方にオブジェクトを置く

プレーヤーの前に空のオブジェクトをつくる

Cubeオブジェクトをつくり、真横のアングルから確認します。

遠近投影はOFFにしています。

座標はすべて0にしましょう。

空のオブジェクト(GameObject)を作成しましょう。

GameObjectも座標はすべて0にしておきます。

横のアングルで確認しながら、GameObjectを移動していきます。

プレーヤーのZ方向の前に動かします。

真上のアングルからも見て、プレーヤーの中央にあることを確認します。

GameObjectをドラッグして、Cubeの中に入れます。

これで、CubeとGameObjectの親子関係ができました。

ボール発射のスクリプト

ボールのPrefabデータを用意しましょう。

リジッドボディを追加し、重力を使用(UseGravity)はチェックを外します。

BallShot.csを作成し、GameObjectに追加しましょう。

BallPrefabフィールドには、Prefabデータを入れます。

速度フィールドは自由に入力してください。

プレイしてみましょう。

次回では動きながら発射するしくみを紹介しています。

関連記事:
移動と発射・MainCamera追従を組合わせる
キャラクターコントローラーに発射機能
前方にオブジェクトを置く