2차원 배열 디버깅
(1) 2차원 배열 인스펙터에 보여주기 (2D Array in the Inspector)
(2) 커스텀 에디터로 인스펙터 수정하기 (Inspector with Custom Editors)
(3) 에디터 윈도우에서 실시간으로 2차원 배열 디버깅하기 (EditorWindow)
(4) 에디터 윈도우에서 블럭의 위치 Mapping 하기 (EditorWindow)
2차원 배열은 디버깅하기가 꽤 까다롭다.
매번 Console창에 로그를 찍어서 확인하기 힘들기 때문이다.
먼저 간단히 Inspector에 2차원 배열을 볼 수 있도록 해보자.
큐브 오브젝트에 아래의 스크립트를 추가한다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Cube : MonoBehaviour
{
public int[,] array = new int[3, 3];
}
2차원 배열을 public으로 선언했지만 스크립트에서 볼 수 없다.
2차원 배열을 보기 위해서는 int[,]로 선언하면 안되고,
Class나 구조체를 만든 후 Class와 구조체를 배열로 만들어서 2차원 배열처럼 다루어야 한다.
이때 직렬화를 해주어야 Inspector에서 볼 수 있다.
Serializable을 사용하기 위해서는 System을 선언해야 한다.
using System; /* Serializable */
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Cube : MonoBehaviour
{
[Serializable]
public class _2dArray
{
public int[] arr = new int[3];
}
public _2dArray[] test = new _2dArray[3];
public int[,] array = new int[3, 3];
}
이제 Inspector에서 크기가 3인 test 배열이 보인다.
test의 각 원소는 int[3] arr이므로 2차원 int [3, 3] 배열을 다루고 인스펙터에서 볼 수 있게 된다.
하지만 Serializable 처리를 하는 것도 번거롭고, 2차원 배열을 일렬로 봐야하는 것도 디버깅할 때 부담스럽다.
2차원 배열을 직관적으로 보기 위해서는 Inspector에 있는 에디터를 직접 커스터마이징하는 것이 좋다.
(1) 2차원 배열 인스펙터에 보여주기 (2D Array in the Inspector)
(2) 커스텀 에디터로 인스펙터 수정하기 (Inspector with Custom Editors)
(3) 에디터 윈도우에서 실시간으로 2차원 배열 디버깅하기 (EditorWindow)
(4) 에디터 윈도우에서 블럭의 위치 Mapping 하기 (EditorWindow)
Unity Plus:
Unity Pro:
Unity 프리미엄 학습:
'개발 > Unity' 카테고리의 다른 글
유니티 - 에디터 윈도우에서 실시간으로 2차원 배열 디버깅하기(EditorWindow) (0) | 2022.06.19 |
---|---|
유니티 - 2차원 배열 디버깅 : 커스텀 에디터로 인스펙터 수정하기 (Custom Editors) (0) | 2022.06.19 |
유니티 - OnGUI로 실시간 초당 프레임 수 확인하기 (FPS Status based on OnGUI) (0) | 2022.06.17 |
유니티 쉐이더 - 카메라가 바라보는 방향으로 밝아지는 큐브 (0) | 2022.06.14 |
유니티 - BoundBox로 블럭이 움직일 위치 미리 예상하기 (Runtime Collider, 런타임 콜라이더) (0) | 2022.06.12 |
댓글