아키텍처의 지향은 스크립터블 오브젝트이다(유니티에서). 뭔소리인가?? -> 좋은 아키텍처란 모듈화에서 온다. 기능을 잘게 세분화하는 게 중요한데, MonoBehav는 최소한의 프로퍼티를 명시하고, 참조하는 시점과 조건의 틀만 정의한다. 즉 틀에 프로퍼티를 넣는 역할만 한다. 프로퍼티가 기능을 정의하려면 Mono로 만든 system, 컴포넌트, 스크립터블 오브젝트가 필요하다. 여기서 아키텍처는 SO를 선호한단 소리다. 이점이 뭘까 - mono만 작성해주면 되는 데 프로퍼티에 대한 SO를 따로 만들면 귀찮을 수도 있다. 하지만, 초기화 작업, 수정 작업은 인스펙터 창에서 가능하고, 확장 작업은 신규가 아닌 기존 소스재사용과 에셋생성으로 한다. 모두에게 언제든지 참조 가능한 인스턴스이므로 유연하다. 모듈화/ ..
-계기 text컴포넌트에서 html태그를 활용하여 글자색을 바꾸는 등, 글자를 꾸미거나 할수 있다. 하지만, 많은 기능을 제공하지 않고 있고, text mesh pro를 사용하여야 원하는 태그를 사용할수 있다. 그래서 text를 이용하여 tmp에서 제공하는 태그 기능을 만들어 볼수 있지 않을까? 생각하여, parser를 만들어 보았다. 거두절미하고, 결과는 만들기 어렵다(가능하지만, 투자시간이 너무 오래걸리고, 기존에 계획했던 방식으로는 할수 없었다)였다. 특정 text를 클리하였을 때, 이벤트를 주고 하려면 그text의 coordinate값이 필요한데, text에서는 없고, tmp에서는 인덱싱 별로 좌표값을 받고 있었던것이었다..물론 방법을 꾸준히 찾다 보면 있을수도 있겠지만, 나는 스택계산긴를 활용하..
ObjectPooling이란? 게임에 필요한 오브젝트를 미리 생성해서 필요할때마다 꺼내서 쓰고 사용이 끝나면, 다시 돌려놓는 개념이다. 필요할때마다, 오브젝트를 생성, 파괴를 하는 것이 아닌, 필요한만큼을 미리 만들어 두고 모자라면 추가 생성을 해주고, 게임이 끝나면 파괴를 해준다. 이로써, 생성 파괴 횟수를 줄일수있다. 언제 쓰이나? 주로, 총알이나 먼지 이펙트 같은곳에서 많이 쓰인다. 객체를 빈번하게 생성/삭제 해야할때, 객체들의 크기가 비슷할 때 객체를 힙에 생성하기엔 느리거나 메모리 단편화가 우려될 때 DB 연결이나 네트워크 연결같이 객체 생성시 비용이 비쌀 경우 미리 생성해두고 재사용할 필요가 있을 때 (메모리 단편화? RAM에서 메모리의 공간이 작은 조각으로 나뉘어져 사용가능한 메모리가 충분히..