LOD优化策略通篇
LOD優(yōu)化策略-場(chǎng)景
◆Shader LOD
? shader.globalMaximumLOD來(lái)指定不同畫質(zhì)的LOD值
? Shader內(nèi)部定義多個(gè)SubShader,逐個(gè)降低計(jì)算和紋理采樣
使用Shader LOD存在一個(gè)問(wèn)題,在Properties中定義的貼圖,在低級(jí)別的SubShader中雖然不被采樣和計(jì)算,但是仍會(huì)有內(nèi)存占用。建議和角色一樣,設(shè)計(jì)LOD框架時(shí)考慮兩份prefab,支持場(chǎng)景轉(zhuǎn)一份低配場(chǎng)景文件給低配使用。
◆制作時(shí)合理使用高低模
◆場(chǎng)景物件分級(jí)Level_1、Level_2、Level_3
? 含場(chǎng)景特效、場(chǎng)景動(dòng)畫物件等,在不同的級(jí)別顯示/隱藏
最早期我們采用距離來(lái)控制場(chǎng)景特效的顯示。缺點(diǎn):
1、實(shí)時(shí)監(jiān)控距離的開(kāi)銷
2、每個(gè)場(chǎng)景需要單獨(dú)配置合理的距離值
使用層級(jí)來(lái)控制更為直接,在制作LOD時(shí)最優(yōu)先考慮最簡(jiǎn)單暴力的方式,這樣美術(shù)規(guī)范也不會(huì)太復(fù)雜,后期也不需要過(guò)多的維護(hù)。
◆場(chǎng)景光照切換
? Light/Light_High 涉及實(shí)時(shí)燈光對(duì)角色、場(chǎng)景陰影繪制的控制
? 場(chǎng)景光照?qǐng)D切換
◆物件的Layer層決定陰影
? 場(chǎng)景文件中配置的Cast Shadows和Receive Shadows設(shè)置給烘焙使用,不方便存儲(chǔ)下來(lái)
? 設(shè)計(jì)不同的Layer來(lái)決定物件是否產(chǎn)生陰影和接受陰影
◆角色產(chǎn)生陰影
? 高配時(shí)玩家和Npc角色的Layer修改為Shadow,低配時(shí)修改為Player/Npc
? 中配時(shí)玩家自身和Boss角色的Layer修改為Shadow,其他玩家為Player
? Shadow層繪制實(shí)時(shí)陰影,Player/Npc會(huì)使用圓片來(lái)繪制腳底陰影
◆角色接收陰影
? 僅在高配畫質(zhì)開(kāi)啟接收陰影
◆裁剪距離、霧效距離
? 設(shè)計(jì)裁剪距離與霧效距離按照百分比減小的算法,防止數(shù)值異常
◆后期處理效果
? 全局后期處理
通過(guò)全局后期處理管理后期的開(kāi)啟、關(guān)閉,控制自定義的選項(xiàng)。
? 場(chǎng)景后期處理
場(chǎng)景配置高、低兩種后期處理方案,低配時(shí)只使用ColorGrading
? UI和劇情動(dòng)畫中的后期處理只在高配時(shí)開(kāi)啟
比如:UI中使用的Bloom、劇情中使用的RadialBlur運(yùn)動(dòng)模糊等
◆單個(gè)場(chǎng)景的特效等級(jí)
通過(guò)配置表定義場(chǎng)景的類型和同屏可顯示的特效數(shù)量和等級(jí)
LOD優(yōu)化策略-角色
◆角色材質(zhì)、shader、貼圖
? 通過(guò)配置表,在不同畫質(zhì)調(diào)用不同的prefab
? A.prefab和A_Low.prefab使用A.mat和A_Low.mat
? A_Low.mat使用的Shader降低計(jì)算和貼圖紋理采樣
? A_Low.mat使用的_MainTex替換低精度貼圖紋理
◆LODGroup
? 角色的模型面數(shù)標(biāo)準(zhǔn)提升后,制作高模、低模兩檔,通過(guò)LODGroup功能按距離降檔
◆SubShader
? 高配和中配的光照模型切換,PBR切換Blinn-Phong
◆角色部件
? 部件在配置表中可配置為空,在低配時(shí)可以不顯示背部掛件
◆角色骨骼Skin Count
? Skin支持的最大骨骼數(shù)降級(jí)2-Bones 1-Bones
? DynamicBone基于物理系統(tǒng)的動(dòng)態(tài)骨骼效果的開(kāi)關(guān)
? Npc死亡動(dòng)作基于物理系統(tǒng)的表現(xiàn)的開(kāi)關(guān)
◆同屏角色數(shù)量
? 不同畫質(zhì)設(shè)置不同的同屏顯示角色上限
? 無(wú)邏輯任務(wù)的客戶端NPC開(kāi)關(guān)
LOD優(yōu)化策略-特效
◆天氣系統(tǒng)
? 制作不同數(shù)量級(jí)的粒子系統(tǒng)
◆腳步特效
? 開(kāi)啟和關(guān)閉腳步特效,可對(duì)玩家自身和其他玩家分開(kāi)控制
◆掉落特效
? 復(fù)雜特效可以制作簡(jiǎn)化版本
以上三種特效都可以通過(guò)簡(jiǎn)單的配置表功能完成。
◆技能特效
? 通過(guò)配置表,在不同畫質(zhì)調(diào)用不同的prefab
◆技能特效的標(biāo)準(zhǔn)
? 制作階段控制特效的性能開(kāi)銷
? 工具輔助生成*_Low.Prefab
? 嚴(yán)格控制*_Low.Prefab的性能開(kāi)銷
LOD優(yōu)化策略-其它
◆渲染分辨率
? 使用不同的渲染分辨率,且限制最高分辨率為1080p
◆開(kāi)放視角
? 視角上下左右旋轉(zhuǎn)和
? 攝像機(jī)最遠(yuǎn)最近距離
◆腳本控制
特殊情況下需要制作可以在四種畫質(zhì)下進(jìn)行切換的配置,通過(guò)腳本控制:
? Prefab切換
? Material切換
不適合LOD的系統(tǒng)模塊
◆UI
? UI上的圖素和特效不適合做顯隱和優(yōu)化
? UI場(chǎng)景不適合做烘焙和實(shí)時(shí)光的切換
? UI角色可以根據(jù)界面的重要程度選擇使用高級(jí)或低級(jí)
? 管理好加載和卸載后,可以考慮替換高低配UI資源
◆劇情
總結(jié)
- 上一篇: python后端将svc文件数据读入数据
- 下一篇: Python10/22--面向对象编程/