Unity事例ノート

UNITY

定位置からボールを発射させるしくみ

Unityには、目に見えない光(レーザービーム)を飛ばして、シーン上の位置方向の情報を取得できるRayが用意されています。

Rayを使って、一定の位置からボールを発射できるしくみを、作ってみましょう。

関連記事:
【Unity C#】360°全方位に向けて発射
【Unity C#】クリックした位置にオブジェクトを生成(Ray)
【Unity C#】キャラクターコントローラーに発射機能
【Unity C#】ドラッグした方向へ飛ばす

Rayの方向情報

Rayの方向情報を、DebugLogで表示してみましょう。

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

GameObject(空のオブジェクト)に、BallShot.csを作成して追加します。

BallShot.csを書きます。

プレイして、ゲームビューをクリックしてみましょう。

DebugLogで方向情報の数値が表示されます。

ボール発射のスクリプト

ScreenPointToRayを使って、ボールを発射してみます。

Sphereオブジェクトを作成して、マテリアルカラーを付けます。

Sphereの位置を決めます。この位置がボールの発射位置に影響します。

Sphereをプレハブ化しましょう。

Sphereの元データは削除しておきます。

Sphereのプレハブデータに、リジッドボディを追加します。

BallShot.csをもう一度、編集しましょう。

GameObjectのインスペクターを確認します。

プレハブのフィールドが出来ているので、ここにSphereのプレハブデータを入れます。

ゲームプレイして、動きを確認しましょう。

関連記事:
【Unity C#】360°全方位に向けて発射
【Unity C#】クリックした位置にオブジェクトを生成(Ray)
【Unity C#】キャラクターコントローラーに発射機能
【Unity C#】ドラッグした方向へ飛ばす