お疲れ様です
くまだです

今回は告知です

新規サロンスタッフと
これからプログラミングを始める人の疑問に答えてみる

また、散歩ゲームの開発を開始しました。
実装中のステージ生成のスクリプトです
マイクラのようにブロックを敷き詰めています
参考に見てみてください

せっかくなのでgithubでスクリプト共有したいけど、有料アセットガンガンあるから、
スクリプト共有用のgithubを作ろうと思います
ついでにgithubの作り方の動画を作ろうと思います

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
using Explorior;

public class StageManager : MonoBehaviour
{
   /// <summary>
   /// プロックオリジナルオブジェクト
   /// </summary>
   [SerializeField] GameObject rootObject;

   /// <summary>
   /// ブロック一つ一つの管理変数
   /// </summary>
   List<StageController> stageControllers = new List<StageController>();

   /// <summary>
   /// ブロック半径
   /// </summary>
   int amount = 10;

   /// <summary>
   /// ゲームマネージャー 上位クラスだから引き継いで置くのは悪いけど、結局便利なので
   /// </summary>
   private GameManager gameManager;


   /// <summary>
   /// 初期化
   /// </summary>
   /// <param name="_gameManager"></param>
   public void Initialized(GameManager _gameManager)
   {
       stageControllers = new List<StageController>();
       rootObject.transform.ParentTransInitialize();
       rootObject.SetActive(false);
       gameManager = _gameManager;

       //初期ステージ生成
       StartCoroutine(BloackInit());

   }

   /// <summary>
   /// 初期ステージ生成
   /// </summary>
   /// <returns></returns>
   IEnumerator BloackInit()
   {

       SetUnityStage(0, 0);

       for (int i = 1; i <= amount; i++)
       {
           SetUnityStage(0, i);
           SetUnityStage(i, 0);
           SetUnityStage(0, -i);
           SetUnityStage(-i, 0);

           for (int j = 1; j <= amount; j++)
           {
               SetUnityStage(i, j);
               SetUnityStage(i, -j);
               SetUnityStage(-i, j);
               SetUnityStage(-i, -j);
           }      
       }

       //本当はfor文の中に入れて、処理不可軽減を入れたいのに、何でかrootオブジェクト消え去るので調査中
       yield return null;

   }

   /// <summary>
   /// ブロック一個分の生成
   /// </summary>
   /// <param name="x"></param>
   /// <param name="y"></param>
   public void SetUnityStage(int x, int y)
   {
       var stage = Instantiate(rootObject, rootObject.transform.parent);
       float ajust = rootObject.transform.localScale.x;
       stage.transform.localPosition = new Vector3(x* ajust,0, y* ajust);
       stage.SetActive(true);
       stage.name = "(" + x +"," +y+")";
   }

}

こんな感じでUnity勉強者の個別対応サロンをやっています!

▼Unity初心者向けオンラインサロンチャンネル
https://www.youtube.com/channel/UCIudBWed-SdQb8fQbaIz9kQ

▼Unity初心者向けオンランサロン(¥1000/月)を運営しています
・役立つUnity開発情報/マインドセット 週3回以上発信
・つまづいた所の個別質問対応など
https://explorior.jp/?page_id=426