docs: finalized wiki integrity maintenance (v3.0 standard) - pruned 1400+ stubs and fixed 11k+ ghost links

This commit is contained in:
Antigravity Agent
2026-05-02 09:18:34 +09:00
parent c84dcb8371
commit 6445fcc05b
13150 changed files with 55394 additions and 100862 deletions
@@ -1,5 +1,5 @@
---
id: [[P-Reinforce]]-AUTO-1189F7
id: [[P-Reinforce|P-Reinforce]]-AUTO-1189F7
category: "10_Wiki/💡 Topics/Graphics & Performance"
confidence_score: 0.90
tags: [auto-reinforced]
@@ -7,10 +7,10 @@ last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - SkinnedMesh"
---
# [[SkinnedMesh]]
# [[SkinnedMesh|SkinnedMesh]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> SkinnedMesh는 뼈대(Bone) 계층 구조를 기반으로 한 애니메이션(예: 캐릭터의 얼굴 뼈대나 손가락 움직임 등)을 구현할 때 사용되는 3D 객체 타입입니다 [1-3]. 단일 객체로는 원활하게 동작하지만 대량으로 렌더링할 경우 심각한 CPU 병목 현상을 유발하며 [4], 정점이 다수의 본 행렬에 영향을 받는 특성상 대규모 렌더링 최적화 기법인 [[InstancedMesh]]와 기본적으로 호환되지 않는 물리적 한계를 지닙니다 [3].
> SkinnedMesh는 뼈대(Bone) 계층 구조를 기반으로 한 애니메이션(예: 캐릭터의 얼굴 뼈대나 손가락 움직임 등)을 구현할 때 사용되는 3D 객체 타입입니다 [1-3]. 단일 객체로는 원활하게 동작하지만 대량으로 렌더링할 경우 심각한 CPU 병목 현상을 유발하며 [4], 정점이 다수의 본 행렬에 영향을 받는 특성상 대규모 렌더링 최적화 기법인 [[InstancedMesh|InstancedMesh]]와 기본적으로 호환되지 않는 물리적 한계를 지닙니다 [3].
## 📖 구조화된 지식 (Synthesized Content)
- **동작 원리와 성능 병목:**
@@ -25,14 +25,14 @@ github_commit: "[P-Reinforce] Continuous Worker - SkinnedMesh"
- **스킨드 메쉬 렌더링 최적화 전략:**
- **본 텍스처(Bone Texture) 도입:** GPU 전송 한계를 극복하기 위해 모든 애니메이션 변환 행렬 데이터를 '본 텍스처(Bone Texture)' 또는 텍스처 아틀라스에 구워 넣고, 커스텀 셰이더 단계에서 이를 샘플링해 애니메이션을 구현하는 우회 파이프라인이 사용됩니다 [1, 3, 5].
- **애니메이션 LOD(Level of Detail):** 거리가 먼 SkinnedMesh 인스턴스의 경우 계산해야 할 본의 개수를 줄이거나(예: 손가락이나 발의 굽힘 뼈대 연산 생략), 애니메이션 업데이트 주기를 낮추어 본 텍스처의 크기와 연산량을 줄이는 방식이 필수적입니다 [6-9].
- **커스텀 라이브러리 활용:** 커뮤니티에서는 기본 기능의 한계를 보완하기 위해, 개별 애니메이션 믹서 제어, LOD 시스템, 그리고 절두체 컬링([[Frustum Culling]]) 기능을 포함하여 2만 개 이상의 스킨드 인스턴스 처리를 가능하게 하는 `[[InstancedMesh2]]`와 같은 확장 라이브러리를 활용하기도 합니다 [6, 10-13].
- **커스텀 라이브러리 활용:** 커뮤니티에서는 기본 기능의 한계를 보완하기 위해, 개별 애니메이션 믹서 제어, LOD 시스템, 그리고 절두체 컬링([[Frustum Culling|Frustum Culling]]) 기능을 포함하여 2만 개 이상의 스킨드 인스턴스 처리를 가능하게 하는 `[[InstancedMesh2|InstancedMesh2]]`와 같은 확장 라이브러리를 활용하기도 합니다 [6, 10-13].
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
## 🔗 지식 연결 (Graph)
- **Related Topics:** [[InstancedMesh]], [[InstancedMesh2]], AnimationMixer, Bone Texture, [[Level of Detail (LOD)]]
- **Related Topics:** [[InstancedMesh|InstancedMesh]], InstancedMesh2, AnimationMixer, Bone Texture, [[Level of Detail (LOD)|Level of Detail (LOD]]
- **Projects/Contexts:** Three.js 엔진의 대규모 군중 렌더링 및 애니메이션 처리
- **Contradictions/Notes:** 엔진의 공식 기능 상으로는 데이터 전송량의 기하급수적 증가 및 `AnimationMixer`와의 아키텍처 충돌 문제로 스킨드 메쉬의 대규모 인스턴싱이 불가능하다고 지적되지만 [3], 개발자들은 본 텍스처를 활용한 셰이더 커스터마이징이나 `InstancedMesh2` 라이브러리를 적용하여 각기 다른 애니메이션을 가진 수만 개의 SkinnedMesh를 단일 혹은 최소한의 드로우 콜로 최적화하여 렌더링하는 데 성공하고 있습니다 [3, 6, 12].