查看: 1143|回复: 0
打印 上一主题 下一主题

[其他] 脚本动态修改Lightmap烘焙贴图

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53488
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-5-28 01:49:45 |只看该作者 |倒序浏览

也许有的童鞋会说,不就脚本动态换个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;
复制代码
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-8-7 20:58 , Processed in 0.059897 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部