纳金网

标题: 脚本动态修改Lightmap烘焙贴图 [打印本页]

作者: 烟雨    时间: 2015-5-28 01:49
标题: 脚本动态修改Lightmap烘焙贴图

也许有的童鞋会说,不就脚本动态换个Lightmap吗?简单的很,获取Lightmap的贴图数组,然后循环替换,分分钟搞定的事。代码duang的就出来了:
  1. for (int i = 0; i < LightmapSettings.lightmaps.Length; i++)
  2.         {
  3.             LightmapSettings.lightmaps[i].lightmapFar = Resources.Load<Texture2D>("Lightmap/LightmapFar-" + i);
  4.         }
复制代码
嗯,看起来是那么回事,不过运行后看,好像没效果啊……

其实吧,思路是对的,但是不能这么简单地循环设置Lightmap的贴图数组就完事的。而是需要缓存一个LightmapData[]数组,然后再给LightmapSettings.lightmaps赋值才会有效,所以应该这么写:
  1. LightmapData[] lightmapData = LightmapSettings.lightmaps;
  2.         for (int i = 0; i < lightmapData.Length; i++)
  3.         {
  4.             LightmapData lightmap = new LightmapData();
  5.             string path = string.Format("Lightmap/LightmapFar-{0}", i);
  6.             lightmap.lightmapFar = Resources.Load<Texture2D>(path);
  7.             lightmapData[i] = lightmap;
  8.         }
  9.         LightmapSettings.lightmaps = lightmapData;
复制代码





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5