【Unityスクール】弾の発射実装方法

こんにちは。
今回は簡単にできるUnityで物理的な弾を飛ばす方法を紹介します。
下記のC#スクリプトを新規で作成し、弾を発射するゲームオブジェクトにアタッチして下さい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerAttack : MonoBehaviour { [SerializeField] private GameObject bulletPrefab; [SerializeField] private Transform muzzlePoint; [SerializeField] private float shotSpeed; // Use this for initialization void Start () { } // Update is called once per frame void Update() { if (Input.GetButtonDown("Fire1")) { Shot(); } } public void Shot() { GameObject bullet = GameObject.Instantiate(bulletPrefab, muzzlePoint.position, muzzlePoint.rotation) as GameObject; bullet.GetComponent<rigidbody>().AddForce(bullet.transform.forward * shotSpeed); } }</rigidbody> |
インスペクター
Bullet Prefabに弾のゲームオブジェクトを、Muzzle Pointに弾の発射ポイントを、Shot Speedは弾の発射スピードです。
弾のゲームオブジェクトにはRigidBodyをアタッチしてください。AddForceで弾を飛ばしているので、アタッチしないと前に発射されません。
以上簡単な忘備録でした。
人気記事:Unityは独学で勉強できる?
おすすめのUnityスクール
Unityが学べるおすすめのプログラミングスクールはTECH STUDIAMになります。
理由はゲーム開発に特化したプログラミングスクールであり、2ヶ月で9万円の授業料で他のプログラミングスクールに比べても安いからです。
興味のある方は、無料相談してみるのをオススメます。
ゲーム制作を学べるオンラインスクール TECH STUDIAM