(1)下準備(弾の設定)
- Sphereオブジェクトを1つ作成
- 名前を「Shell」に変更
- 大きさ、色等は自由に設定
- 「Rigidbody」を追加(ポイント)
- 「Use Gravity」のチェックを外す(これでゆっくりでもまっすぐ飛ぶようになります)
- Shellを「プレハブ化」したら、HierarchyにあるShellオブジェクトは削除
(2)下準備(発射台の設定)
- 新規にCreate Emptyオブジェクトを作成
- 名前を「ShotShell」に変更
- 場所は自由に設定
- これが発射台で弾はここから発射されます。
(3)スクリプトの作成
- 新規にC#スクリプトを作成
- 名前を「ShotShell」に変更
- 下記のコードを書いてチェック
using UnityEngine;
public class ShorShell : MonoBehaviour
{
// ★インプットシステム
private InputSystem_Actions isa;
public GameObject shellPrefab;
void Start()
{
// ★インプットシステム
isa = new InputSystem_Actions();
isa.Enable();
}
void Update()
{
// デフォルトでは「Jump」が「space」キーと対応している。
if(isa.Player.Jump.triggered)
{
GameObject shell = Instantiate(shellPrefab, transform.position, Quaternion.identity);
Rigidbody shellRb = shell.GetComponent<Rigidbody>();
shellRb.AddForce(transform.forward * 1000);
// 5秒後に砲弾を破壊する。
Destroy(shell, 5.0f);
}
}
}
(実行確認)
・スペースキーを押すと砲弾が生成されて、前方に飛んで行けば成功です。