- 最后登录
- 2021-7-6
- 注册时间
- 2012-12-27
- 阅读权限
- 90
- 积分
- 76145
 
- 纳金币
- 53488
- 精华
- 316
|
也许有的童鞋会说,不就脚本动态换个Lightmap吗?简单的很,获取Lightmap的贴图数组,然后循环替换,分分钟搞定的事。代码duang的就出来了:- for (int i = 0; i < Lightmapsettings.lightmaps.Length; i++)
- {
- LightmapSettings.lightmaps[i].lightmapFar = Resources.Load<Texture2D>("Lightmap/LightmapFar-" + i);
- }
复制代码 嗯,看起来是那么回事,不过运行后看,好像没效果啊……![]()
其实吧,思路是对的,但是不能这么简单地循环设置Lightmap的贴图数组就完事的。而是需要缓存一个LightmapData[]数组,然后再给LightmapSettings.lightmaps赋值才会有效,所以应该这么写:- LightmapData[] lightmapData = LightmapSettings.lightmaps;
- for (int i = 0; i < lightmapData.Length; i++)
- {
- LightmapData lightmap = new LightmapData();
- string path = string.Format("Lightmap/LightmapFar-{0}", i);
- lightmap.lightmapFar = Resources.Load<Texture2D>(path);
- lightmapData[i] = lightmap;
- }
- LightmapSettings.lightmaps = lightmapData;
复制代码 |
|