どうも、大石です。
あなたは、unityで弾を発射したいですか?
この記事を読めば、あなたはunityで弾を発射
できるようになります。
なので、弾を発射したければ、
このまま下にスクロールしてください。
スポンサードサーチ
目次
unityで弾を発射する方法
で結論からですが、弾を発射するには、
1、弾になるオブジェクトを用意しprefabにする
2、弾prefabにスクリプトをつける
3、発射台から弾をinstantiateする
以上3ステップで、できます。
それぞれ解説していきます。
弾になるオブジェクトを用意しprefabにする
これはblenderなどの3dソフトで作るのでも
いいですし、unityでsphereを銃弾ぐらいのサイズに
scaleを小さくして作るなどでもいいです。
とにかくまずは弾を用意しましょう。
そしてその弾オブジェクトをprefabにしましょう。
prefab弾オブジェクトにスクリプトをつけましょう。
で、次にprefab化した弾オブジェクトに、
スクリプトコンポーネントをはっつけて、
スクリプトのUpdate(){}の中に、
transform.position = transform.position + transform.forward;
と書きましょう。
こう書くと、弾が飛んでいくようになります。
発射台から弾をinstantiateしよう。
で次に発射台になるオブジェクトを用意しましょう。
まずは機能を作るだけなので、
cubeなどの適当なオブジェクトを用意し
発射台に見立てましょう。
でその発射台オブジェクトにスクリプトをつけ、
中にはこう書きましょう。
(弾発射に関わるとこだけ黄色背景にしてます。)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class launcher : MonoBehaviour
{
public GameObject bullet;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(Input.GetKeyDown("space")){
Instantiate(bullet);
}
}
}
このように書くと、
キーボードのspaceキーを押すと、
弾が発射されるようになります。
(厳密には生成され、それが飛んでいくという感じです)
あとはインスペクター上で、
先ほどprefabにした弾オブジェクトを、
bullet変数に登録しましょう。
で、ここまでできたら、ワクワクタイムです。
プレイボタンをクリックし、spaceキーを押してみましょう。
見事弾オブジェクトが生成され、
飛んでいったら成功です。
スポンサードサーチ
まとめ
unityで弾を発射する方法ですが、
1、弾になるオブジェクトを用意しprefabにする
2、弾prefabにスクリプトをつける
3、発射台から弾をinstantiateする
この3つをやりましょう。
最初初めてこれをやる場合は、
少し難しく感じるかもしれません。
ですが、実際に弾が飛んでいくと、
「おぉっ」という気持ちになり楽しいですよ。
それでは、是非ともやってみてください。
お読みくださりありがとうございました。
大石