如何设计渲染等级?【2018精彩的UWA问答-壹】
图文教程技术文章技术文库3D建模
显示全部 9
151 1
实名

通过了实名认证的内容创造者

发布于 2024-10-24 20:51:58

您需要 登录 才可以下载或查看,没有账号?注册

x
如何设计渲染等级?
现思考如何设计项目中的渲染等级,求有经验的大佬指个方向,例如ShaderLOD,还有其他什么思路吗?谢谢!

精彩回答:
正好我也整理过项目的LOD规则,可能不限于题主描述的渲染等级。一套好的LOD系统需要美术在资源上做大量的资源分级工作,需要程序搭建完善的LOD框架和辅助工具,每增加一个功能模块都需要把LOD考虑进来。
一、如何确定项目的LOD分档和性能标准
LOD(Level of Detail),这里的D代表Detail而不是Distance,也就是说,所有游戏画面和游戏功能的细节都可以进行分级,不必受限于距离。
1、如何制定性能标准?
在分级之前,需要确定目标(省电、正常的游戏体验、噱头),我们要在哪一种机型上面运行哪些表现效果和功能,达到怎样的性能目标(帧数FPS、内存占用、Drawcall、同屏三角面数等)。
◆经验总结:
1)画质的表现力与性能开销是相互矛盾的
2)需要持续维护,相关功能系统的设计都需要考虑到不同画质
3)极简画质牺牲了可玩性,同时会增加LOD框架的复杂性,使用最简单暴力的方式去处理
◆兼容性问题:
1)低配画质需要考虑的适配问题
  可能不支持Shader定义8张以上的贴图纹理
  可能不支持ETC2格式的贴图纹理
  可能不支持OpenGL ES3.0
2)高配画质需要考虑的问题
  支持PBR、线性空间
  奇怪的Bugs
3)需要解决各个画质下的兼容性问题,建立黑名单和白名单。
2、如何找出可以进行分级的细节?
◆优先找出开销大的点
  后处理效果Bloom、HDR、ToneMapping、MotionBlur、DOF等
  实时光照和阴影、水面实时反射
  PBR物理光照
  Ragdoll、DydamicBones等物理系统
  日夜循环、特效天气系统
◆细节模块的LOD功能考虑
  场景 / 角色 / 特效 / 摄像机相关 / 其他系统模块
二、LOD模块细分
1、场景相关

◆Shader LOD
  shader.globalMaximumLOD来指定不同画质的LOD值
  Shader内部定义多个SubShader,逐个降低计算和纹理采样
使用Shader LOD存在一个问题,在Properties中定义的贴图,在低级别的SubShader中虽然不被采样和计算,但是仍会有内存占用。建议和角色一样,设计LOD框架时考虑两份prefab,支持场景转一份低配场景文件给低配使用。
◆制作时合理使用高低模
◆场景物件分级Level_1、Level_2、Level_3
  含场景特效、场景动画物件等,在不同的级别显示/隐藏
最早期我们采用距离来控制场景特效的显示。缺点:
1、实时监控距离的开销
2、每个场景需要单独配置合理的距离值
使用层级来控制更为直接,在制作LOD时最优先考虑最简单暴力的方式,这样美术规范也不会太复杂,后期也不需要过多的维护。
◆场景光照切换
  Light/Light_High 涉及实时灯光对角色、场景阴影绘制的控制
  场景光照图切换
◆物件的Layer层决定阴影
  场景文件中配置的Cast Shadows和Receive Shadows设置给烘焙使用,不方便存储下来
  设计不同的Layer来决定物件是否产生阴影和接受阴影
◆角色产生阴影
  高配时玩家和Npc角色的Layer修改为Shadow,低配时修改为Player/Npc
  中配时玩家自身和Boss角色的Layer修改为Shadow,其他玩家为Player
  Shadow层绘制实时阴影,Player/Npc会使用圆片来绘制脚底阴影
◆角色接收阴影
  仅在高配画质开启接收阴影
◆裁剪距离、雾效距离
  设计裁剪距离与雾效距离按照百分比减小的算法,防止数值异常
◆后期处理效果
  全局后期处理
通过全局后期处理管理后期的开启、关闭,控制自定义的选项。
  场景后期处理
场景配置高、低两种后期处理方案,低配时只使用ColorGrading
  UI和剧情动画中的后期处理只在高配时开启
比如:UI中使用的Bloom、剧情中使用的RadialBlur运动模糊等
◆单个场景的特效等级
通过配置表定义场景的类型和同屏可显示的特效数量和等级
2、角色相关

◆角色材质、shader、贴图
  通过配置表,在不同画质调用不同的prefab
  A.prefab和A_Low.prefab使用A.mat和A_Low.mat
  A_Low.mat使用的Shader降低计算和贴图纹理采样
  A_Low.mat使用的_MainTex替换低精度贴图纹理
◆LODGroup
  角色的模型面数标准提升后,制作高模、低模两档,通过LODGroup功能按距离降档
◆SubShader
  高配和中配的光照模型切换,PBR切换Blinn-Phong
◆角色部件
  部件在配置表中可配置为空,在低配时可以不显示背部挂件
◆角色骨骼Skin Count
  Skin支持的最大骨骼数降级2-Bones 1-Bones
  DynamicBone基于物理系统的动态骨骼效果的开关
  Npc死亡动作基于物理系统的表现的开关
◆同屏角色数量
  不同画质设置不同的同屏显示角色上限
  无逻辑任务的客户端NPC开关
3、特效相关
◆天气系统
  制作不同数量级的粒子系统
◆脚步特效
  开启和关闭脚步特效,可对玩家自身和其他玩家分开控制
◆掉落特效
  复杂特效可以制作简化版本
以上三种特效都可以通过简单的配置表功能完成。
◆技能特效
  通过配置表,在不同画质调用不同的prefab
◆技能特效的标准
  制作阶段控制特效的性能开销
  工具辅助生成*_Low.Prefab
  严格控制*_Low.Prefab的性能开销
4、 其他模块
◆渲染分辨率
  使用不同的渲染分辨率,且限制最高分辨率为1080p
◆开放视角
  视角上下左右旋转和
  摄像机最远最近距离
◆脚本控制
特殊情况下需要制作可以在四种画质下进行切换的配置,通过脚本控制:
  Prefab切换
  Material切换
5、 不适合LOD的系统模块
◆UI
  UI上的图素和特效不适合做显隐和优化
  UI场景不适合做烘焙和实时光的切换
  UI角色可以根据界面的重要程度选择使用高级或低级
  管理好加载和卸载后,可以考虑替换高低配UI资源
◆剧情



Snipaste_2019-07-05_19-13-15.jpg

评分

参与人数 1元素币 +50 展开 理由
元素界王神... + 50 【点赞】这很有大网气质!

查看全部评分

还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
俊哥  发表于 2021-5-28 07:31:22  
2#
很棒的资源,有这样的平台实在太赞了
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表