平行光是由光源发射出相互平行的光,可以把整个场景都照亮,可以认为平行光就是整个场景的主光源,一般用于模拟太阳光,并从无限远处投射光线到场景中,很适用于户外的照明。
Unity 5.X新建工程的时候默认创建了一个平行光(Directional Light)对象。选择该平行光,在Inspector窗口中显示它的组件属性,如图3-2所示,其属性列表如表3-1所示。
表3-1 平行光属性列表
下面我们讲解平行光基础知识。
(1)打开LightDemo工程,打开场景Directional Light。
(2)移动平行光Directional Light,会发现场景的光照效果并没有变化,当旋转灯光角度的时候,场景的光线角度也随之变化。可以看出,平行光对场景的影响只与平行光的角度有关而与平行光的位置无关。
(3)给场景中的球体添加遮罩层,使得平行光照射不到它,即平行光不对它产生影响。点击属性面板的“Layer”按钮,可以在下拉列表中任选一个内置的层,也可以自己定义新的层,点击“Add Layer...”,前7 层是内置的,从第8 层起用户可以自行定义,在第8层输入Enemy,如图3-3所示。这是在Layer层中多了一个Enemy层,在Hierarchy窗口中选中Sphere对象,点击“Layer”→“Enemy”,这时球体就设置为Enemy层,如图3-4所示。
图3-3 添加新层
图3-4 设置层(www.xing528.com)
(4)为平行光剔除遮罩,在Culling Mask的下拉列表中取消Enemy层的勾选(见图3-5),那么Enemy 层所关联的对象就不受光照的影响,(见图3-6),球体没有接受平行光照射变暗了,同时球体地上的阴影也没有了。
图3-5 剔除遮罩
图3-6 光照效果
(5)为平行光设置纹理贴图。点击Cookie 右边的按钮,选择Unity这张图,那么平行光就带有纹理了,图3-7 和图3-8 所示为将Cookie Size 分别设置为3 和10 的不同效果图。
图3-7 使用Cookie Size=3 效果
图3-8 使用Cookie Size=10 效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。