Menu
CoddyTech

그리드에 생성하기

Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 67개 중 50번째.

루프 안에 루프가 있으면 그리드의 모든 셀을 방문합니다. 바깥쪽 루프가 열을 선택하고, 안쪽 루프가 그 열을 따라 이동합니다. 그 안에 Instantiate를 넣으면 모든 셀에 오브젝트가 생성됩니다. 너비가 2유닛인 타일을 사용해 3 x 3 바닥을 만들므로, 타일은 서로 2유닛씩 떨어져 배치됩니다:

public GameObject tilePrefab;

void Start()
{
    for (int x = 0; x < 3; x++)
    {
        for (int z = 0; z < 3; z++)
        {
            Vector3 spot = new Vector3(x * 2, 0, z * 2);
            Instantiate(tilePrefab, spot, Quaternion.identity, transform);
        }
    }
}

타일은 x = 0, 2, 4 및 z = 0, 2, 4 위치에 배치됩니다. 총 9개이며, (0, 0, 0)부터 (4, 0, 4)까지입니다. 루프는 Start()에서 한 번 실행됩니다. Update()에서 실행하면 매 프레임마다 타일이 9개씩 더 생성됩니다.

네 번째 인수는 부모입니다. 부모가 없는 Tile(Clone) 오브젝트 9개는 Hierarchy를 복잡하게 만들지만, transform을 전달하면 오브젝트가 이 스크립트가 붙어 있는 오브젝트인 Floor 아래에 정리되므로, 접어서 숨기거나 함께 이동하거나 함께 삭제할 수 있습니다. 전달하는 위치는 여전히 월드 위치입니다.

challenge icon

챌린지

중급

지면에 세워진 벽돌 4개 너비, 5개 행 높이의 벽을 Brick 프리팹으로 만드세요. 벽돌은 너비가 1단위이고 높이가 0.5단위입니다.

  • 4개의 열은 x = -1.5, -0.5, 0.5 및 1.5에 있습니다.
  • 맨 아래 행은 지면에 놓이므로, 해당 행의 벽돌은 y = 0.25에 있습니다. 각 행은 바로 아래 행보다 0.5만큼 위에 있습니다.
  • 모든 벽돌은 z = 0에 있고, 회전이 없으며, 이 스크립트가 붙어 있는 오브젝트인 Wall의 자식입니다.

Play를 눌러 벽을 확인한 다음 Check를 누르세요.

직접 해보기

using UnityEngine;

public class WallBuilder : MonoBehaviour
{
    public GameObject brickPrefab;

    void Start()
    {
        // 벽돌을 4열 5행으로 배치하며, 각 벽돌은 이 Wall의 자식입니다
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Unity 스크립팅 기초의 모든 레슨