게임/Unity3D

내가 생각하는 유니티 엔진

Binceline 2012. 12. 6. 15:29

여기다가 계속 수정해 나가야겠다.

-----------


- 싸다.

- 멀티 플랫폼 지원.

- 대체로 간단하다.

- 쉐이더나 물리연산, 등 지원해주는 게 많다.

- UI는 흠.. 정리만 잘 해 놓는다면 문제될 건 없다.

- 디버그 기능이 있긴 한데.... 사용하긴 힘들고 디버그 로그를 작성해서 판단해야 한다.

- 스크립트들이 실행(?)되는 속도가 느린지 빠른지 가늠이 안 된다.     

- 소멸자를 못 쓴다.. C#이라 소멸자가 있긴 한데, 소멸자에서 오브젝트 메모리 해제가 불가능했던 기억이 있다.

그래서 나는 오브젝트 매니저 같은 걸 만들어서 따로 메모리 관리를 해 주었다..

- 메모리 누수가 은근 있다. 그래서 그..즉시 가비지 컬렉터를 불러주는 함수를 씬 사이에 넣어주어야 한다.

- 클래스 상속이랑 UI 관련해서 뭔가가 접근이 안되는 아쉬운 문제가 있었는데,, 갑자기 기억이 안난다. 생각나면 적겠음..

- 프로파일러가 있는데, 이건 굉장히 좋다. 현재 CPU, GPU, 등에서 일어나는 부하를 한 눈에 알 수 있고, 어떤 스크립트에서 부하가 걸리는지까지 알려 준다.

- 자체적으로 내장되있는 기능들이 아쉽다면 Asset Store라는 곳에서 다른 사람들이 잘 만들어서 팔고 있는 프로그램을 사서 쓰면 된다. 굉장히 편하다. iTween, EZ GUI 같은 좋은 라이브러리들이 많다.

- Collision/Collider로 물리 연산으로 충돌 처리를 해 주는데, 충돌했을 시 충돌한 오브젝트의 스크립트를 불러오는 코드를 작성해야 한다. 이건 꽤 부하가 있어서 자주 호출하는 경우는 좋지 않다고 한다. 이게 아쉬워서 이걸 쓰지 않고 직접 오브젝트 리스트를 만들어서 집어넣어 놓은 후 각각의 오브젝트들의 충돌처리를 직접 관리해 보았는데, 이게 과연 좋은 방법인지 아직 잘 모르겠다.

- 모델 메쉬의 폴리곤 수는 1500~4000개가 적당하다고 한다. 오히려 폴리곤 1개짜리 여러 개 있는 게 부하가 크다고 한다. (블로그에 있는 글 중 그래픽 퍼포먼스에 관한 글 참조)

- 최적화를 굉장히 잘 해야 한다.

반응형