Rigidbody



Rigidbody2D を使って弾を連射します。

弾の移動

  1. チュートリアルでは Object を移動するとき Rigidbody(Rigidbody2D) が設定されています。
    Rigidbody2D は Rigidbody の2D版で物理的挙動を行うクラスです。
    Rigidbody(3D)の例題は Ball Drop を参照して下さい。
  2. Unity を起動して 2D 選択で Project を生成します。
    メニューから[Save Scene]を選び Main の名前で保存して下さい。
  3. ウインドウエクスプローラで Assets に画像(Ship.png と Tama.gif)をドラッグします。
    Assets からヒエラルキービューに Ship と Tama をドラッグしてシーンビューに表示します。
    Tama の名前を Bullet に変更して下さい。
  4. Bullet の Inspector から Add Component ボタンをクリックして Physics 2D→Rigidbody 2D を追加します。
    Rigidbody 2D の Gravity Scale を 0 に設定して下さい。
  5. [Projectタブ][Createタブ] から [C# Script] を選択して、Bullet.cs を作成します。
    class 名はファイル名と同じ Bullet になっています。
    C# Script(Bullet.cs) をヒエラルキービューの Bullet にアタッチします。
    (アタッチがうまく行かないときは Unity Project を参照して下さい)
    再生ボタンで Bullet(Tama.gif) が移動することを確認して下さい。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Bullet : MonoBehaviour {
        void Start ()
        {   GetComponent<Rigidbody2D>().velocity = transform.up.normalized * 5;
        }
    }
    
  6. Bullet を Assets にドラッグして、ヒエラルキービューの Bullet を右クリックから削除して下さい。
  7. プロジェクトを閉じると保存の確認があるので、保存して終了して下さい。
    ウインドウエクスプローラーでプロジェクトのフォルダーをコピーしてバックアップを取りましょう。
    長い作業が続くときは、要所要所でバックアップするのが賢明です。

弾を連射

  1. プロジェクトフォルダーに格納されている Assets/Main のダブルクリックで起動します。
  2. ヒエラルキービューには Ship が表示されています。
    [GameObject][Create Empty] から空のオブジェクトを作成して、名前を Shoot に変更します。
  3. [Projectタブ][Createタブ] から [C# Script] を選択して名前を Shoot.cs に変更します。
    class 名はファイル名と同じ Shoot にして下さい。(一致しないとエラーになります)
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Shoot : MonoBehaviour {
        public GameObject bullet;
    
        IEnumerator Start()
        {
            while(true)
            {
                Instantiate(bullet, transform.position, transform.rotation);
                yield return new WaitForSeconds (0.3f);
            }
        }
    }
    
  4. Shoot.cs を Shoot にアタッチして Inspector をクリックします。
    public GameObject bullet; を宣言すると Inspector に Bullet が追加されます。
    Inspector View(画面右)の Bullet にヒエラルキービューから移動した Assets/Bullet を設定します。
  5. 再生ボタンで実行すると、弾丸(Bullet)が連射されます。
    3Dの連射は 連射 を参照して下さい。

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