Unity事例ノート

UNITY

クリックした場所からボールを発射する

クリックした位置から真っすぐに、ボールを発射できるしくみをつくってみましょう。

ボールの生成と、ボールに力を加える、2つのスクリプトを組み合わせて作成します。

関連記事:
【Unity C#】クリック位置によって飛ばす方向を変える
【Unity C#】移動と発射・MainCamera追従を組合わせる
【Unity C#】キャラクターコントローラーに発射機能





ボールに力を加える

まずは1つ、色つきのSphereを用意します。

プロジェクトにドラッグ&ドロップして、プレハブを作成しましょう。

ヒエラルキーの元データは削除しておきましょう。

空のオブジェクトを作成します。

GameObjectができました。

ボールに力を加えるために、スクリプトを作成します。

スクリプト名は、SphereMove.csとしました。

これを、Sphereのプレハブに追加しましょう。

Sphereのプレハブを選択し、コンポーネントを追加 > スクリプト > SphereMove

リジッドボディも追加します。

コンポーネントを追加 > 物理 > リジッドボディ

SphereMove.csにコードを書きましょう。

もう一度、Sphereプレハブを見てみると、Forceのフィールドが出来ていて、1が入っています。

この数値を変えると、ボールの威力が変わります。

クリックした場所にボールを生成

続いて、ボールを生成するスクリプトをつくります。

名前はGameManager.csとしました。

これは、GameObjectに追加しましょう。

GameManager.csのコードを書きます。

GameObjectのインスペクターを確認しょう。

Bulletのフィールドができていますので、ここにSphereプレハブをドラッグ&ドロップします。

ゲームプレイしてみましょう。

マウスクリック位置を検出して、ワールドポイントでボール生成。

生成されたボールに力が加わり、Z方向に発射されます。

関連記事:
【Unity C#】クリック位置によって飛ばす方向を変える
【Unity C#】移動と発射・MainCamera追従を組合わせる
【Unity C#】キャラクターコントローラーに発射機能