(Unity6)放物線状に物を投げる方法(インプットシステム)

(下準備)

  • オブジェクトを作成して「Rigidbody」を追加しておく(重要)
  • カラーリング等が完了したらPrefab化

(サンプルコード)

using UnityEngine;

public class Throw : MonoBehaviour
{
    private InputSystem_Actions isa;

    public GameObject rockPrefab;

    void Start()
    {
        isa = new InputSystem_Actions();
        isa.Enable();
    }

    void Update()
    {
        // デフォルトでは、「Attack」は「エンターキー」と対応
        if (isa.Player.Attack.triggered)
        {
            GameObject ball = Instantiate(rockPrefab, transform.position, Quaternion.identity);
            Rigidbody ballRb = ball.GetComponent<Rigidbody>();
            ballRb.AddForce(transform.forward * 700);
        }
    }
}

(設定)

  • Create Emptyオブジェクトを1つ作成
  • 名前を「ThrowPoint」に変更
  • これが物を投げる「発射台」となります。
  • 発射台は、斜め上方向に角度を変更すること(これがポイント)
  • 位置が決まったらキャラと親子関係にする。


(確認)

  • 全ての設定が完了したらゲームを再生
  • エンターキーを押して、オブジェクトが放物線状に飛んでいけば成功です。