我在程序化游戏开发中的最爱工具 + 技术

主要观点:作者多年来在浏览器中制作并不断完善 3D 场景和关卡,工作的统一主题是使用程序化和生成技术,积累了很多相关工具和效果并列出 favorites,包括 Shaders + Textures(无缝纹理、三角面映射、六边形平铺、深度预渲染、AI 驱动的 PBR 纹理合成、体积雾/云)、Meshes + Geometry(LOD 地形、程序化网格处理和操作管道),未来计划尝试 Constructive Solid Geometry 并记录过程。
关键信息:

  • 工作以程序化技术为主题,积累多种工具和效果。
  • Shaders + Textures 部分介绍多种纹理和映射技术及相关优化。
  • Meshes + Geometry 部分涉及运行时生成网格及 LOD 地形等。
  • 未来计划尝试 Constructive Solid Geometry 并对其进行改进和应用。
    重要细节:
  • 无缝纹理大多沿两轴无缝平铺,文中有具体示例。
  • 三角面映射是纹理工具包的主力,可用于多种网格,有改进算法。
  • 六边形平铺可隐藏纹理平铺,需预定义 UV 映射,可优化性能。
  • 深度预渲染可提高性能,可设置为渲染遮挡片段。
  • AI 驱动的 PBR 纹理合成可生成不错的纹理,文中有场景示例。
  • 体积雾/云 shader 受 Inigo Quilez 启发,可添加到 Three.JS 场景。
  • LOD 地形通过噪声函数生成高度图,动态切换分辨率。
  • 程序化网格处理和操作管道可对低多边形网格进行细分和变形。
  • 未来计划将 csg.js 库移植到 Rust 并用于 mesh 处理管道。
阅读 9
0 条评论