본문 바로가기

유니티31

[Unity]error: 프리팹의 parent 변경할 때 실수 조심 unity error: Setting the parent of a transform which resides in a prefab is disabled to prevent data corruption 코드 상에서 프리팹을 불러오고 parent를 수정할 때 하는 실수. 로드한 프리팹을 가지고 setparent 세팅하는 실수를 했다. 인스터스화된 게임오브젝트를 변수로 받은 다음 parent를 세팅하자. GameObject lightPrefab = Resources.Load("Prefabs/LightGroup") as GameObject; GameObject instance = PrefabUtility.InstantiatePrefab(lightPrefab) as GameObject; instance.trans.. 2019. 10. 20.
[Unity]Inspector에 버튼 추가하기 public class PrepareScene : MonoBehaviour { //... } [CustomEditor(typeof(PrepareScene))] public class PrepareSceneEditor : Editor { public override void OnInspectorGUI() { DrawDefaultInspector(); PrepareScene myScript = (PrepareScene)target; if (GUILayout.Button("Prepare Default Tilemap")) { myScript.Prepare(); } } } 매번 씬 생성 후 추가 작업하는게 번거로워 작업해야 할 내용을 만들어 버튼하나로 씬 세팅을 마쳤다. 2019. 10. 20.
[Unity]에디터 상태에서의 프리팹 Instantiate 보통 Instantiate(gameobject) 이런식으로 하는데 이번에 작업하면서 에디터 상태에서 인스턴스화 할 일이 있었다. 그 때는 위에 방식이 PrefabUtility.InstantiatePrerfab 함수를 통해 인스턴스화 해야한다. GameObject canvasPrefab = Resources.Load("Prefabs/UI/UICanvas") as GameObject; PrefabUtility.InstantiatePrefab(canvasPrefab); 2019. 10. 20.
[Unity]커스텀 프리팹 브러쉬 제작기 CSV 구조에 맞춰 타일맵 에디터를 만들어서 사용하고 있었다. 유니티 에디터 자체를 확장한게 아닌 그냥 하나의 씬을 만들었다. 너무 불편했다.. - 불편했던 점 일일히 씬을 실행시켜야 되는점. CSV 파일을 불러오기 전까지 맵을 미리 볼 수 없다는 점 타일에 들어갈 정보가 많아지니 CSV 한 셀에 들어가는 데이터가 너무 지저분해짐 타일 정보 추가될 때마다 CSV 파싱 및 만든 에디터를 자꾸 수정해야 함. 이 4가지 이유 때문에 유니티에서 제공하는 Tilemap으로 바꾸기로 결정했다. 출시초에 버그도 많았지만 지금 많이 고쳐졌고 있더라도 어느정도 솔루션을 찾아할 수 있는 것 같았다. (lineBrush는 팔레트에 그려져 버리는 버그가 아직도 있다. 밑에서도 설명하지만 팔레트도 타일맵이어서 그런듯) 추가로 .. 2019. 10. 18.