上一章:【Unity3D技术文档翻译】第3.4.3篇 使用灯光
本章原文所在章节:【Unity Manual】→【Graphics】→【Graphics Overview】→【Lighting】→【Light sources】→【Cookies】
Cookies
在戏院或者电影里,光照效果被用于创建并不是真实布置在那里的物体影像。丛林探险家可能出现在一个虚构的树冠下。监狱场景中通常显示一个透过有栏杆窗户的灯光,然而窗户和墙面实际上并没有被布置。虽然效果不错,阴影其实是简单地在灯光与被照物体之间放置一个形状遮罩创建而成。
平行光 Cookie 模拟透过窗户的灯光制作 Cookie
一个 Cookie 只是一张普通纹理,只有 alpha/透明通道被用到。当你导入一个 cookie,Unity 会提供选项来将图片的亮度转化为 alpha 值,因此通常将你的 cookie 设计为一张灰度纹理会更简单。你可以使用任何可用的图片编辑器来制作 cookie,然后将它保存到你项目的 Assets 文件夹中。
一个简单的用于窗户灯光的 Cookie当 cookie 被导入 Unity,在 Project view 中选中它,然后在检查器中设置 Texture Type 为 Cookie。同时你应该开启 Alpha From Grayscale,除非你已经设计了图片的 alpha 通道。
Light Type 属性影响了灯光投射 cookie 的方式。因为点光源在所有方向投射,所以 cookie 纹理必须为 Cubemap(立方体)方式。聚光灯应该使用一个类型被设置为 Spotlight 的 cookie,而平行光的类型则既可以使用 Spotlight,也可以使用 Directional。具有平行 cookie 的平行光,将以瓦片的形式重复平铺在场景中。而当使用聚光灯 cookie,则只会在光线路径上绘制一次;这是唯一平行光的位置也重要的例子。
在平行光模式下平铺的窗户 cookie将 cookie 应用到灯光
当纹理被导入后,将它拖拽至灯光组件检查器的 cookie 属性上来应用。
聚光灯与点光源简单地根据圆锥或球体的大小来缩放。平行光具有一个额外的 Cookie Size 属性,可以通过它设置 cookie 的缩放;缩放在 Spotlight 和 Directional 上都有效。
使用 cookie
Cookies 通常被用于改变灯光的形状,于是可以在场景中匹配一个绘制细节。比如,黑色隧道天花板上的长条状灯。如果你使用标准的聚光灯照明,那么光线将意外地呈现圆形图案,因此你可以使用 cookies 来将灯光限制为一个狭窄矩形。监视器屏幕可能投射绿色光芒到角色的脸上,因此可以使用 cookie 来将光芒限制在一个小盒子形状内。
注意,cookie 并不是只有黑白两色,它可以混合任意灰度等级。这样就可被用于模拟灯光路径上的灰尘或泥土。比如,如果游戏场景发生在一个长期废弃的房屋内,你可以在窗户和其他光源上使用带有噪音的“灰尘” cookie, 以创建一个合适的氛围。同理,汽车前灯玻璃通常包含褶皱,这会产生一种或微亮或微暗的焦散光线;还有很多其他使用 cookie 的例子。
如果本文对你有帮助的话,点个赞或者评论一下吧!
网友评论