2024/11 24

2024 11 05 TIL

오늘 TIL은 간략히 정리해보고 새로 배운 내용을 바탕으로 먼저 구현해보러 가본다. 오늘 한 실수 :  쓰임을 마치고 비활성화 된 오브젝트를 다시 풀로 회수하고 싶어 Instatiate로 복제된 프리팹의 이름을 가져와 다시 딕셔너리의 큐에 넣어주는 코드를 작성하던 중 Replace 를 사용해도 제대로 (Clone) 이 지워지지 않는 것을 봐서왜 그러지 했는데 다시 이름안에 넣어주어야 한다는 것을 잊었다.  알고리즘 문제좀 많이 풀어봐야 할것같다.  Resource[] objects = GetComponentsInChildren(true); //오브젝트의 하위 게임오브젝트들을 가져옴 true를 쓴 이유는 비활성화 된 오브젝트를 찾기 위해 foreach (Resource obj in objects) { ..

TIL 2024.11.05

직렬화(유니티)

직렬화란 유니티에서 직렬화(Serialization)는 데이터의 구조나 오브젝트 상태를 에디터가 저장하고 나중에재구성할 수 있는 포맷으로 자동 변환하는 프로세스를 말한다. 라고 유니티에서 말합니다. 직렬화를 사용하는 이유? 간단하게 생각하자면 데이터를 저장하여 다음 실행 때도 해당 데이터를 불러오고 싶을 때 쓰입니다.여러게임에서  우리가 저장이라는 개념을 알고 있듯 직렬화는 해당 데이터를 불러오고 싶어 그 주소를 기억하고 있는 것과 같습니다.  직렬화할 수 있는 단순 필드 타입Serializable 속성이 있는 비추상, 비일반 커스텀 클래스Serializable 속성이 있는 커스텀 구조체UnityEngine.Object에서 파생된 오브젝트에 대한 레퍼런스기본 데이터 형식(int, float, double..

자료 관리 2024.11.04

2024 11 04 TIL

오브젝트 풀링과정에서 다른 곳에서 받아온 리스트의 오브젝트를 큐로 집어넣고 다시 큐를 딕셔너리에 넣는데 NullReferenceException이 발생하였다.   해당 오류의 사유는 Start문에 있었다.  ResourceSpwan 이라는 곳에서 List를 받아와서 Queue에 넣고 딕셔너리에 키를 등록하는 것인데  해당 로직이 Start문 안에 있다.  따라서 딕셔너리가 초기화되는 Start문의 입장이 애매해져 딕셔너리가 선언만 되고 빈 껍데기였던 것이다.  public Dictionary> resourceDictionary = new();따라서 딕셔너리를 선언할 때 미리 초기화를 시켜주니 오류가 해결되었다.  개선할 사항메서드를 사용할 땐 동작하는 이름 동사중심 명사중심 이름 짓기 연습 메소드    ..

TIL 2024.11.04

2024 11 01 TIL

오늘 공유된 문제 : 에셋이 분홍색으로 표시되어 보이는 현상 에셋 속성 확인 projectSetting -> Graphics 에서 속성확인 가능 none이면 built in  외에 두가지 속성 속성이 다른 에셋이 들어가면 정상적으로 에셋이 보이지 않음. 따라서 에셋을 사용할 땐 속성을 통일하여 사용하여야함깃에 충돌이 발생하였던 문제 : 머지를 필수적으로 하면서 작업을 진행하도록 하자.  언제 무슨 상황이 일어날지 모르기에 어제 진행하였던 스크립트에 실행순서가 꼬이는 문제가 발생하여 수정하였고UI 는 크게 상속이 필요하지 않을 것 같다는 피드백을 받아 CondtionUI에 UI를 채우는 대상을 설정할 수 있도록 하여수정완료하였다.  또한 굳이 UIData 스크립트를 쓸 필요가 없다는 피드백으로 스크립트가 ..

TIL 2024.11.01