unity3d lightmap贴图加载、替换、切换

unity中烘过图的场景很难做lightmap的平滑过渡,只能实现按钮的切换。难点是多套lightmap的加载,还有如何替换。

  步骤:

  1.创建个ui

<ignore_js_op> 

 

<ignore_js_op> 

  3.编辑js

[AppleScript] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
var lightmapDay:Texture2D[];//第一套图
 
var lightmapNight:Texture2D[];//第二套图
 
private var lightDataFirst:LightmapData[];//第一套图的数据结构
 
private var lightDataSecond:LightmapData[];//第二套图的数据结构
 
private var ok:boolean=true;//切换开关
 
private var indexnum:int;//每套图的数量。注意两套图要一样多,并且序号要一致
 
function Start () {
 
//初始化数据结构
 
indexnum=lightmapDay.Length;
 
lightDataFirst=new LightmapData[indexnum];
 
lightDataSecond=new LightmapData[indexnum];
 
if(ok){
 
//将两套图写入数据结构
 
for(var i=0;i<indexnum;i++){
 
lightDataFirst[i]=new LightmapData();
 
lightDataFirst[i].lightmapFar=lightmapDay[i];
 
lightDataSecond[i]=new LightmapData();
 
lightDataSecond[i].lightmapFar=lightmapNight[i];
 
}
 
}
 
}
 
function OnMouseDown () {
 
if(ok){
 
LightmapSettings.lightmaps=lightDataFirst;//切入第一套图
 
}
 
else
 
{
 
LightmapSettings.lightmaps=lightDataSecond;//切入第二套图
 
}
 
ok=!ok;
 
}


  4.将js添加到ui上

  总结:这个问题的解决是靠LightmapData,LightmapSettings这两个结构的掌握。


        游戏蛮牛:http://www.unitymanual.com

posted on 2014-09-11 09:16  caririe901  阅读(1310)  评论(0)    收藏  举报

导航