--- id: P-REINFORCE-AUTO-150C10 category: "10_Wiki/πŸ’‘ Topics/Graphics & Performance" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - three-mesh-bvh" --- # [[three-mesh-bvh|three-mesh-bvh]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > three-mesh-bvhλŠ” Three.js λ©”μ‹œμ— λŒ€ν•œ κ΄‘μ„  νˆ¬μ‚¬(Raycasting) 속도λ₯Ό 높이고 곡간 쿼리λ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” BVH(Bounding Volume Hierarchy) κ΅¬ν˜„ λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€ [1]. μ΄ˆλ‹Ή 60ν”„λ ˆμž„(60fps) ν™˜κ²½μ—μ„œ 8만 개 μ΄μƒμ˜ λ‹€κ°ν˜•(polygon)에 λŒ€ν•œ λΉ λ₯Έ κ΄‘μ„  νˆ¬μ‚¬λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€ [2]. λ³΅μž‘ν•œ κΈ°ν•˜ν•™μ  ꡬ쑰λ₯Ό κ°€μ§„ λŒ€ν™”ν˜• 3D 씬(scene)의 μƒν˜Έμž‘μš© μ„±λŠ₯을 μ΅œμ ν™”ν•˜λŠ” 데 ν•„μˆ˜μ μΈ λ„κ΅¬λ‘œ ν™œμš©λ©λ‹ˆλ‹€ [2]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **핡심 μ„±λŠ₯ 및 μ—­ν• :** three-mesh-bvhλŠ” Three.js μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ κ΄‘μ„  νˆ¬μ‚¬ 연산을 효과적으둜 κ°€μ†ν™”ν•©λ‹ˆλ‹€ [1]. μˆ˜λ§Žμ€ 폴리곀이 μžˆλŠ” λ³΅μž‘ν•œ μ”¬μ—μ„œλ„ 60fpsλ₯Ό μœ μ§€ν•˜λ©΄μ„œ μ •λ°€ν•œ μΈν„°λž™μ…˜ 및 좩돌 감지λ₯Ό μˆ˜ν–‰ν•  수 μžˆλ„λ‘ λ•μŠ΅λ‹ˆλ‹€ [2]. - **InstancedMeshμ™€μ˜ ν˜Έν™˜μ„±:** 이 λΌμ΄λΈŒλŸ¬λ¦¬λŠ” `InstancedMesh` ν™˜κ²½μ—μ„œλ„ ν™œμš©λ  수 μžˆμŠ΅λ‹ˆλ‹€ [3]. κΈ°ν•˜ν•™μ  ꡬ쑰(geometry)에 λŒ€ν•œ 경계 트리(bounds tree)λ₯Ό μƒμ„±ν•˜λ©΄, μΈμŠ€ν„΄μŠ€ν™”λœ λ©”μ‹œμ— μ†ν•œ κ°œλ³„ μ§€μ˜€λ©”νŠΈλ¦¬ λ‹¨μœ„λ‘œ BVH 기반 κ΄‘μ„  νˆ¬μ‚¬λ₯Ό μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [3], [4]. λ‹€λ§Œ, μΈμŠ€ν„΄μŠ€ν™”λœ 객체 μ„ΈνŠΈ(set of instanced objects) 전체λ₯Ό λŒ€μƒμœΌλ‘œ κΈ°λ³Έ μž‘λ™ν•˜λŠ” 것은 μ•„λ‹™λ‹ˆλ‹€ [3]. - **API λ³€κ²½ 사항:** 라이브러리의 버전이 μ—…λ°μ΄νŠΈλ¨μ— 따라 기쑴에 μ‚¬μš©λ˜λ˜ μ‹œκ°ν™” 도ꡬ인 `MeshBVHVisualizer`λŠ” 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€(deprecated) [4]. λ”°λΌμ„œ μ΅œμ‹  λ²„μ „μ—μ„œλŠ” `MeshBVHHelper` λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ—¬ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€ [4]. - **μƒνƒœκ³„ λ‚΄ 영ν–₯λ ₯:** Three.js 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ„±λŠ₯ 병λͺ©μ„ ν•΄κ²°ν•˜κ³  디버깅을 λ•λŠ” μ£Όμš” 도ꡬ 쀑 ν•˜λ‚˜λ‘œ 평가받고 μžˆμŠ΅λ‹ˆλ‹€ [5]. λ˜ν•œ, 널리 μ“°μ΄λŠ” μ™ΈλΆ€ ν™•μž₯ 라이브러리인 InstancedMesh2κ°€ 자체적인 BVH 기반 λΉ λ₯Έ κ΄‘μ„  νˆ¬μ‚¬ κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λŠ” 데 핡심적인 μ˜κ°μ„ μ œκ³΅ν•˜κΈ°λ„ ν–ˆμŠ΅λ‹ˆλ‹€ [6]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Graphics & Performance λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[Raycasting|Raycasting]], [[InstancedMesh|InstancedMesh]], [[Bounding Volume Hierarchy (BVH)|Bounding Volume Hierarchy (BVH)]] - **Projects/Contexts:** Three.js Performance Optimization, [[InstancedMesh2|InstancedMesh2]] - **Contradictions/Notes:** μ†ŒμŠ€μ— λ”°λ₯΄λ©΄ κ΅¬λ²„μ „μ—μ„œ μ‚¬μš©λ˜λ˜ μ‹œκ°ν™” 클래슀인 `MeshBVHVisualizer`λŠ” ν˜„μž¬ 지원이 쀑단(deprecated)λ˜μ—ˆμœΌλ―€λ‘œ, μ‚¬μš©μžλŠ” `MeshBVHHelper`둜 κ΅μ²΄ν•˜μ—¬ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€ [4]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/three-mesh-bvh.md ---