gltfpack으로 GLB 폴리곤 줄이기

삼각형 유지율은 원본 삼각형 수에서 남기고 싶은 비율을 지정합니다. 오차 한도나 메시의 제약 때문에 결과가 목표보다 높게 나올 수 있습니다. 이 설정은 지오메트리에 영향을 주며, 텍스처 크기와 인코딩은 별도로 설정합니다.

무리하지 않는 목표로 시작

원본 모델을 업로드하고 텍스처는 유지한 채 목표 삼각형 유지율을 50%로 설정하세요. 단순화 오차는 기본값 1%로 두세요. 더 낮추기 전에 곡선 윤곽, 얇은 부분, 구멍을 비교하세요. 여러 메시가 있는 모델은 전체 개수만 보지 말고 각 부분을 확인하세요.

gltfpack -i input.glb -o output.glb -si 0.5 -kn -km -ke

목표에 도달하지 못하는 이유

오차 한도는 허용 가능한 단순화 오차를 제한합니다. 엄격한 한도에서는 감소가 일찍 멈출 수 있습니다. 열린 경계, 속성 이음새, 작은 메시 부분의 구조도 안전하게 단순화할 선택지를 줄일 수 있습니다. 사이트는 측정 결과와 가능한 원인을 알려 주지만 엔진은 정확히 하나의 중단 이유를 지정하지 않습니다.

분리된 조각들의 열린 가장자리가 맞아야 한다면 경계 정점을 잠그세요. 틈을 줄이는 데 도움이 되지만 삼각형이 더 많이 남을 수 있습니다. 내보낸 뒤 조립된 조각을 테스트하세요. 경계 잠금이 모든 시각적 이음새의 불변을 보장하지는 않습니다.

물결 샘플의 측정 결과

단순화 설정출력 삼각형 수
원본 메시8,192
목표 50%, 기본 오차 한도4,095
목표 10%, 오차 0, 경계 잠금8,192
목표 10%, 적극적인 단순화812

동일한 자체 CC0 원본 샘플과 네이티브 gltfpack 1.3을 사용했습니다. 삼각형 수는 각 메시 프리미티브를 한 번씩 합산합니다. 결과는 모델마다 다르며 목표에 가까운 개수라고 남은 형태가 적합하다는 뜻은 아닙니다.

같은 각도에서 윤곽 비교

표의 파일을 동일한 카메라, 조명, 재질로 Three.js 0.180.0에서 렌더링했습니다. 이미지를 열면 원래 크기로 확인할 수 있습니다. 바깥쪽 굴곡과 안쪽 구멍부터 살펴보고 삼각형 수만으로 판단하지 마세요.

고정된 비교 카메라에서 본 원본 물결 모델
원본: 삼각형 8,192개
삼각형 50퍼센트를 유지한 물결 모델
50% 유지: 삼각형 4,095개
적극적으로 10퍼센트를 유지한 물결 모델
적극적인 10% 유지: 삼각형 812개

적극적인 10% 결과에서는 안쪽 구멍의 선분이 더 직선에 가까워지고 모서리가 뚜렷하게 각집니다. 바깥 굴곡도 둥근 형태를 일부 잃습니다. 삼각형 목표를 달성했어도 작은 미리 보기에서는 이런 변화를 놓치기 쉽습니다.

이 샘플에는 스키닝이나 애니메이션이 없습니다. 한 시점만으로 움직임 문제, 가려진 표면, 모든 음영 변화를 알 수는 없습니다. 삼각형 수를 줄인 결과를 채택하기 전에 자신의 모델을 회전시키고 실제 표시 크기로 확인하세요.

비교한 뒤 적극적인 단순화 사용

적극적인 단순화는 요청한 개수를 우선하며 오차 한도를 무시합니다. 이 모드에서는 화면의 오차 입력란이 비활성화됩니다. 복사본에 적용하고 윤곽과 표면 음영을 확인하세요. 까다로운 모델에서 품질을 유지하는 지름길은 아닙니다.

gltfpack -i input.glb -o output.glb -si 0.1 -sa -kn -km -ke

삼각형을 줄여도 용량이 거의 줄지 않는다면 →

엔진 참고 자료: gltfpack

최적화 도구 열기 ↗