Unity3D之动态修改烘培贴图的大小&脚本烘培场景
2017-02-22 18:21
696 查看
Unity默认烘培场景以后每张烘培贴图的大小是1024。但是有可能你的场景比较简单,用1024会比较浪费。如下图所示,这是我的一个场景的烘培贴图,右上角一大部分完全是没有用到,但是它却占着空间。
有时候可能你想去修改烘培贴图的大小,如下图所示以前我试过在Inspector视图中修改烘培贴图的大小,图虽然是小了但是它是整体缩小,后来在手机上面发现这这样直接修改烘培贴图的大小确实有问题,接缝方面处理的有问题。而且每次烘培完场景以后都需要这样缩一下。。(千万不要这样缩图)
我们需要美术在烘培场景的时候去设置烘培贴图的大小,可是Unity的烘培菜单根本没有设置烘培贴图的大小。。后来我想到了一个巧妙的办法,用脚本来烘培场景,顺便设置烘培贴图的大小。。代码很简单。
Clear()就是删除当前场景的烘培贴图。
Bake()就是直接烘培当前场景,我还可以在烘培场景之前加一些代码。。。一切都是脚本化操作。嘿嘿。。
maxAtlasHeight和maxAtlasWidth 就是每张烘培贴图的宽和高,一般我们每个场景用一张512的就差不多了。烘培贴图必须要2的幂次方,并且要正方形的。
[MenuItem("Test/Test")]
staticvoidInit()
{
LightmapEditorSettings.maxAtlasHeight=512;
LightmapEditorSettings.maxAtlasWidth=512;
Lightmapping.Clear();
Lightmapping.Bake();
}
这样美术只用在Lightmapping窗口中设置好当前烘培场景的参数。。调用我们写的拓展菜单方法就可以了。这里我设置的烘培贴图的大小是512。
利用上面的方法我们把一张1024的贴图缩小到了512,效果没有什么变化但是空间缺缩小了4倍。。
IOS PVRTC压缩后512的贴图只有170.8KB,很给力吧。。
有时候可能你想去修改烘培贴图的大小,如下图所示以前我试过在Inspector视图中修改烘培贴图的大小,图虽然是小了但是它是整体缩小,后来在手机上面发现这这样直接修改烘培贴图的大小确实有问题,接缝方面处理的有问题。而且每次烘培完场景以后都需要这样缩一下。。(千万不要这样缩图)
我们需要美术在烘培场景的时候去设置烘培贴图的大小,可是Unity的烘培菜单根本没有设置烘培贴图的大小。。后来我想到了一个巧妙的办法,用脚本来烘培场景,顺便设置烘培贴图的大小。。代码很简单。
Clear()就是删除当前场景的烘培贴图。
Bake()就是直接烘培当前场景,我还可以在烘培场景之前加一些代码。。。一切都是脚本化操作。嘿嘿。。
maxAtlasHeight和maxAtlasWidth 就是每张烘培贴图的宽和高,一般我们每个场景用一张512的就差不多了。烘培贴图必须要2的幂次方,并且要正方形的。
[MenuItem("Test/Test")]
staticvoidInit()
{
LightmapEditorSettings.maxAtlasHeight=512;
LightmapEditorSettings.maxAtlasWidth=512;
Lightmapping.Clear();
Lightmapping.Bake();
}
这样美术只用在Lightmapping窗口中设置好当前烘培场景的参数。。调用我们写的拓展菜单方法就可以了。这里我设置的烘培贴图的大小是512。
利用上面的方法我们把一张1024的贴图缩小到了512,效果没有什么变化但是空间缺缩小了4倍。。
IOS PVRTC压缩后512的贴图只有170.8KB,很给力吧。。
相关文章推荐
- Unity3D研究院之动态修改烘培贴图的大小&脚本烘培场景
- Unity3d 批量修改贴图导入设置工具脚本
- < Unity 3D专栏 >动态创建对象,并渲染贴图,动态添加删除脚本
- 3DMax脚本插件--修改材质&贴图名称
- 修改背景颜色&字体&窗口标题及大小
- 【VC控件】动态修改控件和弹出菜单上的文字内容及大小
- 动态修改ListView文字大小
- unity3d 脚本基础认识3-动态产生GUI
- init进程 && 解析Android启动脚本init.rc && 修改它使不启动android && init.rc中启动一个sh文件
- windows如何动态修改ip(脚本命令)
- winform中怎么动态修改窗体的大小
- Unity3D 换贴图脚本
- Unity3D 动态显示场景跳转提示框
- 简单解决动态修改TImage的canvas大小的方法
- MFC 获取临时目录 && 动态修改菜单栏
- [Unity3D] Dynamic Font for NGUI 2.5.0c,动态字体脚本支持NGUI最新版本
- Unity3D教程:Unity批量处理修改烘培LightMap
- 如何修改CEdit&CB中文本的字体大小及颜色
- 动态修改大小的Panel用户控件
- unity3d 动态改变模型大小、方向