# 3d Games

> 3D 游戏开发原则。渲染（Rendering）、着色器（Shader）、物理（Physics）、相机（Camera）。

- Skill: `misonl/3d-games` (Agent Skill)
- Install (CLI): `npx skillmds@latest add misonl/3d-games`
- Raw SKILL.md: https://api.skillmd.com/api/skills/misonl/3d-games/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: misonl (https://skillmd.com/u/misonl)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/misonl/3d-games

---


# 3D 游戏开发

> 3D 游戏系统的原则。

---

## 1. 渲染管线（Rendering Pipeline）

### 阶段

```
1. Vertex Processing -> Transform geometry
2. Rasterization -> Convert to pixels
3. Fragment Processing -> Color pixels
4. Output -> To screen
```

### 优化原则

| 技术 | 用途 |
|-----------|---------|
| **视锥裁剪（Frustum culling）** | 不渲染屏幕外区域 |
| **遮挡裁剪（Occlusion culling）** | 不渲染被遮挡部分 |
| **LOD（Level of Detail）** | 距离远时降低细节 |
| **批处理（Batching）** | 合并绘制调用 |

---

## 2. 着色器原则（Shader Principles）

### 着色器类型

| 类型 | 用途 |
|------|---------|
| **顶点（Vertex）** | 位置、法线 |
| **片元/像素（Fragment/Pixel）** | 颜色、光照 |
| **计算（Compute）** | 通用计算 |

### 何时编写自定义着色器

- 特效（水、火、传送门）
- 风格化渲染（Toon、Sketch）
- 性能优化
- 独特视觉风格

---

## 3. 3D 物理（3D Physics）

### 碰撞体形状

| 形状 | 使用场景 |
|-------|----------|
| **盒体（Box）** | 建筑、箱体 |
| **球体（Sphere）** | 球、快速检测 |
| **胶囊体（Capsule）** | 角色 |
| **网格（Mesh）** | 地形（成本高） |

### 原则

- 碰撞体用简单形状，视觉用复杂模型
- 分层过滤（Layer-based filtering）
- 视线检测用射线（Raycasting）

---

## 4. 相机系统（Camera Systems）

### 相机类型

| 类型 | 用途 |
|------|-----|
| **第三人称（Third-person）** | 动作、冒险 |
| **第一人称（First-person）** | 沉浸、FPS |
| **等距（Isometric）** | 策略、RPG |
| **轨道（Orbital）** | 检视、编辑器 |

### 相机手感

- 平滑跟随（lerp）
- 碰撞回避（Collision avoidance）
- 运动前瞻（Look-ahead）
- 用 FOV 变化体现速度

---

## 5. 光照（Lighting）

### 光源类型

| 类型 | 用途 |
|------|-----|
| **方向光（Directional）** | 太阳、月亮 |
| **点光（Point）** | 灯、火把 |
| **聚光（Spot）** | 手电、舞台 |
| **环境光（Ambient）** | 基础照明 |

### 性能考量

- 实时阴影开销大
- 尽量烘焙（Bake）
- 大场景用级联阴影（Shadow cascades）

---

## 6. 细节层级（LOD）

### LOD 策略

| 距离 | 模型 |
|----------|-------|
| 近 | 全细节 |
| 中 | 50% 三角形 |
| 远 | 25% 或看板（billboard） |

---

## 7. 反模式（Anti-Patterns）

| [FAIL]  不要 | [OK]  要做 |
|----------|-------|
| 到处使用网格碰撞体（Mesh colliders） | 使用简单形状 |
| 移动端全开实时阴影 | 选择烘焙或投影（Blob）阴影 |
| 所有距离只用一个 LOD | 按距离分级 LOD |
| 未优化的着色器 | 性能分析（Profiling）后简化 |

---

> **提示：** 3D 追求的是错觉，营造细节的印象，而非细节本身。

