3D游戏开发
3D游戏系统原则。
1. 渲染管线
阶段
1. 顶点处理 → 变换几何体
2. 光栅化 → 转换为像素
3. 片段处理 → 着色像素
4. 输出 → 到屏幕
优化原则
| 技术 | 用途 |
|---|---|
| 视锥剔除 | 不渲染屏幕外物体 |
| 遮挡剔除 | 不渲染被遮挡物体 |
| LOD | 远处细节更少 |
| 批处理 | 合并绘制调用 |
2. 着色器原则
着色器类型
| 类型 | 用途 |
|---|---|
| 顶点 | 位置、法线 |
| 片段/像素 | 颜色、光照 |
| 计算 | 通用计算 |
何时编写自定义着色器
- 特效(水、火、传送门)
- 风格化渲染(卡通、素描)
- 性能优化
- 独特视觉标识
3. 3D物理
碰撞形状
| 形状 | 使用场景 |
|---|---|
| 盒子 | 建筑、箱子 |
| 球体 | 球、快速检测 |
| 胶囊 | 角色 |
| 网格 | 地形(昂贵) |
原则
- 简单碰撞体,复杂视觉
- 基于图层的过滤
- 射线检测用于视线
4. 相机系统
相机类型
| 类型 | 用途 |
|---|---|
| 第三人称 | 动作、冒险 |
| 第一人称 | 沉浸、FPS |
| 等距 | 策略、RPG |
| 轨道 | 检视、编辑器 |
相机手感
- 平滑跟随(lerp)
- 碰撞避让
- 移动前瞻
- 速度变化时FOV改变
5. 光照
光源类型
| 类型 | 用途 |
|---|---|
| 方向光 | 太阳、月亮 |
| 点光源 | 灯、火把 |
| 聚光灯 | 手电筒、舞台 |
| 环境光 | 基础照明 |
性能考虑
- 实时阴影昂贵
- 尽可能烘焙
- 大世界使用阴影级联
6. 细节层次(LOD)
LOD策略
| 距离 | 模型 |
|---|---|
| 近 | 完整细节 |
| 中 | 50%三角形 |
| 远 | 25%或广告牌 |
7. 反模式
| ❌ 不要 | ✅ 要 |
|---|---|
| 到处使用网格碰撞体 | 简单形状 |
| 移动端使用实时阴影 | 烘焙或斑点阴影 |
| 所有距离使用一个LOD | 基于距离的LOD |
| 未优化的着色器 | 分析并简化 |
记住: 3D关乎幻觉。创造细节的印象,而非细节本身。
何时使用
此技能适用于执行概述中描述的工作流程或操作。
限制
- 仅当任务明确匹配上述范围时使用此技能。
- 不要将输出替代特定环境的验证、测试或专家审查。
- 如果缺少必要的输入、权限、安全边界或成功标准,请停止并请求澄清。