(Unity)放物線状に物を投げる方法

(下準備)

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

(スクリプト)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Throw : MonoBehaviour
{
    public GameObject rockPrefab;
    public AudioClip sound;

    void Update()
    {
        if(Input.GetKeyDown(KeyCode.Z))
        {
            GameObject rock = Instantiate(rockPrefab, transform.position, Quaternion.identity);
            Rigidbody rockRb = rock.GetComponent<Rigidbody>();
            rockRb.AddForce(transform.forward * 350);
            Destroy(rock, 3.5f);
            AudioSource.PlayClipAtPoint(sound, Camera.main.transform.position);
        }
    }
}

(設定)

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


(確認)

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