FBX Folder

ゲームのリソースをフォルダーごとにまとめる方法です。

Resource

  1. XNA に添付されているシューティングゲームのリソースをフォルダーごとにまとめる方法を説明します。
    今回使用するリソースの一覧です。
  2. Unity を起動して [NewProject] から3Dプロジェクトを作成して下さい。
  3. Assets を右クリックして Create→Folder から次のフォルダーを作成して下さい。
    (メニューから Assets→Create→Folder で作成することも出来ます)
    Assets/Models
    Assets/Textures
    Assets/Scripts
    Assets/Prefabs
  4. ウインドウ・エクスプローラーを起動して [Assets/Models] に次のモデルをドラッグします。
    モデルと同時に Assets/Models/Materials のフォルダーとマテリアルが作成されます。
    p1_saucer.fbx
    p2_saucer.fbx
    p1_pencil.fbx
    p2_pencil.fbx
  5. Assets/Models/Materials のフォルダーを選択します。
    右クリックして Create→Material から v2, v3 を追加して下さい。(v1 は作成済)
    saucer_p1_diff_v1.mat
    saucer_p1_diff_v2.mat
    saucer_p1_diff_v3.mat
    saucer_p2_diff_v1.mat
    saucer_p2_diff_v2.mat
    saucer_p2_diff_v3.mat
    pencil_p1_diff_v1.mat
    pencil_p1_diff_v2.mat
    pencil_p1_diff_v3.mat
    pencil_p2_diff_v1.mat
    pencil_p2_diff_v2.mat
    pencil_p2_diff_v3.mat
  6. ウインドウ・エクスプローラーを起動して [Assets/Textures] に次の画像をドラッグします。
    saucer_p1_diff_v1.gif
    saucer_p1_diff_v2.gif
    saucer_p1_diff_v3.gif
    saucer_p2_diff_v1.gif
    saucer_p2_diff_v2.gif
    saucer_p2_diff_v3.gif
    pencil_p1_diff_v1.gif
    pencil_p1_diff_v2.gif
    pencil_p1_diff_v3.gif
    pencil_p2_diff_v1.gif
    pencil_p2_diff_v2.gif
    pencil_p2_diff_v3.gif
  7. メニューから File→Save Scene を選び Main の名前で保存します。

ペンシルロケットの描画

  1. ペンシルロケットから始めます。
    Assets/Models からヒエラルキービューに p1_pencil.fbx をドラッグして下さい。
  2. [Assets/Models/Materials/pencil_p1_diff_v1.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
    Texture の矩形に Assets/Textures/pencil_p1_diff_v1.gif をドラッグします。
  3. Assets/Scripts を選択して [Projectタブ][Createタブ]から[C# Script]を選択して Pencil.cs を作成します。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Pencil : MonoBehaviour {
    
        void Update ()
        {
            if (Input.GetButtonUp("Jump"))
            {   transform.position = new Vector3(-2, 0, 18);  }
            else
            {   transform.Translate(new Vector3(-0.1f, 0.01f, -0.3f));  }
        }
    }
    
  4. Pencil.cs をヒエラルキービューの p1_pencil.fbx にアタッチします。
  5. ヒエラルキービューの p1_pencil を選択して Inspector からモデルの姿勢を調整します。
    p1_pencil.fbx X Y Z
    Position -2 0 18
    Rotation 0 220 0
    Scale 0.50.5 0.5
  6. 再生ボタンで実行するとペンシルロケットが飛んで行きます。
    Space キーでロケットが元の座標に戻ります。
  7. ヒエラルキービューの p1_pencil の名前を p1_pencil_1 に変えて Assets/Prefabs にドラッグします。
  8. 同じモデルでも Textures が異なると別のモデルに見えます。
    1. [Assets/Models/Materials/pencil_p1_diff_v2.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
      Texture の矩形に Assets/Textures/pencil_p1_diff_v2.gif をドラッグします。
    2. ヒエラルキービューの名前を p1_pencil_2 に変えて、[Assets/Models/Materials/pencil_p1_diff_v2.mat] をドラッグします。
      再生ボタンで確認後に Assets/Prefabs にドラッグします。
    3. [Assets/Models/Materials/pencil_p1_diff_v3.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
      Texture の矩形に Assets/Textures/pencil_p1_diff_v3.gif をドラッグします。
    4. ヒエラルキービューの名前を p1_pencil_3 に変えて、[Assets/Models/Materials/pencil_p1_diff_v3.mat] をドラッグします。
      再生ボタンで確認後に Assets/Prefabs にドラッグします。
  9. Assets/Prefabs の p1_pencil_1, p1_pencil_2, p1_pencil_3 を順にヒエラルキービューにドラッグして実行されることを確認して下さい。


  10. 次に p2_pencil.fbx を描画するのですが、p1_pencil.fbx と同じ要領です。
    Assets/Models からヒエラルキービューに p2_pencil.fbx をドラッグして下さい。
  11. [Assets/Models/Materials/pencil_p2_diff_v1.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
    Texture の矩形に Assets/Textures/pencil_p2_diff_v1.gif をドラッグします。
  12. Assets/Scripts/Pencil.cs をヒエラルキービューの p2_pencil.fbx にアタッチします。
  13. モデルの姿勢は p1_pencil.fbx と同じです。
    p2_pencil.fbx X Y Z
    Position -2 0 18
    Rotation 0 220 0
    Scale 0.50.5 0.5
  14. 再生ボタンで実行するとペンシルロケットが飛んで行きます。
    Space キーでロケットが元の座標に戻ります。
  15. ヒエラルキービューの p2_pencil の名前を p2_pencil_1 に変えて Assets/Prefabs にドラッグします。
  16. 同じモデルでも Textures が異なると別のモデルに見えます。
    1. [Assets/Models/Materials/pencil_p2_diff_v2.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
      Texture の矩形に Assets/Textures/pencil_p2_diff_v2.gif をドラッグします。
    2. ヒエラルキービューの名前を p2_pencil_2 に変えて、[Assets/Models/Materials/pencil_p2_diff_v2.mat] をドラッグします。
      再生ボタンで確認後に Assets/Prefabs にドラッグします。
    3. [Assets/Models/Materials/pencil_p1_diff_v3.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
      Texture の矩形に Assets/Textures/pencil_p2_diff_v3.gif をドラッグします。
    4. ヒエラルキービューの名前を p2_pencil_3 に変えて、[Assets/Models/Materials/pencil_p2_diff_v2.mat] をドラッグします。
      再生ボタンで確認後に Assets/Prefabs にドラッグします。
  17. Assets/Prefabs の p2_pencil_1, p2_pencil_2, p2_pencil_3 を順にヒエラルキービューにドラッグして実行されることを確認して下さい。
    メニューから File→Save Scene で保存します。

敵機の描画

  1. Assets/Models からヒエラルキービューに p1_saucer.fbx をドラッグして下さい。
  2. [Assets/Models/Materials/saucer_p1_diff_v1.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
    Texture の矩形に Assets/Textures/saucer_p1_diff_v1.gif をドラッグします。
  3. Assets/Scripts を選択して [Projectタブ][Createタブ]から[C# Script]を選択して Saucer.cs を作成します。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Saucer : MonoBehaviour {
    
        void Update () {
            transform.Rotate(new Vector3 (17, 29, 43) * Time.deltaTime);
        }
    }
    
  4. Saucer.cs をヒエラルキービューの p1_saucer にアタッチします。
  5. モデルが大きいようなので Scale を X, Y, Z 共に 0.5 に設定して下さい。
    再生ボタンで実行するとモデルが回転しながら描画されます。
    ヒエラルキービューの p1_saucer の名前を p1_saucer_1 に変えて Assets/Prefabs にドラッグします。
  6. 同じモデルでも Textures が異なると別のモデルに見えます。
    1. [Assets/Models/Materials/saucer_p1_diff_v2.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
      Texture の矩形に Assets/Textures/saucer_p1_diff_v2.gif をドラッグします。
    2. ヒエラルキービューの名前を p1_saucer_2 に変えて、[Assets/Models/Materials/saucer_p1_diff_v2.mat] をドラッグします。
      再生ボタンで確認後に Assets/Prefabs にドラッグします。
    3. [Assets/Models/Materials/saucer_p1_diff_v3.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
      Texture の矩形に Assets/Textures/saucer_p1_diff_v3.gif をドラッグします。
    4. ヒエラルキービューの名前を p1_saucer_3 に変えて、[Assets/Models/Materials/saucer_p1_diff_v3.mat] をドラッグします。
      再生ボタンで確認後に Assets/Prefabs にドラッグします。


  7. ヒエラルキービューからモデルを削除して Assets/Models から p2_saucer.fbx をドラッグして下さい。
  8. [Assets/Models/Materials/saucer_p2_diff_v1.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
    Texture の矩形に Assets/Textures/saucer_p2_diff_v1.gif をドラッグします。
  9. Assets/Scripts/Saucer.cs をヒエラルキービューの p2_saucer にアタッチします。
  10. モデルが大きいようなので Scale を X, Y, Z 共に 0.5 に設定して下さい。
    再生ボタンで実行するとモデルが回転しながら描画されます。
    ヒエラルキービューの p2_saucer の名前を p2_saucer_1 に変えて Assets/Prefabs にドラッグします。
  11. 同じモデルでも Textures が異なると別のモデルに見えます。
    1. [Assets/Models/Materials/saucer_p2_diff_v2.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
      Texture の矩形に Assets/Textures/saucer_p2_diff_v2.gif をドラッグします。
    2. ヒエラルキービューの名前を p2_saucer_2 に変えて、[Assets/Models/Materials/saucer_p2_diff_v2.mat] をドラッグします。
      再生ボタンで確認後に Assets/Prefabs にドラッグします。
    3. [Assets/Models/Materials/saucer_p1_diff_v3.mat] を選択して Inspector から画面右上の Shader に Unlit/Texture を選択します。
      Texture の矩形に Assets/Textures/saucer_p1_diff_v3.gif をドラッグします。
    4. ヒエラルキービューの名前を p1_saucer_3 に変えて、[Assets/Models/Materials/saucer_p1_diff_v3.mat] をドラッグします。
      再生ボタンで確認後に Assets/Prefabs にドラッグします。
  12. Assets/Prefabs のモデルを順にヒエラルキービューにドラッグして実行されることを確認して下さい。
    メニューから File→Save Scene で保存します。

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