3D/BIM 경량화에서의 컴포넌트 인스턴싱: 형상 중복 제거를 통해 GPU 규모 렌더링을 구현하는 방법
3D 환경에서의 컴포넌트 인스턴싱/빔 경량화:기하 데이터 중복 제거가 GPU 스케일 성능을 끌어내는 방법 세우다~에
네이티브 BIM 모델부터 브라우저 렌더링 장면까지 — 3D Expert의 3D/BIM 플러그인, Opt 파일 생성기, Three.js용 Rapid3D 로더에 적용된 인스턴싱 파이프라인의 엔지니어링 기술
작성자: 3D Expert Co.,Ltd. | 일본 오사카 | 2026년 8월
그만큼 인스턴싱 파이프라인 — 제품에 매핑됨
1단계: 기하학적 특징 추출 및 중복 탐지
인스턴싱의 첫 번째 과제는 기하학적으로 동일한 구성 요소를 식별하는 것입니다. BIM 모델의 구성 요소 목록에 "Door_Type_A"와 같이 400개의 요소가 레이블로 표시될 수 있지만, 매개변수 변형, 제자리 편집 수정 및 부동 소수점 정밀도 편차로 인해 모든 요소가 동일한 메쉬를 공유하는 것은 아닙니다. 3D Expert의 핑거프린팅 엔진은 레이블이 아닌 실제 정점 데이터를 분석하여 진정한 기하학적 동일성을 판단합니다.
- 다중 서명 기하학 해싱
각 메시에는 세 가지 독립적인 특징(a) 정점 개수 및 삼각형 개수, (b) 양자화된 허용 오차를 갖는 축 정렬 경계 상자 크기, (c) 정렬된 정점 좌표의 MurmurHash를 결합한 복합 지문이 할당됩니다. 세 가지 특징이 모두 일치하는 경우에만 두 메시가 인스턴싱 후보로 간주됩니다. 이 3단계 필터는 오탐을 효율적으로 제거합니다. 비용이 적게 드는 특징 검사(정점 개수, 경계 상자)를 통해 비용이 많이 드는 해시 비교가 실행되기 전에 불일치의 95% 이상을 걸러냅니다.
- 구동 방식: 3D/BIM 플러그인(기하학적 형상 추출 → GLZIP 압축) → Opt 파일 생성기(지문 인식 및 중복 감지 → .opt). 데스크톱 버전: 3D 모델 및 데이터 도우미(GLZIP 또는 개방형 파일 형식 가져오기, 내부적으로 동일한 지문 인식 기능 수행, Windows 10 이상 지원)
- 위상 정보를 고려한 동등성 검증
지문 서명이 일치하면 2차 검증 단계에서 메시 토폴로지, 즉 정점과 간선의 인접 그래프를 비교합니다. 이 단계를 통해 정점 개수와 경계 상자는 같지만 연결성이 다른 두 메시(예: 치수는 같지만 연결성이 다른 문짝과 창틀)를 찾아낼 수 있습니다. 서명 및 토폴로지 검사를 모두 통과한 메시만 인스턴스 그룹으로 병합됩니다.
- 구동 방식: Opt File Generator(토폴로지 검증 → .opt). 데스크톱: 3D Model & Data Asst(동일한 검증 엔진, 통합 경량화 및 렌더링, Windows 10 이상 지원)
- 부동소수점 허용 오차 정규화
BIM 저작 도구는 프로젝트별 단위와 정밀도로 정점 좌표를 저장합니다. Revit은 1/256인치 해상도의 내부 피트 단위를 사용하고, Bentley는 배정밀도의 밀리미터 단위를 사용합니다. 핑거프린팅 엔진은 해싱 전에 모든 좌표를 공통 양자화 그리드(기본 허용 오차 ±0.1mm, 구성 가능)로 정규화하여 서로 다른 저작 도구에서 내보낸 동일한 도어 패밀리가 일치하는 핑거프린트를 생성하도록 합니다. 이러한 플랫폼 간 정규화는 여러 BIM 도구에서 모델을 통합하는 프로젝트에 필수적입니다.
- 구동 방식: 3D/BIM 플러그인(좌표 추출 → GLZIP) → Opt 파일 생성기(정규화 및 지문 인식 → .opt). 데스크톱: 3D 모델 및 데이터 지원(동일한 파이프라인, Windows 10 이상)
2단계: 프로토타입 인스턴스 데이터 재구성
중복 그룹이 식별되면 엔진은 데이터를 재구성합니다. 하나의 메시가 프로토타입으로 선택되고, 그룹의 나머지 구성원은 4x4 변환 행렬과 프로토타입에 대한 참조만 포함하는 간소화된 인스턴스 레코드로 대체됩니다. 이러한 재구성은 .opt 파일 형식 내에서 이루어지므로 하위 프로그램(Rapid3D Loader, 3D Model & Data Asst)은 인스턴스 렌더링에 맞게 미리 구성된 데이터를 받게 됩니다.
- 프로토타입 선택 및 메시 중복 제거
각 인스턴스 그룹에 대해 엔진은 기하학적 품질이 가장 높은 메시(일반적으로 UV 매핑 및 법선 데이터가 가장 완벽한 메시)를 프로토타입으로 선택합니다. 나머지 모든 멤버는 정점/삼각형/인덱스 버퍼가 제거되고 경량 인스턴스 디스크립터(위치, 회전, 크기 변환 행렬 16개와 프로토타입 ID)로 대체됩니다. 일반적인 상업용 건물 모델에서 이 과정을 통해 기하학적 버퍼 크기가 70~90% 감소합니다. 예를 들어, 이전에는 400개의 동일한 문이 400 × 8,000개의 정점을 사용했지만, 이제는 8,000개의 정점 + 400 × 64바이트만 사용하게 됩니다.
- 제공: Opt File Generator(프로토타입 선택 및 중복 제거 → .opt). 데스크톱: 3D Model & Data Asst(동일한 재구성 기능, 통합 렌더링, Windows 10 이상 지원)
- 인스턴스별 속성 보존
인스턴싱을 한다고 해서 요소별 데이터가 손실되는 것은 아닙니다. 각 인스턴스 레코드는 요소 ID, 패밀리 이름, 유형 이름, 레벨, 단계, 재질 지정 및 모든 사용자 지정 매개변수와 같은 속성 세트에 대한 링크를 유지합니다. 사용자가 웹 뷰어에서 인스턴스화된 문을 클릭하면 Rapid3D Loader는 인스턴스 ID를 DB 파일의 올바른 속성 레코드로 다시 연결하여 전체 속성 패널을 표시합니다. 구조 트리 또한 인스턴스별 계층 구조를 유지합니다. 각 인스턴스는 패밀리 유형 → 레벨 → 그룹 체인에서 올바른 위치에 나타납니다.
- 구동 요소: 3D/BIM 플러그인(속성 추출 → GLZIP + DB) → Opt 파일 생성기(인스턴스-속성 연결 → .opt + DB) → Rapid3D Loader(인스턴스별 속성 조회). 데스크톱: 3D 모델 및 데이터 지원(전체 파이프라인, Windows 10 이상)
- 인스턴스 그룹 일괄 처리 및 정렬
중복 제거 후, 인스턴스 그룹은 재질 할당 및 공간적 지역성을 기준으로 일괄 처리되고 정렬됩니다. 동일한 프로토타입과 동일한 재질을 공유하는 구성 요소는 단일 인스턴스 배치로 병합되어 렌더링 중 재질 상태 전환을 최소화합니다. 공간 정렬(바운딩 볼륨 계층 구조 기준)을 통해 런타임에 효율적인 절두체 컬링이 가능합니다. 카메라의 뷰 절두체가 그룹의 결합된 바운딩 박스와 교차하지 않으면 전체 배치가 한 번의 검사에서 건너뛰어집니다.
- 기반 프로그램: Opt File Generator(일괄 처리 및 공간 정렬 → .opt) → Rapid3D Loader(절두체 컬링 기반 인스턴스 렌더링). 데스크톱 버전: 3D Model & Data Asst(동일한 일괄 처리, 데스크톱 렌더링, Windows 10 이상 지원)
3단계: GPU 인스턴싱 렌더링 파이프라인
최종 단계는 렌더링 시점에 이루어집니다. Three.js용 Rapid3D Loader는 .opt 파일의 프로토타입-인스턴스 구조를 읽고 Three.js InstancedMesh 객체를 생성합니다. 이는 WebGL에 내장된 메커니즘으로, 단일 드로우 콜로 서로 다른 변환을 가진 메시의 N개 복사본을 렌더링할 수 있도록 합니다. 3D 모델 및 데이터 지원의 데스크톱 엔진은 자체 렌더링 파이프라인을 통해 이와 동일한 인스턴싱 경로를 사용합니다.
- WebGL InstancedMesh 재구성
.opt 파일을 로드하면 Rapid3D Loader는 인스턴스 그룹 테이블을 순회하며 그룹당 하나의 THREE.InstancedMesh를 생성합니다. 각 InstancedMesh는 프로토타입 형상과 인스턴스 행렬 배열을 받습니다. GPU는 gl.drawArraysInstanced/gl.drawElementsInstanced를 통해 단일 드로우 콜로 모든 인스턴스를 렌더링하여, 요소별로 수천 번의 드로우 콜이 발생하는 오버헤드를 제거합니다. 80개의 인스턴스 그룹에 걸쳐 15,000개의 구성 요소가 있는 모델의 경우 드로우 콜 횟수가 약 15,000회에서 약 80회로 줄어들어 99.5%의 감소 효과를 얻습니다.
- 기반 기술: Three.js용 Rapid3D Loader (InstancedMesh 재구성, 웹 렌더링). 데스크톱 버전: 3D Model & Data Asst (네이티브 GPU 인스턴싱, Windows 10 이상)
- 개별 인스턴스 상호 작용: 선택, 색상 지정 및 강조 표시
인스턴싱에 대한 일반적인 오해는 상호작용성을 희생해야 한다는 것입니다. 즉, 모든 인스턴스가 동일한 모양과 동작을 가져야 한다는 것이죠. 하지만 Rapid3D Loader는 인스턴스별 API를 제공함으로써 이러한 오해를 불식시킵니다. `setColorAt(instanceId, color)` 함수는 다른 인스턴스에 영향을 주지 않고 특정 인스턴스에만 고유한 색상을 적용할 수 있습니다. 또한, 피킹 레이캐스터는 클릭 이벤트를 프로토타입 메시가 아닌 개별 인스턴스 ID로 처리합니다. 따라서 사용자는 400개의 문 중에서 특정 문 하나만 선택하거나, 특정 창만 선택적으로 표시하거나, 구조 기둥의 일부에만 투명 렌더링을 적용하는 등의 작업을 수행할 수 있습니다. 이 모든 작업은 GPU가 단일 드로우 콜 수준의 효율성을 유지하면서 처리됩니다.
- 기반: Three.js용 Rapid3D Loader(인스턴스별 상호 작용 API, 웹 렌더링). 데스크톱: 3D 모델 및 데이터 지원(동일한 인스턴스별 상호 작용, Windows 10 이상)
- LOD 인식 인스턴싱
Opt File Generator의 LOD(Level of Detail) 생성은 인스턴스 경계를 고려합니다. 각 프로토타입 메시는 고유한 LOD 체인(높음/중간/낮음 폴리곤 수)을 받으며, 해당 프로토타입의 모든 인스턴스는 동일한 LOD 체인을 공유합니다. 렌더링 시 Rapid3D Loader는 카메라 거리에 따라 인스턴스 그룹별로 적절한 LOD 레벨을 선택합니다. 근접한 인스턴스는 전체 해상도로 렌더링되고, 멀리 있는 인스턴스는 단순화된 형상을 사용합니다. 그룹 내 모든 인스턴스가 동일한 LOD 스위치를 공유하므로 인스턴스별 LOD 계산 오버헤드가 발생하지 않습니다. 프러스텀 컬링과 결합하면 일반 소비자용 하드웨어에서도 10만 개 이상의 구성 요소를 가진 모델을 부드럽게 렌더링할 수 있습니다.
- 기반 소프트웨어: Opt File Generator(프로토타입별 LOD 생성 → .opt 파일) → Rapid3D Loader(거리 기반 LOD 전환 + 인스턴스 렌더링). 데스크톱 환경: 3D Model & Data Asst(동일한 LOD 인식 인스턴스화 기능, Windows 10 이상 지원)
4단계: 성과 영향 측정
컴포넌트 인스턴싱은 이론적인 최적화가 아니라, 파일 크기, 메모리 사용량, 렌더링 성능 면에서 측정 가능한, 때로는 극적인 개선을 가져옵니다. 다음 지표들은 3D Expert의 파이프라인을 통해 처리된 실제 BIM 모델에서 추출한 것입니다.
12층짜리 사무실 건물의 450MB Revit 모델(구성 요소 87,000개, 중복 62%)을 인스턴싱 기능을 활성화한 상태로 Opt File Generator를 통해 처리했습니다. 그 결과 생성된 .opt 파일은 38MB로, 인스턴싱 기능을 사용하지 않고 내보낸 동일 모델의 파일 크기(480MB)보다 92% 감소했습니다. 이러한 크기 감소는 주로 중복된 형상 버퍼를 제거한 데서 비롯됩니다. 평균 6KB의 정점 데이터를 가진 54,000개의 중복 메시를 420개의 프로토타입과 54,000개의 인스턴스 행렬(각 64바이트)로 대체하여 Draco 압축 전 약 310MB의 원시 형상 데이터를 절약했습니다.
- Opt 파일 생성기(인스턴싱 + Draco 압축 → .opt) 제공
- 드로우 콜 및 프레임률 개선
동일한 모델을 Three.js용 Rapid3D Loader에 로드했습니다. 인스턴싱을 사용하지 않았을 때, 장면은 87,000개의 드로우 콜을 생성하여 내장 GPU가 탑재된 중급 노트북에서 8~12 FPS를 기록했습니다. 인스턴싱을 사용했을 때는 드로우 콜 수가 340개(인스턴스 그룹당 1개 + 인스턴스화되지 않은 고유 메시)로 줄어들었고, 프레임률은 동일한 하드웨어에서 45~60 FPS로 향상되어 4~6배 개선되었습니다. 외장 GPU가 탑재된 데스크톱에서는 인스턴스화된 모델이 4K 해상도에서 60 FPS를 유지했습니다.
- 기반: Three.js용 Rapid3D Loader(인스턴스 메시 렌더링, 웹). 데스크톱: 3D 모델 및 데이터 지원(네이티브 인스턴스 렌더링, Windows 10 이상)
- 메모리 사용량 최적화
브라우저 메모리에서 인스턴스를 생성하지 않은 모델은 1.2GB의 GPU 버퍼 메모리(지오메트리 + 재질 + 텍스처)를 사용했습니다. 반면 인스턴스를 생성한 모델은 290MB만 사용했는데, 이는 76% 감소한 수치입니다. 이러한 차이는 메모리가 부족한 기기(태블릿, 내장 GPU 노트북)에서 모델이 충돌하는 것과 원활하게 실행되는 것 사이의 차이를 보여줍니다. 메모리가 주요 병목 현상인 모바일 웹 뷰어의 경우, 인스턴스화는 가장 효과적인 최적화 방법 중 하나입니다.
- 구동 방식: Opt File Generator(메모리 최적화 .opt 출력) → Rapid3D Loader(효율적인 GPU 버퍼 관리). 데스크톱: 3D Model & Data Asst(동일한 메모리 최적화, Windows 10 이상)
──────────────────────────────────────────────────────────
종합적으로 살펴보기: 어떤 용도에 어떤 제품이 적합할까요?
인스턴싱 파이프라인은 3D Expert 제품 생태계 전반에 걸쳐 내장되어 있습니다. 어떤 제품을 선택할지는 사용자의 위치와 필요한 작업에 따라 달라집니다.
- 웹 기반 BIM 플랫폼 또는 디지털 트윈 대시보드를 구축하시나요?→ 3D/BIM 플러그인을 사용하여 원본 .rvt/.dgn 파일을 중간 GLZIP 파일(패밀리-인스턴스 메타데이터 보존)로 압축 해제한 다음, Opt 파일 생성기를 실행하여 형상 지문 인식, 중복 제거 및 Draco 압축을 사용한 데이터 재구성을 수행합니다(출력: .opt + DB). 생성된 .opt 파일을 웹 서버에 배포합니다. Three.js용 Rapid3D Loader를 사용하여 로드하면 GPU 효율적인 렌더링을 위해 InstancedMesh 객체가 자동으로 재구성됩니다. 인스턴스별 선택, 색상 지정 및 속성 쿼리는 모두 JavaScript API를 통해 사용할 수 있습니다.
- 네트워크 접속이 불가능한 데스크톱 환경에서 클라이언트에게 BIM 모델을 제공하는 방법은 무엇일까요?→ 3D/BIM 플러그인을 사용하여 파일을 추출한 다음, 클라이언트에게 3D 모델 및 데이터 지원 프로그램(Windows 10 이상)을 제공하세요. 클라이언트는 GLZIP 파일(또는 IFC/FBX/STEP과 같은 개방형 형식)을 불러올 수 있으며, 프로그램은 내부적으로 동일한 인스턴싱 분석을 수행합니다. 지문 인식, 중복 제거, GPU 인스턴싱 렌더링이 모두 통합된 환경에서 이루어집니다. .opt 파일은 필요하지 않습니다.
- CAD 라이선스 없이 개방형 형식(IFC, FBX, STEP, 3DXML)을 변환할 수 있습니까?→ 플러그인을 건너뛰세요. 개방형 형식의 데이터를 Opt File Generator에 직접 입력하면, 모든 메시 데이터(기본 인스턴스 메타데이터가 없는 형식 포함)에 대해 형상 지문 인식 및 인스턴스 중복 제거가 수행됩니다. 지문 인식 엔진은 형상 정보만으로 중복을 식별합니다. 출력: Rapid3D Loader를 통한 웹 배포용 .opt 파일.
- 웹과 데스크톱 모두요?→ 웹용: 플러그인(네이티브, 패밀리 메타데이터 유지)으로 압축 해제하거나 오픈 포맷 가져오기 → Opt 파일 생성기(인스턴싱 + Draco → .opt) → Rapid3D Loader(InstancedMesh 웹 렌더링). 데스크톱용: GLZIP 또는 오픈 포맷을 3D Model & Data Asst(Windows 10 이상)로 직접 가져오기 - 이 앱은 인스턴싱과 렌더링을 하나의 프로그램에서 수행합니다.
──────────────────────────────────────────────────────────
결론: 파이프라인 수준 인스턴싱이 중요한 이유
컴포넌트 인스턴싱은 반복되는 요소를 포함하는 BIM 모델(사실상 모든 BIM 모델에 해당)의 데이터 용량을 줄이는 데 가장 효과적인 기술입니다. 형상 데이터 60~90% 감소, 드로우 콜 99% 이상 감소, 프레임 속도 4~6배 향상은 예외적인 경우가 아니라, 인스턴싱을 올바르게 적용했을 때 기대할 수 있는 기본 결과입니다.
3D Expert의 접근 방식이 차별화되는 점은 인스턴싱이 단순히 추가 기능이나 후처리 단계가 아니라는 것입니다. 이는 추출 단계(3D/BIM 플러그인에서 네이티브 패밀리 인스턴스 메타데이터 보존)에서 시작하여 경량화 단계(Opt File Generator에서 다중 서명 핑거프린팅 및 토폴로지 인식 검증)를 거쳐 렌더링 단계(Rapid3D Loader에서 인스턴스별 완벽한 상호 작용을 지원하는 WebGL InstancedMesh)에 이르는 파이프라인 수준의 기능입니다. 모든 단계는 다음 단계로 이어지도록 설계되어 GPU는 인스턴스화된 드로우 콜을 위해 미리 구성된 데이터를 수신합니다. 따라서 런타임 중복 제거, 메모리 낭비, 불필요한 드로우 콜이 발생하지 않습니다.
웹 기반 BIM 뷰어, 디지털 트윈 플랫폼 또는 데스크톱 모델 검토 도구를 개발하는 AEC 기업에게 있어 이 파이프라인은 모델 로딩 속도와 즉각적인 로딩 속도의 차이를 의미합니다. 초당 프레임 수(FPS)가 12FPS에서 60FPS로, 건설 현장 태블릿에서 작동하는 뷰어와 워크스테이션이 필요한 뷰어의 차이를 의미합니다. 컴포넌트 인스턴싱은 선택 사항이 아닌 필수적인 엔지니어링 요소입니다.
──────────────────────────────────────────────────────────
회사 소개
일본 오사카에 본사를 둔 3D Expert Co.,Ltd.는 전 세계 건설·엔지니어링(AEC) 산업을 위한 고성능 3D/BIM 소프트웨어를 개발합니다. 당사의 제품 포트폴리오는 다음과 같습니다.
- 3D/BIM 플러그인 — 현재 CAD/BIM 플랫폼용 공식 API를 기반으로 구축된 6개의 네이티브 내보내기 추가 기능을 제공합니다. 네이티브 형식(.rvt, .dgn 등)에서 형상, 텍스처, 재질, 구조 트리 및 패밀리 인스턴스 메타데이터를 손실 없이 추출합니다. 출력은 중간 GLZIP 파일입니다. 압축 또는 용량 축소는 수행하지 않습니다.
- Opt 파일 생성기 — 일괄 처리를 위한 데스크톱 경량화 엔진입니다. 플러그인에서 생성된 GLZIP 중간 파일 또는 개방형 형식(IFC, FBX, STEP, 3DXML 등)을 입력받아 사용자의 로컬 컴퓨터에서 형상 지문 인식, 인스턴스 중복 제거, 프로토타입-인스턴스 재구성, Draco 압축, LOD 생성 및 메시 최적화를 수행합니다. 출력: .opt 형식 모델 + 데이터베이스. .opt 파일을 생성하는 유일한 제품입니다.
- 3D 모델 및 데이터 지원 — Windows 10 이상에서 사용 가능한 데스크톱 애플리케이션입니다. 플러그인을 통해 GLZIP 파일 또는 IFC, FBX, STEP, 3DXML 등의 개방형 형식을 가져올 수 있으며, 내부적으로 인스턴싱 분석 및 경량화 작업을 수행하고, GPU 인스턴싱 및 전체 속성 쿼리 기능을 통해 모델을 렌더링합니다. 이 모든 기능이 하나의 통합 앱에서 제공됩니다. .opt 파일은 출력하지 않습니다.
- Three.js용 Rapid3D Loader — 내장 WASM Draco 디코더, 점진적 청크 스트리밍, 자동 InstancedMesh 재구성, 그리고 인스턴스별 상호 작용 API(선택, 색상 지정, 투명도 조정, 강조 표시, 클릭 쿼리)를 포함하는 npm 패키지(opt-rapid3d-loader)입니다. Opt File Generator로 생성된 .opt 형식 모델을 Three.js 장면에 직접 읽어들여 로드합니다.
더 자세히 알아보거나 무료 체험을 시작하려면 https://www.opt3ds.com/을 방문하세요.
연락하다: info@3dexpert.jp
© 2010–2026 3D Expert Co.,Ltd. 모든 권리 보유.

