关于 3d-games
3d-games 是用于实现和分析 3D 游戏系统的开发技能,涵盖渲染、着色器、物理、相机、照明和细节层次,并提供优化与验证指导。
主要功能
- 01渲染管线与优化
- 02着色器选择及自定义指导
- 03碰撞形状与物理原则
- 04相机类型与运动观感
- 05照明与阴影考量
- 06基于距离的细节层次
适用场景
- 01分析 3D 渲染管线性能
- 02使用着色器实现视觉效果
- 03为游戏对象选择碰撞体
- 04设计相机或照明行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill 3d-games安装后在 Claude Code 中输入/3d-games确认已加载。
详细介绍
3D 游戏开发
3D 游戏系统原则。
1. 渲染管线
阶段
1. Vertex Processing → Transform geometry
2. Rasterization → Convert to pixels
3. Fragment Processing → Color pixels
4. Output → To screen
优化原则
| 技术 | 目的 |
|---|---|
| 视锥剔除 | 不渲染屏幕外的内容 |
| 遮挡剔除 | 不渲染被遮挡的内容 |
| LOD | 距离越远,细节越少 |
| 批处理 | 合并绘制调用 |
2. 着色器原则
着色器类型
| 类型 | 目的 |
|---|---|
| 顶点 | 位置、法线 |
| 片段/像素 | 颜色、光照 |
| 计算 | 通用计算 |
何时编写自定义着色器
- 特殊效果(水、火、传送门)
- 风格化渲染(卡通、素描)
- 性能优化
- 独特的视觉风格
3. 3D 物理
碰撞形状
| 形状 | 使用场景 |
|---|---|
| 盒体 | 建筑、箱子 |
| 球体 | 球体、快速检测 |
| 胶囊体 | 角色 |
| 网格 | 地形(开销大) |
原则
- 使用简单碰撞体,搭配复杂视觉模型
- 基于图层进行筛选
- 使用射线检测判断视线是否可见
4. 摄像机系统
摄像机类型
| 类型 | 用途 |
|---|---|
| 第三人称 | 动作、冒险 |
| 第一人称 | 沉浸式体验、FPS |
| 等距视角 | 策略、RPG |
| 轨道摄像机 | 检查、编辑器 |
摄像机的观感
- 使用不依赖帧率的平滑处理;测试摄像机碰撞和传送
- 避免碰撞
- 移动时提前调整视角
- 根据速度改变 FOV
5. 光照
光源类型
| 类型 | 用途 |
|---|---|
| 方向光 | 太阳、月亮 |
| 点光源 | 灯、火炬 |
| 聚光灯 | 手电筒、舞台 |
| 环境光 | 基础照明 |
性能考量
- 实时阴影开销较大
- 尽可能烘焙光照
- 在大型世界中使用阴影级联
6. 细节层次(LOD)
LOD 策略
| 距离 | 模型 |
|---|---|
| 近 | 完整细节 |
| 中 | 根据测得的视觉误差减少细节 |
| 远 | 视觉效果合适时,使用低细节网格或公告板 |
7. 反模式
| ❌ 不要 | ✅ 应该 |
|---|---|
| 到处使用网格碰撞体 | 使用简单形状 |
| 在移动设备上使用实时阴影 | 使用烘焙阴影或斑块阴影 |
| 所有距离都使用同一个 LOD | 使用基于距离的 LOD |
| 使用未经优化的着色器 | 进行性能分析并简化 |
请记住: 3D 的关键在于营造错觉。要创造细节丰富的印象,而不必真的呈现所有细节。
使用场景
在实现或分析 3D 渲染管线、着色器、碰撞体、摄像机、光照或细节层次转换时使用。
限制
- 仅当任务明确符合上述范围时,才使用此技能。
- 不要将输出视为针对特定环境进行验证、测试或专家审查的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请暂停并请求澄清。
验证
将表格视为设计起点,而非保证。先对选定机制进行原型验证,测试无障碍性和恢复路径,并在目标硬件上测量帧耗时、内存和行为,再宣称已完成。提交商店所需的要求和许可要求,必须根据平台当前的官方文档进行核实。
评论
支持 Markdown