用途:这是一份 3D 游戏开发原则资料,用于指导 3D 游戏系统的设计与实现,覆盖从渲染到物理、相机、光照和性能优化的关键概念。
主要能力与内容:
- 渲染管线:分为顶点处理(变换几何体)、光栅化(转为像素)、片元处理(着色像素)、输出到屏幕四个阶段;优化手段包括视锥剔除(不渲染屏幕外物体)、遮挡剔除(不渲染被遮挡物体)、LOD(远处降低细节)和批处理(合并绘制调用)。
- 着色器:顶点着色器处理位置与法线,片元/像素着色器处理颜色与光照,计算着色器用于通用计算;需要自定义着色器的场景包括水、火、传送门等特效,卡通、素描等风格化渲染,性能优化,以及塑造独特视觉标识。
- 3D 物理:碰撞形状中,盒体用于建筑与箱子,球体用于球类和快速检测,胶囊体用于角色,网格用于地形但开销大;原则是碰撞体简单、视觉体复杂,使用分层过滤,并用射线检测实现视线判断。
- 相机系统:第三人称用于动作与冒险,第一人称用于沉浸式与 FPS,等距用于策略与 RPG,轨道相机用于检视与编辑器;手感方面包括平滑跟随(lerp)、避免穿模、移动预判和速度引起的 FOV 变化。
- 光照:方向光用于日月,点光用于灯与火把,聚光用于手电与舞台,环境光提供基础照明;实时阴影开销大,尽量烘焙,大世界使用阴影级联。
- LOD:近处全细节,中距离约 50% 三角面,远处约 25% 或使用公告板。
反模式:避免到处使用网格碰撞体、移动端使用实时阴影、所有距离共用一个 LOD、使用未优化的着色器;应改用简单形状、烘焙或 blob 阴影、基于距离的 LOD,并通过性能分析简化着色器。
限制:资料为原则性说明,未提供具体引擎、代码示例、安装命令或平台与收费信息。