教程适用
品牌型号:联想Y50-70AM-ISE(D)
系统版本:Windows10 专业版
软件版本:Unreal engine 4 v4.5
Hello,大家好!今天来讨论一下unreal如何优化贴图,我是木偶心没。
游戏中的每个模型都需要贴图,贴图的消耗在一个游戏中也是非常庞大的,所以贴图优化在我们的大场景中也是必不可少的。而今天我们来讨论一下用mipmap和texture streaming来优化贴图。
Texture streaming是引擎的一部分,负责增加和减少每个纹理的分辨率??梢匀梦颐窃谟行Ч芾砜捎媚诖娴耐被竦昧己玫男Ч?。然后texture streaming是由mips或mipmap(多级渐进纹理)完成,mipmap,mipmap是针对纹理分辨率预先计算的图像序列。也就是像模型的lod那种处理方式,在摄像机靠近时显示最高分辨率,在摄像机远离时显示低分辨率。
而texture streaming有一个专门的缓冲池texture streaming pool,是用来专门缓存多级渐进纹理的内存区域。它的占用空间会随着摄像机的远离越来越小,也会随着摄像机的靠近越来越大。所以如果我们使用了细节程度非常高的纹理,就会遇到texture streaming pool空间不足的警告,所以
首先用stat streaming命令打开texture streaming pool
可以看到我电脑上默认的texture streaming pool的大小是1000M,如果NonStreaming Mips的太大并且比streaming pool的值都大的话,就说明需要优化贴图或者增加内存池的大小。增加texture streaming pool的大小到5000(具体数值得看项目),只需要在控制台输入r.Streaming.PoolSize 5000
然后就可以看到streaming pool的大小发生了变化,并且NonStreaming MIps的占用也大大减少
如果觉得每次打开都要使用命令进行设置回台麻烦的话,也可以直接打开项目的设置文件content\Config\DefaultEngine.ini,然后在[/Script/Engine.RendererSettings]下面加一行r.Streaming.PoolSize=5000,这样每次启动引擎的时候就会自动进行设置。
接下来开始设置贴图mipmaps。
首先能够设置成mipmaps的条件是我们的贴图大小必须要是2的次方,比如512,1024或者2048.。如果是一些奇怪的大小1023这种就没有作用。
我们先导入一张tiling贴图,可以看到默认状态下的贴图是开启了mipmap设置的
而如果对于一些UI贴图,就需要关掉mipmap设置,Mip Gen Settings选择NoMipmaps
在开启mipmaps的状态下我们进入场景查看是否生效。首先打开texture resolusion查看器:Optimization Viewmodes>Required Texture Resolution
然后在场景上方选择我们要查看的贴图
在场景里面拉动摄像机就可以看到,远处的texture resolution为绿色,近处的为白色黄色,说明mipmap已经产生了效果。
我们再将贴图设置为NoMipmaps,然后同样查看texture resolution,可以观察到整个贴图都是红色的
另外,如果需要远处的mipmap不产生模糊效果,而是像素效果,可以将贴图的Filter类型选择为Nearest而不是默认的Default
来源:Thepoly公众号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答在广州这座繁华的都市中,数字创意产业正蓬勃发展,广州视频剪辑培训成为许多影视爱好者的理想起点。随着短视频平台和影视制作需求的激......
在北京这样一座充满创意活力的都市,UI设计培训正成为无数年轻人追逐职业梦想的跳板。随着数字经济的蓬勃发展,UI设计行业在北京展......
在当今创意经济蓬勃发展的浪潮中,北京平面设计培训成为众多职业追求者的理想起点。这座城市的活力与机遇吸引着无数人投身视觉艺术领域......
在影视和设计行业蓬勃发展的今天,虚幻引擎作为核心技术工具,正引领着视觉创作的革命。越来越多的人渴望掌握这门技能,而专业的培训成......
在北京这座文化创意中心,平面设计培训行业蓬勃发展,为渴望入行的学员提供了丰富机遇。随着数字媒体和影视产业的崛起,掌握视觉传达技......
在上海这座充满活力的城市,影视和设计行业正迎来前所未有的发展机遇,数字技术的进步让3D建模成为创意产业的核心驱动力。参加专业的......
同学您好!