(1)下準備(弾の設定)
- Sphereオブジェクトを1つ作成
- 名前を「Shell」に変更
- 大きさ、色は自由に設定
- 「Rigidbody」を追加(重要)
- 「Use Gravity」のチェックを外す(これでゆっくりでもまっすぐ飛ぶようになります)
- Shellを「プレハブ化」したら、HierarchyにあるShellオブジェクトは削除
(2)下準備(発射台の設定)
- 新規にCreate Emptyオブジェクトを作成
- 名前を「ShotShell」に変更
- 場所は自由に設定
- これが発射台で弾はここから発射されます。
(3)スクリプトの作成
- 新規にC#スクリプトを作成
- 名前を「ShotShell」に変更
- 下記のコードを書いてチェック
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShotShell : MonoBehaviour { public GameObject shellPrefab; void Update() { if(Input.GetKeyDown(KeyCode.Space)) { GameObject shell = Instantiate(shellPrefab, transform.position, Quaternion.identity); Rigidbody shellRb = shell.GetComponent<Rigidbody>(); shellRb.AddForce(transform.forward * 500); Destroy(shell, 5); } } }
(4)設定
- コードのチェックが完了したらスクリプトをShotShellオブジェクト(発射台)に追加
- 空欄にShellプレハブを設定
- 設定が完了したらゲームを再生
- スペースキーをおすごとに弾が発射されてまっすぐ飛べば成功です。