码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2014-09-11 09:33:31      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:des   http   color   io   ar   for   数据   art   div   

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

  步骤:

  1.创建个ui

<ignore_js_op>bubuko.com,布布扣 

 

<ignore_js_op>bubuko.com,布布扣 

  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

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

标签:des   http   color   io   ar   for   数据   art   div   

原文地址:http://www.cnblogs.com/carrie901/p/3965717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!