読者です 読者をやめる 読者になる 読者になる

AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

生徒数8x6=48人に増員

シューズロッカーが1ブロック8つまでだったので、1クラス8人にしました。
校舎の都合で教室は6つしかないので、6組まで。


部活の着替え用にロッカー室を作りたいけど、48個もロッカーを並べる作業はやりたくないので、
editor拡張で並べます。

あらかじめロッカーはprefabのlockerと用意しておきます。
教室や学校の周囲のフェンスも、同様にeditor拡張で配置しています。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class setClassRooms : EditorWindow
{
    [MenuItem("Window/Set ClassRooms")]
    static void Init()
    {
        setClassRooms window = (setClassRooms)EditorWindow.GetWindow(typeof(setClassRooms));
        window.Show();
    }
    void OnGUI()
    {
        if (GUILayout.Button("Set Lockers")) setter4();
    }
    void setter4()
    {
        GameObject parent = GameObject.Find("lockers");
        GameObject pf = (GameObject)Resources.Load("locker");

        Quaternion rot = Quaternion.Euler(0, 0, 0);
        Quaternion rot2 = Quaternion.Euler(0, 180, 0);

        for (int y = 0; y <= 4; y++)
        {
            for (int x = 0; x <= 10; x++)
            {
                GameObject ob;
                Vector3 pos = new Vector3(x*0.6f, 0, y*1.6f);
                Vector3 pos2 = new Vector3(x*0.6f, 0, 1.6f*(y-0.7f));
                if ((y % 2) == 0)
                {
                    ob = Instantiate(pf, Vector3.zero, rot2, parent.transform);
                    ob.transform.localPosition = pos2;
                    ob.transform.localRotation = rot;
                }
                else
                {
                    ob = Instantiate(pf, Vector3.zero, rot, parent.transform);
                    ob.transform.localPosition = pos;
                    ob.transform.localRotation = rot2;
                }
                int num = (x + y * 11 + 1);
                ob.name = ob.name.Replace("(Clone)", num.ToString() );
            }
        }
    }
}
広告を非表示にする