
핵심 요약: 게임용 3D 모델 최적화 방법
- 대상 시나리오에서 3D 게임 모델을 프로파일링하여 실제 병목를 식별하고, 해당 병목에 기여하는 자산 데이터만 변경하여 3D 게임 모델을 최적화하십시오. 실루엣과 게임플레이에 필수적인 세부 사항을 보존하십시오. 숨겨진 또는 중복되는 기하학을 정리하고, 측정된 경우 재질 및 텍스처를 단순화하십시오. 대상이 지원하고 이점이 있는 경우 LOD, 컬링, 인스턴싱 또는 스트리밍을 사용하십시오. 불필요한 리그, 애니메이션 및 충돌 작업을 줄이십시오. 그런 다음 동일한 카메라, 빌드 및 하드웨어 전후를 비교하십시오. 낮은 폴리곤 수는 더 빠르거나 더 나은 자산을 증명하지 않습니다.
직접적인 답변: 대상 시나리오에서 3D 게임 모델을 프로파일링하여 실제 병목를 식별하고, 해당 병목에 기여하는 자산 데이터만 변경하여 3D 게임 모델을 최적화하십시오. 실루엣과 게임플레이에 필수적인 세부 사항을 보존하십시오. 숨겨진 또는 중복되는 기하학을 정리하고, 측정된 경우 재질 및 텍스처를 단순화하십시오. 대상이 지원하고 이점이 있는 경우 LOD, 컬링, 인스턴싱 또는 스트리밍을 사용하십시오. 불필요한 리그, 애니메이션 및 충돌 작업을 줄이십시오. 그런 다음 동일한 카메라, 빌드 및 하드웨어 전후를 비교하십시오. 낮은 폴리곤 수는 더 빠르거나 더 나은 자산을 증명하지 않습니다.
최적화는 통제된 실험입니다: 베이스라인, 가설, 변경, 측정, 그리고 수용 또는 롤백입니다.
1. 유용한 베이스라인 캡처
감소 도구를 여는 것으로 시작하지 마십시오. 대상 게임 빌드 또는 사용 가능한 가장 가까운 대표적인 환경에서 시작하십시오.

기록하십시오:
- 대상 엔진 및 정확한 프로젝트 버전;
- 플랫폼 및 대표적인 하드웨어;
- 빌드 구성;
- 장면, 카메라 경로, 해상도 및 품질 설정;
- 예상 자산 수량 및 가시성 패턴;
- 애니메이션, 충돌, 그림자, 바람, 상호작용 상태;
- 관련 CPU, GPU, 메모리, 스트리밍, 물리, 애니메이션 프로파일러 뷰;
- 타임스탬프가 있는 스크린샷, 로그 또는 캡처;
- 알려진 테스트 제한 사항.
자산 또는 자산 그룹을 고립시키되, 맥락에서도 테스트하십시오. 고립된 모델은 저렴해 보일 수 있지만, 수백 개의 인스턴스, 재질 변형, 그림자, 투명도, 애니메이션 또는 스트리밍이 실제 비용을 만듭니다.
하나의 병목 현상 진술을 선택하십시오. 예: "이 잎사귀 군집이 게임플레이 카메라에서 마스킹 재질 GPU 시간을 증가시킨다" 또는 "이 캐릭터의 스키닝 및 애니메이션 업데이트 비용이 군중 밀도에서 높다." "최적화하라"와 같은 모호한 목표는 피하십시오.
2. 가시적인 것과 게임플레이 계약 보호
데이터를 줄이기 전에 무엇이 살아남아야 하는지 정의하십시오:
- 각 관련 카메라 거리에서의 실루엣;
- 게임플레이에 중요한 포즈에서의 변형;
- 재질 정체성 및 가독성;
- 애니메이션 타이밍 및 루트 동작;
- 충돌, 내비게이션 및 상호작용;
- 부착점 및 모듈식 이음매;
- 중요할 때의 그림자 및 반사;
- 필수로 승인된 아트 디렉션 기능.
참조 뷰 및 테스트 포즈를 캡처하십시오. 이는 롤백을 위한 시각적 임계값을 만듭니다. 자산이 존재하는 이유를 제거하는 최적화는 하나의 지표가 개선되더라도 통과가 아닙니다.
영향에 따라 세부 사항 순위를 매기십시오:
- 실루엣 및 상호작용;
- 대형 형태 및 변형;
- 재질 분리 및 중간 형태;
- 단거리에서만 보이는 근접 세부 사항;
- 숨겨진 또는 중복된 데이터.
영웅 에셋, 먼 배경, 파괴 가능한 오브젝트, 또는 스타일화된 저해상도 게임의 경우 순위가 달라질 수 있습니다.
3. 이유를 가지고 지오메트리를 최적화하라
기여할 수 없는 데이터를 제거하라
숨겨진 내부 면, 중복 표면, 의도치 않은 겹침, 분리된 파편, 보이지 않는 밑면 세부 사항, 그리고 가져온 구성 지오메트리를 점검하라. 에셋이 열리거나, 부서지거나, 애니메이션되거나, 필요한 그림자를 캐스팅하거나, 다른 카메라에서 보일 수 없음을 확인한 후에만 제거하라.
실루엣과 변형에 에지를 사용하라
평평한 표면은 종종 더 적은 세그먼트를 사용할 수 있다; 둥근 실루엣과 구부러지는 관절은 더 많이 필요할 수 있다. 토폴로지 패스는 단순히 수치를 맞추는 것이 아니라 셰이딩과 움직임을 보존해야 한다. 게임플레이 거리와 극단적인 포즈에서 평가하라.
하드 에지, 노멀, 삼각형화를 제어하라
지오메트리 축소는 셰이딩 오류를 만들 수 있다. 하드/소프트 에지 전략, 버텍스 노멀, UV 시임, 미러 영역, 그리고 대상의 최종 삼각형화를 확인하라. 렌더링 비용과 버텍스 동작은 소스 도구의 폴리곤 표시와 정확히 일치하지 않을 수 있다.
리토폴로지 또는 디시메이션을 적절히 사용하라
수동 또는 가이드 리토폴로지는 에지 플로우, 변형, 베이킹, 모듈러리티, 또는 예측 가능한 클린업이 중요할 때 유용하다. 디시메이션은 결과를 검사하고 구조화된 토폴로지가 필요하지 않은 정적, 스캔된, 생성된, 또는 먼 지오메트리에 유용할 수 있다. 어느 접근법도 게임 준비 결과를 보장하지 않는다. 편집 가능한 소스를 보존하고 변경된 메시를 테스트하라.
대상이 해당 트레이드오프를 지원할 때만 세부 사항을 베이크하라
고주파 표면 세부 사항은 때때로 지오메트리에서 노멀, 높이, 또는 기타 텍스처 데이터로 옮길 수 있다. 이는 지오메트리를 텍스처 메모리, 샘플링, UV, 및 재질 작업과 교환한다. 베이킹이 항상 성능을 향상시킨다고 가정하기보다는 대상 재질, 밉 동작, 압축, 및 카메라 범위를 테스트하라.
4. UV, 재질, 및 텍스처 최적화
스프레드시트가 아닌 병목 현상을 수정하라
삼각형이 적은 모델도 많은 재질 슬롯, 복잡한 셰이더, 투명도, 큰 텍스처 세트, 나쁜 스트리밍 동작, 또는 비싼 그림자로 인해 여전히 비쌀 수 있다. 반대로 모든 것을 하나의 재질로 병합하면 과도하게 큰 텍스처, 재사용 손실, 또는 불필요한 메모리 상주가 생길 수 있다.
타겟 렌더러에서 재질 및 텍스처 동작을 프로파일링하라. 그런 다음 다음을 고려하라:
- 사용되지 않는 재질 슬롯 및 텍스처 참조 제거;
- 에셋 간에 적절한 재질 공유;
- 아트 디렉션이 허용하는 경우 타일링 또는 트림 텍스처 사용;
- 불필요한 고유 텍스처 영역 축소;
- 화면 공간 필요에 따른 텍스처 크기 선택;
- 밉맵, 압축, 알파, 및 색 공간 설정 검토;
- 프로젝트 규칙에 따라서만 채널 패킹;
- 렌더러 증거에 따라 셰이더 브랜치 또는 레이어드 이펙트 단순화;
- 시각적 효과와 성능 간의 교환 비용이 측정될 때만 투명도를 대체하라.
게임플레이 가독성을 제공하는 머티리얼의 차이를 지우지 마라. 대표적인 조명 하에서 전후 시각 비교를 유지하라.
5. LOD, 컬링, 인스턴싱, 스트리밍을 의도적으로 사용하라
세부 수준
LOD는 거리에서 지오메트리나 머티리얼 비용을 줄일 수 있지만, 메모리, 제작, 전환 조정, 유지보수를 필요로 한다. 임의의 백분율이 아닌 카메라의 필요에 따라 생성하라. 실루엣, 주요 셰이딩, 애니메이션, 머티리얼 호환성을 유지하라. 엔진이 의도한 대로 선택하는지 확인하고, 측정된 병목 현상이 개선되었는지 확인하라.
컬링
거리, 뷰 프러스텀, 가림 또는 컴포넌트 컬링은 시야에 기여하지 않는 오브젝트에 대해 작업을 피할 수 있다. 공격적인 컬링은 팝핑, 그림자 누락, 또는 게임플레이 오류를 유발할 수 있다. 다양한 카메라 속도와 경로로 테스트하라.
인스턴싱 및 배칭
반복되는 자산은 엔진별 인스턴싱 또는 배칭의 이점을 볼 수 있지만, 머티리얼 차이, 변환, 인스턴스별 데이터, 애니메이션, 렌더러 설정이 결과에 영향을 미친다. 프로파일러에서 구현을 확인하라. 공유 메시만으로는 의도한 드로우 동작을 증명하지 않는다.
스트리밍 및 대규모 세계
대규모 자산과 장면은 지오메트리, 텍스처, 또는 세계 스트리밍 전략이 필요할 수 있다. 이들은 메모리, 저장소, 가시성, 로딩 동작을 포함한 시스템 수준의 결정이다. 자산 최적화는 프로젝트의 현재 스트리밍 계약과 일치해야 하며, 고립된 계약을 새로 만들지 말라.
6. 리그, 애니메이션, 스키닝 최적화
캐릭터 및 변형 자산에 대해 다음을 검사하라:
- 필요한 움직임에 영향을 주지 않는 본;
- 프로젝트 요구사항을 초과하는 인플루언스와 웨이트;
- 소스 전용으로 남아야 하는 컨트롤 리그 또는 컨스트레인트;
- 중복 키를 가진 애니메이션 커브;
- 클립 경계, 루트 모션, 및 이벤트;
- 관련 거리 외부에서 활성화된 페이셜, 천, 헤어, 또는 액세서리 시스템;
- 화면 외부 또는 먼 거리의 애니메이션 업데이트 정책;
- 대상별 스키닝 및 애니메이션 설정.
관절을 순수히 수량만으로 제거하지 마라. 어태치먼트, 리타겟팅, 페이셜 모션, 물리, 게임플레이 로직, 및 미래 클립이 이에 의존할 수 있다. 모든 스켈레톤 또는 웨이트 변경 후 필요한 포즈와 클립을 비교하라.
7. 충돌 및 물리 간소화
렌더 지오메트리는 거의 항상 이상적인 충돌 지오메트리가 아니다. 게임플레이를 만족시키는 경우 단순 프리미티브, 컴파운드 셰이프, 또는 축소된 커스텀 충돌을 사용하라. 충돌, 히트 감지, 트리거, 내비게이션, 또는 물리적 반응이 필요한 부분을 정의하라.
플레이어 이동, 투사체, 배치, 스태킹, 고속 모션, 및 엣지 케이스를 테스트하라. 콜라이더 복잡도를 줄이는 것은 물리 병목 현상을 도울 수 있지만, 부정확한 콜라이더는 게임플레이를 손상시킬 수 있다. 충돌 최적화를 시각적 메시 축소와 분리하여 유지하라, 그래서 각각을 측정하고 검토할 수 있도록.
8. 임포트-프로파일-수정 루프 실행
- 베이스라인을 버전 관리하라. 편집 가능한 소스와 승인된 대상 상태를 보존하라.
- 하나의 지배적인 요인을 변경하라. 지오메트리, 머티리얼, 텍스처, LOD, 충돌, 리그, 또는 장면 동작.
- 문서화된 경로를 통해 익스포트하라. 경고 및 변경된 설정을 기록하라.
- 정확한 대상 버전으로 임포트하라. 아이덴티티, 스케일, 머티리얼, 스켈레톤, 클립, 충돌, 및 LOD 인식을 확인하라.
- 같은 테스트를 재생하세요. 같은 빌드, 씬, 카메라, 해상도, 하드웨어, 캡처 방법을 사용하세요.
- 성능과 품질을 비교하세요. 관찰된 차이를 보고하세요; 통제된 변경을 넘어서 인과관계를 암시하지 마세요.
- 승인하거나 롤백하세요. 서면 계약에 대해 최상의 균형을 가진 버전을 유지하세요.
- 다른 측정된 병목 현상이 남아 있는 경우에만 반복하세요. 에셋이 프로젝트 요구사항을 충족하면 중지하세요.
이 루프는 팀원이 검토할 수 있는 증거를 생성합니다. 또한 '최적화'가 끝없는 미적 저하가 되는 것을 방지합니다.
Unreal Engine 5에서 나무를 최적화하는 방법
나무는 여러 가지 비용이 많이 드는 동작을 결합합니다: 반복적인 인스턴스, 오버드로우에 취약한 큰 잎 면적, 바람 또는 변형, 그림자, 충돌, LOD 전환, 원거리 표현, 스트리밍. 올바른 UE5 접근 방식은 엔진 버전, 렌더러, 대상 플랫폼, 나무 기하학, 카메라, 씬 밀도, 그리고 특정 엔진 기능이 에셋과 프로젝트 구성을 지원하는지 여부에 따라 달라집니다.

이 조건부 워크플로우를 사용하세요:
- 단일 나무가 아닌 대표적인 숲 또는 게임플레이 씬을 설정하세요;
- UE의 현재 프로파일링 도구로 현재 CPU, GPU, 메모리, 드로우, 그림자, 오버드로우, 스트리밍 증거를 캡처하세요;
- 카메라 범위별로 줄기와 캐노피 실루엣을 검사하세요;
- 잎 재질, 마스킹/투명도, 양면 동작, 바람, 그리고 그림자 비용을 확인하세요;
- 현재 프로젝트가 폴리지 인스턴싱, 제작된 LOD, HLOD, 컬링, 임포스터, Nanite, 또는 World Partition의 이점을 받는지 확인하세요—현재 공식 문서와 에셋 유형이 이를 지원하는 경우에만;
- 충돌을 게임플레이 요구사항에 맞게 단순화하세요;
- 반복 인스턴스, 카메라 움직임, 조명, 바람, 대상 하드웨어를 테스트하세요;
- 한 번에 하나의 변경만 비교하고, 팝핑, 그림자 누락, 또는 캐노피 붕괴와 같은 시각적 퇴화를 기록하세요.
'Nanite 활성화' 또는 '특정 LOD 수 사용'을 보편적 조언으로 작성하지 마세요. 기능 지원과 트레이드오프는 변경됩니다. 테스트 중인 정확한 Unreal Engine 버전에 대한 Epic 문서를 사용하고, 프로젝트 노트에 검증 날짜를 기록하며, 프로덕션 에셋을 변경하기 전에 기능 지원을 재확인하세요.
최적화 예제 세 가지
히어로 프롭
프롭이 카메라 가까이에 나타나지만 한 번만 나타납니다. 실루엣과 재질 정체성을 보존하세요. 숨겨진 기하학, 재질 복잡도, 텍스처 사용, 충돌, 소스 정리에 집중하세요. 공격적인 원거리 LOD 작업이 비용이 많이 드는 셰이더를 줄이는 것보다 덜 가치가 있을 수 있습니다.
군중 캐릭터
캐릭터가 여러 번 나타나고 애니메이션됩니다. 스키닝, 애니메이션 업데이트, 재질, 그림자, 스켈레톤 복잡도, 거리 동작을 프로파일링하세요. 올바른 변경은 단순히 삼각형 수를 줄이는 것보다 더 단순한 원거리 표현이나 업데이트 정책일 수 있습니다.
반복되는 환경 키트
키트가 레벨 전반에 걸쳐 나타납니다. 모듈러 이음새, 재질 공유, 인스턴스 동작, 충돌, 조명/그림자 상호작용, 가시성, 스트리밍을 확인하세요. 반복은 비용 프로파일을 변경하므로 조립된 씬을 테스트하세요.
최종 최적화 체크리스트
- [ ] 목적지, 버전, 플랫폼, 하드웨어, 빌드, 씬, 카메라가 기록되었습니다.
- [ ] 기준 프로파일러 증거가 존재합니다.
- [ ] 시각적 및 게임플레이 계약이 캡처되었습니다.
- [ ] 하나의 병목 현상과 하나의 변경이 명시되었습니다.
- [ ] 기하학적 변경 사항은 실루엣, 셰이딩, 변형을 유지합니다.
- [ ] 재질과 텍스처는 대상에서 평가됩니다.
- [ ] LOD, 컬링, 인스턴싱, 스트리밍은 측정되고 지원되는 경우에만 사용됩니다.
- [ ] 릭, 애니메이션, 충돌 변경 사항은 필수 동작을 유지합니다.
- [ ] 전후 테스트는 동일한 방법을 사용합니다.
- [ ] 소스, 내보내기 설정, 경고, 결과, 롤백은 버전 관리됩니다.
질문과 답변
게임용 3D 모델을 최적화하는 방법은 무엇인가요?
대표적인 장면에서 모델을 프로파일링하여 실제 병목 현상을 식별하고, 가시적 및 게임플레이 계약을 유지한 후, 한 가지 기여 요인을 변경한 다음 동일한 빌드, 카메라, 하드웨어 및 프로파일러 캡처를 전후로 비교합니다.
먼저 폴리곤 수를 줄여야 하나요?
자동으로 하지 마세요. 기하학이 측정된 병목 현상인지 확인하십시오. 재질, 텍스처, 그림자, 애니메이션, 충돌, 투명도, 인스턴스, 또는 스트리밍이 더 중요할 수 있습니다. 기하학이 변경되는 경우 실루엣과 변형을 유지하십시오.
게임 모델에 몇 개의 폴리곤이 있어야 하나요?
일률적인 답은 없습니다. 타겟 플랫폼, 카메라 거리, 장면 밀도, 변형, 재질 동작, 및 프로파일러 증거를 사용하여 로컬 예산을 설정하십시오.
LOD는 항상 성능을 개선합니까?
아니요. 메모리, 전환, 제작, 및 유지보수를 추가합니다. 엔진이 올바르게 선택할 때, 시각적 품질이 여전히 수용 가능하고, 측정된 런타임 동작이 개선될 때에만 LOD를 사용하십시오.
Unreal Engine 5에서 나무를 어떻게 최적화할 수 있습니까?
대표적인 식물 장면을 프로파일링한 후, 캐노피 기하학, 마스킹된 재질, 오버드로우, 바람, 그림자, 충돌, 인스턴스, 거리 표현, 컬링, LOD/HLOD, 스트리밍, 및 현재 UE5 기능을 하나씩 평가하십시오.
디시메이션은 생성되거나 스캔된 모델을 게임 준비 상태로 만들 수 있습니까?
아니요. 디시메이션은 기하학을 줄일 수 있지만, 실루엣, UV, 셰이딩, 변형, 또는 토폴로지를 손상시킬 수 있습니다. 에셋은 여전히 권리, 재질, 스케일, 충돌, 패키징, 엔진 임포트, 및 성능 검증이 필요합니다.


