
이 페이지에서 얻을 수 있는 정보 Unity에서 작업하는 모바일 게임 개발자를 위한 아트 에셋 최적화 팁입니다. 이 글은 두 개의 기사 모바일 게임용 아트 최적화에 대해 설명합니다.
그 밖의 많은 모바일 최적화 팁을 찾을 수 있습니다. 이 포괄적인 전자책 과 이 Unity 학습 과정 모바일 애플리케이션을 위한 3D 아트 최적화

모바일 플랫폼에서는 다각형과 정점 모두 계산 비용이 많이 듭니다. 애플리케이션의 시각적 품질에 실제로 기여하는 영역에 폴리곤을 배치하여 처리 예산을 낭비하지 않도록 하세요.
대부분의 모바일 디바이스의 작은 화면 크기와 애플리케이션의 3D 개체 위치로 인해 3D 개체의 작은 삼각형 디테일이 보이지 않을 수 있습니다. 즉, 눈에 보이지 않는 작은 디테일보다는 물체의 실루엣에 기여하는 큰 모양과 부분에 집중해야 합니다. 텍스처와 노멀 맵을 사용하여 세밀한 디테일을 표현하세요.

오브젝트가 원거리로 이동하면 레벨 오브 디테일 (LOD)을 조정하거나 더 단순한 머티리얼과 셰이더를 사용하여 더 단순한 메시를 사용하도록 전환하여 GPU 성능을 개선할 수 있습니다.
더 많은 LOD 준비 팁
LOD를 사용하지 않는 경우
LOD가 모든 상황에 적합한 것은 아닙니다. 예를 들어 카메라 뷰와 오브젝트가 모두 정적이거나 오브젝트가 이미 낮은 폴리곤 수를 사용하고 있는 애플리케이션에서는 사용하지 않는 것이 좋습니다. LOD는 실시간으로 사용할 수 있도록 메시 데이터를 저장해야 하므로 메모리 오버헤드와 파일 크기가 커집니다.

여러 개의 메시를 하나로 결합하여 렌더링에 필요한 드로 콜 횟수를 줄일 수 있습니다. 이 기법을 적용하려면 계층구조에 빈 게임 오브젝트를 생성하여 결합하려는 메시의 부모로 만든 다음, 부모 게임 오브젝트에 Mesh.CombineMeshes( ) 메서드를 구현하는 스크립트를 첨부합니다.
오클루전 컬링 사용
다른 오브젝트 뒤에 숨겨진 오브젝트는 여전히 렌더링 및 리소스 비용이 발생할 수 있습니다. 오클루전 컬링을 사용하여 폐기합니다.
카메라 뷰 외부의 프러스텀 컬링은 자동이지만, 오클루전 컬링은 구워지는 프로세스입니다. 오브젝트를 스태틱 오클루더 또는 스태틱 오클루디로 표시한 다음 창 > 렌더링 > 오클루전 컬링 대화 상자를 통해 구우면 됩니다. 모든 장면에 컬링이 필요한 것은 아니지만 많은 경우 컬링을 통해 성능을 향상시킬 수 있습니다. 자세한 내용은 오클루전 컬링 작업 튜토리얼을 확인하세요.

다음은 모델을 가져올 때 염두에 두어야 할 몇 가지 유용한 팁입니다.

텍스처는 크기가 다를 수 있습니다. 디테일이 덜 필요한 텍스처의 크기를 줄이면 대역폭을 줄이는 데 도움이 됩니다. 예를 들어 디퓨즈 텍스처를 1024 x 1024로 설정하고 관련 러프니스/메탈릭 맵을 512 x 512로 설정할 수 있습니다. 텍스처 크기를 선택적으로 줄이고, 나중에 시각적 품질이 저하되지 않았는지 항상 확인하세요.
대부분의 텍스처링 소프트웨어는 sRGB 색 공간을 사용하여 텍스처를 작업하고 내보냅니다.
sRGB 색 공간에서 디퓨즈 텍스처를 사용하는 것이 좋습니다. 색상으로 처리되지 않는 텍스처는 sRGB 색상 공간에 속하지 않아야 합니다. 이러한 텍스처의 예로는 메탈릭, 러프니스, 노멀 맵 등이 있는데, 맵은 색이 아닌 데이터로 사용되기 때문입니다. 이러한 맵에서 sRGB를 사용하면 머티리얼에 잘못된 시각적 효과가 나타납니다.
참고: 인스펙터 창의 sRGB(색상 텍스처) 설정에서 러프니스, 스페큘러, 노멀 맵 또는 이와 유사한 항목 옆에 체크 표시가 없는지 확인합니다.

앰비언트 오클루전 및 작은 스페큘러 하이라이트와 같은 요소를 베이크한 다음 디퓨즈 텍스처에 추가할 수 있습니다. 이 접근 방식은 스페큘러 하이라이트와 앰비언트 오클루전을 얻기 위해 계산 비용이 많이 드는 셰이더와 Unity 기능에 지나치게 의존하지 않아도 된다는 의미입니다.

가능하면 셰이더에서 컬러 틴팅이 가능한 회색조 텍스처를 사용하세요. 이렇게 하면 텍스처 메모리를 절약할 수 있으므로 틴팅을 수행하기 위해 커스텀 셰이더를 만드는 데 드는 비용이 절감됩니다. 이 방법을 사용하면 모든 개체가 잘 보이는 것은 아니므로 이 기법을 선택적으로 사용해야 합니다. 색상이 균일한 개체에 적용하는 것이 더 쉽습니다.

텍스처 필터링은 씬의 텍스처 품질을 향상시키는 경우가 많지만, 더 나은 텍스처 품질을 얻으려면 더 많은 처리가 필요하므로 성능이 저하될 수도 있습니다. 텍스처 필터링은 때때로 GPU 에너지 소비의 최대 절반을 차지할 수 있습니다. 더 간단하고 적절한 텍스처 필터를 선택하면 애플리케이션의 에너지 수요를 줄이는 데 도움이 될 수 있습니다.

대부분의 메모리는 텍스처에 사용되므로 여기서 임포트 설정이 중요합니다. 일반적으로 에셋을 가져올 때는 다음 가이드라인을 따르세요.

iOS와 Android 모두에 적응형 확장 가능한 텍스처 압축(ATSC)을 사용합니다. 개발 중인 대부분의 게임은 ATSC 압축을 지원하는 최소 사양 기기를 대상으로 하는 경향이 있습니다. 유일한 예외는 다음과 같습니다:

텍스처 채널 패킹은 세 개의 맵을 하나의 텍스처로 가져올 수 있으므로 텍스처 메모리를 절약하는 데 도움이 됩니다. 즉, 텍스처 샘플러 수가 줄어든다는 뜻입니다. 이 접근 방식은 일반적으로 러프니스, 매끄러움 및/또는 메탈릭을 하나의 텍스처로 패킹하는 데 사용됩니다. 모든 텍스처 마스크에도 적용할 수 있습니다. 예를 들어 알파 마스크를 저장할 수도 있습니다. 투명도가 있는 이미지는 32비트 포맷이 필요하기 때문에 메모리 공간이 더 클 수 있지만, 무료 채널을 사용하여 알파 마스크를 저장하면 디퓨즈 텍스처를 16비트로 유지하여 파일 크기를 효과적으로 절반으로 줄일 수 있습니다.
녹색 채널을 사용하여 가장 중요한 마스크를 보관하세요. 우리 눈은 녹색에 더 민감하고 파란색에 덜 민감하기 때문에 일반적으로 녹색 채널에 더 많은 비트가 있습니다.

UV 맵은 3D 모델의 표면에 2D 텍스처를 투영합니다. UV 언래핑은 UV 맵을 생성하는 프로세스입니다.