Circle

同心円状に弾丸を発射します。
  1. Rigidbody2D を組み込んで、同心円状に弾丸を発射します。
    Unity を起動して 2D 選択で Project を生成します。
    メニューから File→Save Scene を選び Main の名前で保存して下さい。
  2. ウインドウエクスプローラで Assets に画像(Tama.gif)をドラッグします。
    Assets からヒエラルキービューに Tama をドラッグしてシーンビューに表示します。
    Tama の名前を Bullet に変更して下さい。
    Bullet の Inspector から Add Component ボタンをクリックして Physics 2D→Rigidbody 2D を追加します。
    Rigidbody 2D の Gravity Scale を 0 に設定して下さい。
  3. [Projectタブ][Createタブ] から [C# Script] を選択して、Bullet.cs を作成します。
    class 名はファイル名と同じ Bullet にして下さい。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Bullet : MonoBehaviour
    {
        void Start ()
        {   GetComponent<Rigidbody2D>().velocity = transform.up.normalized * 2;
        }
    }
    
  4. Bullet.cs を Bullet にアタッチして下さい。
    再生ボタンをクリックして実行すると、弾丸が発射されます。
    Bullet を Assets にドラッグして、右クリックから削除して下さい。
  5. [GameObject][Create Empty] から空のオブジェクトを作成して、名前を Shoot に変更します。
  6. [Projectタブ][Createタブ] から [C# Script] を選択して、Shoot.cs を作成します。
    transform をZ軸で30度ずつ回転しながら12発の弾丸を発射します。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Shoot : MonoBehaviour {
        public GameObject bullet;
    
        void Start()
        {   transform.rotation = Quaternion.identity;
            for(int i=0; i<12; i++)
            {   transform.Rotate(new Vector3(0, 0, 1), 30);
                Instantiate (bullet, transform.position, transform.rotation);
            }
        }
    }
    
  7. Shoot.cs をヒエラルキービューの Shoot にアタッチして下さい。
    (アタッチがうまく行かないときは Unity Project を参照して下さい)
    public GameObject bullet; を宣言すると Shoot の Inspector に Bullet が追加されます。
    画面右の Bullet にヒエラルキービューから移動した Asset/Bullet を設定します。
    再生ボタンで実行すると弾丸が同心円状に発射されます。

transform Class

  1. transform.position 部は Vector2 なのですが、transform.rotation は Quaternion で定義されています。
  2. transform.Rotate() は、回転軸を指定して度数で回転する関数です。
    transform.Rotate(new Vector3(0, 0, 1), 30); は transform.rotation をZ軸で30度回転します。
    transform.Rotate(new Vector3(1, 0, 0), 90); は transform.rotation をX軸で90度回転します。

前田稔の超初心者のプログラム入門
超初心者のプログラム入門(Unity)