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

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors