Skip to content

wangjian8006/SceneOptimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

一个Unity场景优化例子。

打包

1.当一个文件被多个文件依赖时,这个文件设置成当前路径的bundle
2.当一个文件只被一个文件依赖时,这个文件设置成第一个文件的bundle

优化方向

三方面考虑
1)渲染性能:场景烘焙不用多盏灯、视椎体剔除、遮挡剔除、LOD【合并】
2)内存:实时的加载与卸载,这个具体在后面OpenWolrd中用到
3)跳场景的速度:将场景分成地表层与地形层,前期只加载地形层与光照贴图。【或者光照贴图也不加载】

优化事项

fbx与prefab名字不要相同
fbx不用submesh的方式,submesh是共享顶点,当submesh拆开再合并的时候,顶点会共享,这样内存会成倍增加
小场景可以用PBR材质,用PBR材质就一定要用实时灯光才有效果。
大场景避免使用PBR材质,大场景尽可能用烘焙光影来达到光照效果。
烘焙的场景模型就不要用法线贴图了,贴了也没效果,还占空间资源。
过多Mipmap使用会对内存造成很大压力,因此只对大物件设置Mipmap。
植被尽量做成足够大,比如草不用草片,而用一撮撮草

其他

1.加载与实例化要控制好,一帧只加载几个资源,一帧只实例化几个资源
2.实时加载卸载资源
3.一帧只合并几个物件,物件不要太大,太大的物件可以切分
4.也不是所有资源都要合并,毕竟合并之后内存成倍增长
5.卸载的资源需要解合并
6.如果不考虑兼容性的话,可以选择用GPUInstnace来渲染草、树、石头
7.代码例子只是做测试demo,并没有实现所有功能

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published