BLOG

ブログ

新着記事

2019.04.22 Unityゲーム

白いパンのUnity勉強メモ第2回【Unity】【勉強】【入門】

イントロダクション

こんにちは!私は白いパンです。 またお会いしましたね。 前回はUnityのプロジェクトを作成し、戦闘機を動かすところまで作りました。 今回は戦闘機からミサイルを発射されるようにしましょう。

では、早速始まりましょう。

1.素材準備

今回のミサイルの素材もBlenderで作りました。 Blenderのホームページ ---素材ダウンロード missile.zip (素材はいちよう自分で作りました。しょぼいと思いますか、笑わないて下さい。^w^) それでは、ミサイルを選択してProjectビューにドラッグ&ドロップしましょう。

2.ミサイルを飛ばす

・missileのC#スクリプトを作成する。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MissileCs : MonoBehaviour {
    // Use this for initialization
    void Start () {
    }

    // Update is called once per frame
    void Update () {
        // 全体基準で、上方面へ移動
        transform.Translate(0, 0.1f, 0, Space.World);
                // 画面から出ったら、自分を消滅
        if (transform.position.y > 6) {
            Destroy(gameObject);
        }
    }
}

・スクリプトをミサイルモデルにドラッグ&ドロップする。

3.ミサイルのプレハブを作成

・ミサイルを繰り返して利用する為に、プレハブを作成する。 ・プレハブ説明は、unityのドキュメントを参照して下さい。 Prefabsのマニュアル

4.戦闘機からミサイルを発射

前回作成した。FighterCsを更新する。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FighterCs : MonoBehaviour {
    // ミサイルインスタンスを定義
    public GameObject missilePrefab;

    // Use this for initialization
    void Start () {
        // ミサイル関数を定期的に呼出す 
        InvokeRepeating ("fireMissile", 0.1f, 0.5f);
    }

    // Update is called once per frame 
    void Update() {
        ......
    }

    // ミサイル関数
    void fireMissile () {
        // ミサイルのインスタンスを作成する
        Instantiate (missilePrefab, 
                    transform.position, 
                    Quaternion.Euler(0, 0, 0));
    }
}
・InvokeRepeatingは定期的に目標関数を実行する。
    InvokeRepeatingマニュアル
・transform.positionは現オブジェクトの位置情報を取得する。
・Quaternion.Euler(0, 0, 0)はプレハブの回転情報を設定します。

5.ミサイルの噴火

・噴火の素材を作成する。 ・素材欄で右クリックして、Create->Materialを選択して、噴火マテリアを作成する。 ・噴火マテリアを選択して、Shaderのプルダウンから、Particles/Additiveを選択する。 ・ミサイルプレハブを選択して、InspectorビューのAdd Componentを押す。 ・ダイアログから、Effects->Trail Rendererを選択して追加する。

まとめ

プレハブを作成することがUnityの基本の考えかたと思いますよね。
プレハブ回転の設定が結構はまりました。
最初は位置情報と同じく、現オブジェクトの回転情報を継承しました。w
噴火の効果は、Trail Rendererを勉強するためでした。
パーティクルなどの機能を使えばもっといいものが出来る。
次回は、敵戦闘機を入れます。
お楽しみにしてください。

最初に戻る