--- id: P-REINFORCE-AUTO-EC4298 category: "10_Wiki/πŸ’‘ Topics/Graphics & Performance" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Revit λͺ¨λΈ λ Œλ”λ§" --- # [[Revit 모델 렌ᄃα…₯α„…α…΅α†Ό|Revit λͺ¨λΈ λ Œλ”λ§]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. 제곡된 ν…μŠ€νŠΈμ—μ„œλŠ” Revit λͺ¨λΈμ„ Three.js와 같은 μ›Ή κ·Έλž˜ν”½ ν™˜κ²½μœΌλ‘œ 내보내어 λ Œλ”λ§ν•˜λŠ” κ³Όμ •μ—μ„œ λ°œμƒν•œ νŠΉμ • μ‚¬μš©μžμ˜ μ›Œν¬ν”Œλ‘œμš°μ™€ μ„±λŠ₯ 병λͺ© μ‚¬λ‘€λ§Œμ΄ μ œν•œμ μœΌλ‘œ μ–ΈκΈ‰λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. 제곡된 λ¬Έμ„œ λ‚΄μ—μ„œ 확인할 수 μžˆλŠ” λ‹¨νŽΈμ μΈ Revit λͺ¨λΈ λ Œλ”λ§ μ‹œλ„ 및 μ‚¬λ‘€λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. * **glTF 포맷 λ³€ν™˜ 및 데이터 ꡬ쑰화:** ν•œ μ‚¬μš©μžλŠ” Revitμ—μ„œ μ œμž‘λœ 건물 λͺ¨λΈμ„ glTF ν˜•μ‹μœΌλ‘œ μΆ”μΆœν•˜κ³ , Three.js ν™˜κ²½μ—μ„œ κ°€μ‹œμ„±μ„ κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ λ™μΌν•œ μž¬μ§ˆμ„ κ°€μ§„ 메쉬듀을 λ³‘ν•©ν•˜λŠ” 방식을 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€ [1, 2]. 이 κ³Όμ •μ—μ„œ 객체의 배치λ₯Ό κ΅¬λΆ„ν•˜κΈ° μœ„ν•΄ `EXT_instance_features`, `EXT_mesh_features`, `EXT_mesh_gpu_instancing` λ“±μ˜ ν™•μž₯을 μΆ”κ°€ν•˜κ³ , 각 정점에 `_FEATURE_ID_0` 속성을 ν• λ‹Ήν•˜μ—¬ νŒŒμ‹±ν•˜λŠ” 과정을 κ±°μ³€μŠ΅λ‹ˆλ‹€ [3, 4]. * **고유 μ§€μ˜€λ©”νŠΈλ¦¬μ— λ”°λ₯Έ λ Œλ”λ§ λ°©μ‹μ˜ μ œμ•½:** Revit 건물 λͺ¨λΈ λ‚΄μ˜ 벽체듀은 μ½˜ν¬λ¦¬νŠΈλΌλŠ” λ™μΌν•œ μž¬μ§ˆμ„ κ³΅μœ ν•˜μ§€λ§Œ, 각기 κ³ μœ ν•œ κΈ°ν•˜ν•™μ  ν˜•νƒœ(Geometry)λ₯Ό κ°€μ§€κ³  μžˆμ–΄ 단일 ν˜•νƒœλ₯Ό λ³΅μ œν•˜λŠ” `InstancedMesh`λ₯Ό μ μš©ν•˜κΈ° μ–΄λ €μ› μŠ΅λ‹ˆλ‹€ [5]. λ”°λΌμ„œ κ°œλ³„ 벽체λ₯Ό 선택(Picking)ν•˜κ±°λ‚˜ κ°€μ‹œμ„± 및 색상을 λ™μ μœΌλ‘œ λ³€κ²½ν•˜κΈ° μœ„ν•œ λͺ©μ μœΌλ‘œ, λ‹€μ–‘ν•œ μ§€μ˜€λ©”νŠΈλ¦¬λ₯Ό ν•˜λ‚˜λ‘œ 묢을 수 μžˆλŠ” `BatchedMesh`λ₯Ό μ±„νƒν•΄μ•Όλ§Œ ν–ˆμŠ΅λ‹ˆλ‹€ [5]. * **λŒ€κ·œλͺ¨ λͺ¨λΈμ—μ„œμ˜ μ„±λŠ₯ 병λͺ© 문제:** μ•½ 1,200만 개의 μ‚Όκ°ν˜•κ³Ό 1,600만 개의 정점, μ•½ 10만 개 μ΄μƒμ˜ μ§€μ˜€λ©”νŠΈλ¦¬λ‘œ κ΅¬μ„±λœ λŒ€κ·œλͺ¨ Revit λͺ¨λΈμ„ `BatchedMesh`λ₯Ό ν™œμš©ν•΄ λ Œλ”λ§ν•  경우 μ‹¬κ°ν•œ μ„±λŠ₯ μ €ν•˜κ°€ λ³΄κ³ λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [6, 7]. 일반적인 `Mesh`둜 λ Œλ”λ§ν•  λ•ŒλŠ” 60 FPS(CPU 15%, GPU 90%)κ°€ μœ μ§€λ˜μ—ˆμœΌλ‚˜, `BatchedMesh` 적용 μ‹œ CPU μ‚¬μš©λŸ‰μ΄ 40% μ΄μƒμœΌλ‘œ κΈ‰μ¦ν•˜λ©° ν”„λ ˆμž„ λ ˆμ΄νŠΈκ°€ 10~20 FPS μˆ˜μ€€μœΌλ‘œ 크게 ν•˜λ½ν–ˆμŠ΅λ‹ˆλ‹€ [1, 8, 9]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Graphics & Performance λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[BatchedMesh|BatchedMesh]], glTF, [[Three.js|Three.js]] - **Projects/Contexts:** λŒ€κ·œλͺ¨ 건좕 λͺ¨λΈμ˜ μ›Ή 기반 μ‹œκ°ν™” 및 μ΅œμ ν™” ν…ŒμŠ€νŠΈ - **Contradictions/Notes:** μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. ν•œνŽΈ 사둀λ₯Ό 톡해, 일반적인 λ Œλ”λ§ 횟수λ₯Ό 쀄이기 μœ„ν•΄ λ„μž…ν•˜λŠ” `BatchedMesh` μ΅œμ ν™” 기법이 κ±°λŒ€ν•œ 규λͺ¨μ˜ Revit νŒŒμƒ λͺ¨λΈ(수천만 정점 및 μˆ˜μ‹­λ§Œ μ§€μ˜€λ©”νŠΈλ¦¬)μ—μ„œλŠ” λ§‰λŒ€ν•œ CPU μ˜€λ²„ν—€λ“œλ₯Ό μœ λ°œν•˜μ—¬ 였히렀 λ Œλ”λ§ μ„±λŠ₯을 μ €ν•˜μ‹œν‚€λŠ” λͺ¨μˆœμ μΈ κ²°κ³Όλ₯Ό λ‚³λŠ”λ‹€λŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€ [1, 8, 10]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/Revit λͺ¨λΈ λ Œλ”λ§.md ---