什么情况下需要Lightmap?
移动平台上目前暂时还不能开实时光影效果,会卡成幻灯片。所以就需要将光影烘焙到贴图上。

什么情况下需要动态加载Lightmap?
1.当项目抛弃了Unity的多场景模式,也就是说整个项目只有一个scene,资源全部都是以AssetBundle的形式动态加载。
资源全部由自己来加载和卸载。加载出来的资源,需要设置LightmapIndex和LightmapScaleOffset。
2.根据时间变换,游戏中需要切换白天,黑夜的效果。也就是动态切换两张烘焙贴图。

网上的资料都是4.6版本或者之前的。
参考:http://blog.sina.com.cn/s/blog_697b1b8c0101frao.html
我测试了之后,是没有问题的。
步骤:
1.美术提供烘焙好后的场景
(设UV2,自己生成或者U3D勾选导入设置面板生成的都可以,设静态GAMEOBJECT烘培LIGHTMAP)
2.导出LightmapData,和每一个GameObject的LightmapIndex,LightmapScaleOffset
可以记录到Json,Xml或者Unity提供的ScriptObject
3.打包资源AssetBundle
(包括场景prefab,记录Lightmap信息的SceneLightmapData.asset,烘焙出来的贴图)
4.加载AssetBundle,实例化,重新赋予LightmapIndex,LightmapScaleOffset

Unity3d中ScriptableObject是一个非常有用的类,它可以帮助开发者存储一些希望保存的在运行时用到类的实例数据到文件里面。
我这里就用这种方式来记录Lightmap信息。

测试:

但是Unity5.x版本不能成功。

不知是我没找到方法,还是Unity以后会解决这个问题。
只是当下只能放弃动态加载的方式,只能直接场景打包,由U3D自行处理和Lightmap的关系。

测试工程:
链接:http://pan.baidu.com/s/1boxUT5d 密码:28kh

Unity Lightmap动态加载研究的更多相关文章

  1. 关于Unity里动态加载图片

    Resources.Load 使用该方法可以动态加载资源 过程: 1.首先需要在Project面板里创建一个名为Resources的文件夹(名字必须是这个 不能写错啊) 2.把要加载的游戏对象放到该目 ...

  2. Unity www动态加载网上图片

    一. 1.新建一个UGUI的Button,删掉它的Image组件,添加一个Raw Image组件.如图: 由于删除了Image组件,所以画圈的位置是空的,运行后会自动把Raw Image添加到那里. ...

  3. Unity中 动态加载 Resources.Load()和Asset Bundle 的区别

    版权声明:本文为博主原创文章,未经博主允许不得转载. 初学Unity的过程中,会发现打包发布程序后,unity会自动将场景需要引用到的资源打包到安装包里,没有到的不会跟进去.我们在编辑器里看到的Ass ...

  4. Unity 利用UGUI打包图集,动态加载sprite资源

    今天做了一个UI界面,这个界面是好友界面,该界面上有若干个好友item. 需要对每个tem的头像对象(image)动态显示对应的头像.尝试利用UGUI的图集来加载,具体实现如下: 1.首先,需要知道S ...

  5. Unity动态加载和内存管理(三合一)

    原址:http://game.ceeger.com/forum/read.php?tid=4394#info 最近一直在和这些内容纠缠,把心得和大家共享一下: Unity里有两种动态加载机制:一是Re ...

  6. ExtJs中动态加载机制研究(转)

    觉得写的太好了,怕弄丢了,转一下:http://extjs.org.cn/node/659 昨天我们team对于extjs的动态加载机制做了些深入研究,这里先share下controller加载的结果 ...

  7. Unity使用脚本进行批量动态加载贴图

    先描述一下我正在做的这个项目,是跑酷类音游. 那么跑酷类音游在绘制跑道上的时候,就要考虑不同的砖块显示问题.假设我有了一个节奏列表,那么我们怎么将不同的贴图贴到不同的砖块上去呢? 我花了好几个小时才搞 ...

  8. Android之Android apk动态加载机制的研究(二):资源加载和activity生命周期管理

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客) 前言 为了 ...

  9. Unity学习笔记(5):动态加载Prefab

    第一种方法,从Resources文件夹读取Prefab Assets/Resources文件夹是Unity中的一个特殊文件夹,在博主当前的认知里,放在这个文件夹里的Prefab可以被代码动态加载 直接 ...

随机推荐

  1. 在Excel中使用SQL语句查询和筛选

    本文转自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html 今天在微博上看到@数据分析精选 分享的一篇文章,是关于<在Excel中使用SQ ...

  2. linux零基础入门总结

    啊,notepad++贴过来怎么对齐格式这么糟糕呢? #root用户 $普通用户   linux命令 清屏clear翻页清屏  CRT中ctrl+L    reset"清空 CRT中不起作用 ...

  3. Java牛人

    Java领域有很多著名的人物,他们为Java社区编写框架.产品.工具或撰写书籍改变了Java编程的方式.本文是<最受欢迎的8位Java牛人>的2.0版本. PS:排名不分先后.本文的信息整 ...

  4. cf126b(kmp好题)

    http://codeforces.com/contest/126/problem/B #include<bits/stdc++.h> using namespace std; const ...

  5. Floyed判环/龟兔算法

    求[(5+2√6)2^x+1 ] mod p 的值,其中 0 ≤ x < 232 , p 是个质数,p ≤ 46337 .(这里介绍的是一种暴力的做法) (5+2√6)2^n+1 = an + ...

  6. PHP流式上传和表单上传(美图秀秀)

    最近需要开发一个头像上传的功能,找了很多都需要授权的,后来找到了美图秀秀,功能非常好用. <?php /** * Note:for octet-stream upload * 这个是流式上传PH ...

  7. bash 语法使用

    1.定义函数时,不需要使用function作为函数的命名. 函数不需要形参. 函数名不能以数字作为开头 main() { in ) 1_start ;; ) 1_start 5_start ;; ) ...

  8. WPF三大模板简介(Z)

    WPF三大模板简介   WPF支持以下类型的模板: (1) 控件模板.控件模板可以将自定义模板应用到某一特定类型的所有控件,或是控件的某一实例.决定控件外观的是ControlTemplate,它决定了 ...

  9. delphi 各新版本特性收集

    delphi 各新版本特性收集 http://www.cnblogs.com/dreamszx/p/3602589.html

  10. Maven下载依赖项的源代码(source code)和Javadoc

    Maven 默认只下载依赖项本身的 jar 文件,不下载源代码和 Javadoc.如此固然工程的体积是最小的,但在开发者不熟悉依赖的对象时,需要查找源代码中的方法定义和说明. 这时我们需要使用一条 M ...