3D 遊戲開發
3D 遊戲系統的原則。
1. 渲染管線
階段
1. 頂點處理 → 變換幾何形狀
2. 光柵化 → 轉換為像素
3. 片段處理 → 對像素著色
4. 輸出 → 至螢幕
最佳化原則
| 技術 | 目的 |
|---|
| 視錐剔除 | 不渲染畫面外物件 |
| 遮擋剔除 | 不渲染隱藏物件 |
| LOD | 距離越遠細節越少 |
| 批次處理 | 合併繪圖呼叫 |
2. 著色器原則
著色器類型
| 類型 | 目的 |
|---|
| 頂點 | 位置、法線 |
| 片段/像素 | 顏色、光照 |
| 計算 | 通用計算 |
何時撰寫自訂著色器
- 特殊效果(水、火、傳送門)
- 風格化渲染(卡通、素描)
- 效能最佳化
- 獨特的視覺識別
3. 3D 物理
碰撞形狀
| 形狀 | 使用案例 |
|---|
| 盒子 | 建築物、箱子 |
| 球體 | 球類、快速檢測 |
| 膠囊 | 角色 |
| 網格 | 地形(耗費資源) |
原則
- 簡單碰撞體,複雜視覺
- 基於圖層的過濾
- 射線檢測用於視線判斷
4. 攝影機系統
攝影機類型
| 類型 | 用途 |
|---|
| 第三人稱 | 動作、冒險 |
| 第一人稱 | 沉浸式、FPS |
| 等距視角 | 策略、RPG |
| 軌道式 | 檢視、編輯器 |
攝影機手感
- 平滑跟隨(lerp)
- 碰撞避免
- 移動時預先看向前方
- 根據速度改變視野
5. 光照
光源類型
| 類型 | 用途 |
|---|
| 方向光 | 太陽、月亮 |
| 點光源 | 燈具、火炬 |
| 聚光燈 | 手電筒、舞台 |
| 環境光 | 基礎照明 |
效能考量
- 即時陰影耗費資源
- 盡可能烘焙
- 大型世界使用陰影級聯
6. 細節層級 (LOD)
LOD 策略
| 距離 | 模型 |
|---|
| 近距離 | 完整細節 |
| 中距離 | 50% 三角形 |
| 遠距離 | 25% 或廣告牌 |
7. 反模式
| ❌ 不要 | ✅ 應該 |
|---|
| 到處使用網格碰撞體 | 使用簡單形狀 |
| 在手機上使用即時陰影 | 使用烘焙或模糊陰影 |
| 所有距離使用同一 LOD | 根據距離切換 LOD |
| 未最佳化的著色器 | 分析並簡化 |
記住: 3D 是關於幻覺。創造細節的印象,而非細節本身。
使用時機
此技能適用於執行概述中所描述的工作流程或動作。
限制
- 僅在任務與上述範圍明確匹配時使用此技能。
- 請勿將輸出視為環境特定驗證、測試或專家審查的替代品。
- 如果缺少必要的輸入、權限、安全邊界或成功標準,請停下並要求釐清。