原地址:http://liweizhaolili.blog.163.com/blog/static/16230744201371721511106/

之前曾经介绍过Unity3D的LightMapping烘焙的用法。单独使用的LightMapping效果很好,但由于只是把光影烘焙到贴图上面,所以并不会对周围的动态物体产生真正的光照效果。这次来介绍一下LightProbe,这是对LightMapping的一个补充功能,可以让动态物体在烘焙好的场景里面受到光的照射效果。
 
接下来说一下具体的用法:
首先在场景里面随意的放了一些物体,搭建了一个场景,里面有一盏直射灯,两盏不同颜色的点光源,然后有一个球,球是作为动态物体的存在。
由于打了灯光,所以球明显的受到了两盏灯光的影响而表现出两种颜色。
接下来设置一下LightMapping的选项,然后烘焙
烘焙之后的效果是这样的,由于三盏灯还开着,所以球还是受到光的颜色的影响。
接下来我们把三盏灯都关掉,这时候球就没有任何灯光效果,变成灰黑色
移动一下球,明显的不和场景里面的任何灯光产生影响
接下来我们要开始做LightProbe了。先建一个空物体
然后给这个空物体添加Light Probe Group组件
 


 在LightProbe选项里面,有添加、选择、删除和复制探头的按钮

我们可以点击添加,放一些探头在场景里面,也可以建一个,然后复制多几个

 
最简单的,先在各个角落放一个,包一定范围内的场景包起来。只要你选择了LightProbe物体,那么这些探头点你就可见,然后你就可以直接用鼠标点选这些探头,然后使用位移工具来移动他们。
在烘焙之前,记得把这个LightProbe物体改成Lightmap静态物体
烘焙之前记得把三盏灯开启,烘焙完成之后,选择球,然后在网格渲染里面把Use Light Probes勾上
烘焙后就可以把三盏灯关闭了,这时候,我们看到球不再是灰黑色的了,而是受到了一定的灯光的影响
把球移动到另外一边,发现球的颜色稍微有点变化了,这就是受到了LightProbe影响了。
但上面的效果不明显,我们继续的在两盏点光源的附近加多一点探头
再次烘焙之后,我们可以看到,现在的球受到LightProbe的影响的效果就很明显了。
 
其实就是这么简单,LightProbe的用法就是在LightMapping的基础上加上了一些探头的点来记录光源的信息。探头越多,效果就越明显。各位如果有兴趣,可以深入的研究一下,探头怎样分布,效果才是最好的。

Unity3D的LightProbe动态光探头用法介绍的更多相关文章

  1. 【转】Unity3D的LightProbe动态光探头用法介绍

    原创至上,移步请戳:Unity3D的LightProbe动态光探头用法介绍 之前曾经介绍过Unity3D的LightMapping烘焙的用法.单独使用的LightMapping效果很好,但由于只是把光 ...

  2. STL vector用法介绍

    STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和f ...

  3. 怎么通过activity里面的一个按钮跳转到另一个fragment(android FragmentTransaction.replace的用法介绍)

    即:android FragmentTransaction.replace的用法介绍 Fragment的生命周期和它的宿主Activity密切相关,几乎和宿主Activity的生命周期一致,他们之间最 ...

  4. (转)Unity3D移动平台动态读取外部文件全解析

    Unity3D移动平台动态读取外部文件全解析 c#语言规范 阅读目录 前言: 假如我想在editor里动态读取文件 移动平台的资源路径问题 移动平台读取外部文件的方法 补充: 回到目录 前言: 一直有 ...

  5. pm2常用的命令用法介绍

    pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的,下面我们来看pm2常用的命令用法介绍吧 ...

  6. 慕容小匹夫 Unity3D移动平台动态读取外部文件全解析

    Unity3D移动平台动态读取外部文件全解析   c#语言规范 阅读目录 前言: 假如我想在editor里动态读取文件 移动平台的资源路径问题 移动平台读取外部文件的方法 补充: 回到目录 前言: 一 ...

  7. richface的配置、用法介绍和注意事项

    richface的配置.用法介绍和注意事项一.RichFaces (3.1.x) 技术需求 1.JDK 1.5 或更高版本: 2.支持的 JSF 实现: Sun JSF 1.1 RI - 1.2 My ...

  8. MyEclipse相关用法介绍

    MyEclipse相关用法介绍 ================================================================================ 编辑: ...

  9. 关于查看域名A记录,MX记录,CNAME记录-NSLOOKUP用法介绍

    关于查看域名A记录,MX记录,CNAME记录-NSLOOKUP用法介绍 用ping查看域名的IP地址,这样只能查到域名的A记录,要查询域名的MX记录.CNAME记录或NS记录,可用nslookup命令 ...

随机推荐

  1. 003-python基础-变量与常量

    一.变量的定义 变量就是用来在程序运行期间存储各种需要临时保存可以不断改变的数据的标示符,一个变量应该有一个名字,并且在内存中占据一定的存储单元,在该存储单元中存放变量的值. 二.变量的声明 #!/u ...

  2. 【原创】可以换行的RadioGroup

    0.效果截图: 以上两个RadioGroup均使用FNRadioGroup实现. 1.控件代码: public class FNRadioGroup extends ViewGroup { /** 没 ...

  3. html/css 盒子布局 Margin 、Padding 、border 以及 清除浮动的知识 (学习HTML过程中的小记录)

    html/css  盒子布局 Margin .Padding .border 以及 清除浮动的知识 (学习HTML过程中的小记录) 作者:王可利(Star·星星) width     是"宽 ...

  4. oracle 表空间和表 read only迁移后不再read only

    DB :  11.2.0.3.0 1.将tablespace read only , 不允许再对表进行update.insert操作,测试dmp到另一个用户.表空间后是否可以update.insert ...

  5. Lambda前世今生

    1.学习资料 匿名函数 C#编程指南http://msdn.microsoft.com/zh-cn/library/bb882516.aspx Lambda表达式 C#编程指南http://msdn. ...

  6. mac os x 系统安装 genymotion android 模拟器

    如果你有 apk 文件 想 运行一下看看 ,但是又没有  android 设备 ,那么 genymotion 将会是一个  很好的解决方案. 1.安装 下载链接: https://cloud.geny ...

  7. extjs panel自动滚动

    指定两个参数 height:600, autoScroll:true, http://bbs.csdn.net/topics/280012147

  8. JNI文件中命名类与JAVA文件中匹配

    jni.c中注册中 int register_android_boa(JNIEnv *env){    jclass clazz;    static const char* const kClass ...

  9. OC中数组类NSArray的详解,数组的遍历(二)

    数组类的便利 1.for循环(大家都会的...) 2.NSEmunerator 3.for in 首先重点说下 第二种NSEmunerator枚举器,系统声明是 @interface NSEnumer ...

  10. C语言中结构体的初始化

    直接上例子: struct point { int x; int y; int z; } //常规写法 struct point pt1 = {100, 300, 200}; //初始化个数少于实际个 ...