码迷,mamicode.com
首页 > 其他好文 > 详细

光照——06反射环境

时间:2015-11-05 13:35:32      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:

学习笔记适合新手,如有错误请指正。?号处也请各位指点下,谢谢。

在3D开发中,需要模拟很多现实中的效果,例如一颗钢珠会将周围的画面反射,在Unity中,可以通过设置材质的属性来实现

反射天空盒

新建一个场景》创建一个Sphere球体》新建材质并赋予球体

设置材质的两个参数即可反射天空盒》将材质的Metallic设置为1(也就是金属属性为最大)》将Smoothness设置为1,最平滑

反射天空盒及场景

 仅仅反射天空盒是不够的,像赛车游戏中赛车的玻璃和车身,如果能反映周围的环境就会大大提高游戏的画面表现力,这一切都可以借助Reflection Probe反射探针来实现

创建场景》加入地形和树木》点击导航菜单栏》GameObject》Light》Reflection Probe创建反射探针

探针像摄像机一样的拍摄周围的画面,不同的是探针拍摄的是周围所有角度的画面,然后将画面存在一张Cube Map中

我们可以在场景里创建多个这样的反射探针,当物体需要反映场景时,取最近的数个反射探针,并将他们的Cube Map混合显示,立方体线框所示区域,为反射探针的作用区域,超过此区域的物体不能获取此探针

我们创建一个胶囊体》新建一个材质并赋予胶囊体,

将材质的Metallic设置为1

将Smoothness设置为1,

在将胶囊体Mesh Renderer组件的Reflection Probes属性设置为Blend Probes And Sky Box

技术分享

Baked:根据标记为ReflectionProbeStatic的对象生成静态的CubeMap,烘焙只在Editor中进行,也就是动态物体不会被反射探针探测到

Custom:为各个反射探针手动生成Cube Map,在手动点击Inspenctor界面下ReflectionProbe的Bake按钮时,制动Cube Map的保存路径并保存,也可以在Cubemap栏指定其他Cubemap

Realtime:根据所有区域内静态及动态物体实时生成Cube Map,非常消耗效率

Size:区域内的物体能够接收探针的CubeMap,在Scene窗口中以黄色线框显示

Intensity:CubeMap应用于贴图的强度,默认值为1

Resolution:分辨率

HDR:是否开启HDR高动态范围模式

BoxProjection:盒子投影,当反映的是近似立方体的环境,开启盒子投影能得到正确的结果,效果(Shader model3.0以上才支持)

选中胶囊体,在Inspector界面中的Mesh Renderer栏下的Reflection Probes设置反射探针的混合类型

Off:不混合,仅仅反射天空盒

Simple:简单混合天空盒和最近的反射探针

Blend Probes:在附近的反射探针之间取插值,不包括天空盒,适用于室内物体

Blend Probes And Skybox:在附近的反射探针之间取插值并与天空盒混合,适用于室外对象,当位于探针区域内时取探针Cube Map,离开区域后切换到天空盒

光照——06反射环境

标签:

原文地址:http://www.cnblogs.com/kubll/p/4939162.html

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