기본 콘텐츠로 건너뛰기

11월, 2013의 게시물 표시

Unity3D 최적화 - 2012년 6월

1. 프로파일러를 이용해서 병목현상 체크하기.  - Window > Profiler 메뉴를 이용한다. 2. 컬링 기법 이용하기.  - 프러스텀 컬링 (Frustum Culling) : 레이어별로 컬링 거리를 따로 지정 가능하다.  - 오클루전 컬링 (Occlusion Culling) : Window > Occlusion Culling 메뉴를 이용한다. 3. 드로우콜 체크하기.  - 드로우콜은 게임 오브젝트에 설정된 재질의 셰이더 패스당 하나씩 일어난다.  - 렌더러에 사용한 재질의 수만큼 드로우콜이 발생한다.  - 드로우콜의 발생을 최소화하기 위해서는 성질이 동일한 물체들은 하나의 메쉬와 재질을 사용하도록 통합하는 것이다.    (이를 위해 최상위 오브젝트에 사용할 수 있는 CombineChildren 컴포넌트가 Scripts 패키지에서 제공된다.)  - CombineChildren 컴포넌트를 사용할 경우, 하위 오브젝트가 모두 하나가 되어서 빛의 계산을 모두 수행하는 등 불필요한 계산이 발생하는 단점도 있다.  - 같은 셰이더를 사용하더라도 다른 텍스처를 사용하면 드로우콜이 증가한다.  - 위와 같은 경우, 텍스처를 모두 합친 큰 텍스처(텍스처 아틀라스)를 만들어 서로 공유하면 드로우콜을 줄일 수 있다. 4. 배칭기능 사용하기.  - Edit > Project Settings > Player 에서 설정.  - 정적 배칭을 사용할 경우, static으로 설정된 게임 오브젝트에서 동일한 재질을 사용하는 물체가 있는 경우 자동으로 통합한다.  - 정적 배칭을 사용할 경우, CombineChildren처럼 통합되는 오브젝트를 모두 하나의 커다란 메쉬로 만들어서 따로 저장하게 된다. (메모리 사용 증가)  - 동적 배칭은 움직이는 물체를 대상으로 동일한 재질을 사용하는 경우, 자동으로 메쉬를 통합하여 드로우콜을 줄여주는 기능이다.  - 동적 배칭은 계산양이 많으므로, 정