LOD优化策略-开篇

原文:https://answer.uwa4d.com/question/5acc208b425802635474fc7d

 

LOD(Level of Detail),这里的D代表Detail而不是Distance,也就是说,所有游戏画面和游戏功能的细节都可以进行分级,不必受限于距离。一套好的LOD系统需要美术在资源上做大量的资源分级工作,需要程序搭建完善的LOD框架和辅助工具,每增加一个功能模块都需要把LOD考虑进来。

如何确定项目的LOD分档和性能标准

1、如何制定性能标准?
在分级之前,需要确定目标(省电、正常的游戏体验、噱头),我们要在哪一种机型上面运行哪些表现效果和功能,达到怎样的性能目标(帧数FPS、内存占用、Drawcall、同屏三角面数等)。

◆经验总结:
1)画质的表现力与性能开销是相互矛盾的
2)需要持续维护,相关功能系统的设计都需要考虑到不同画质
3)极简画质牺牲了可玩性,同时会增加LOD框架的复杂性,使用最简单暴力的方式去处理

◆兼容性问题:
1)低配画质需要考虑的适配问题
• 可能不支持Shader定义8张以上的贴图纹理
• 可能不支持ETC2格式的贴图纹理
• 可能不支持OpenGL ES3.0
2)高配画质需要考虑的问题
• 支持PBR、线性空间
• 奇怪的Bugs
3)需要解决各个画质下的兼容性问题,建立黑名单和白名单。

2、如何找出可以进行分级的细节?

1)优先找出开销大的点
• 后处理效果Bloom、HDR、ToneMapping、MotionBlur、DOF等
• 实时光照和阴影、水面实时反射
• PBR物理光照
• Ragdoll、DydamicBones等物理系统
• 日夜循环、特效天气系统

2)细节模块的LOD功能考虑
• 场景 / 角色 / 特效 / 摄像机相关 / 其他系统模块

 

分级参考

posted @ 2018-05-07 16:38  何文西  阅读(...)  评论(...编辑  收藏