天天看点

《Unity开发实战》——2.4节自定义镜头光晕效果

本节书摘来自华章社区《unity开发实战》一书中的第2章,第2.4节自定义镜头光晕效果,作者 (爱尔兰)matt smith (巴西)chico queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看

2.4 自定义镜头光晕效果

过去15年里,在户外环境玩过游戏的任何玩家都知道:镜头光晕(lens flare)效果用于模拟明亮的光照穿透玩家的视野。虽然这个技术现在已经用滥了,但仍然出现在各类游戏中。本节将练习创建镜头光晕效果。

2.4.1 准备工作

强烈建议读者用图片编辑器(adobe photoshop或gimp)打开图片。示例代码中的0423_02_03文件夹中有本节需要用到的镜头纹理(lens texture)的源代码。

2.4.2 操作步骤

请按照下面的步骤创建一个新的镜头光晕纹理并应用到场景中:

1)通过菜单的assets | import | package | character controller导入unity自带的character controller(角色控制器)包。

2)再用同样的步骤导入light flares(光晕)包。

3)在hierarchy视图中,用create按钮添加一个directional light(方向光)效果到场景中。

4)选中你的摄像机,再通过菜单的component | camera control | mouse look 选项,添加一个mouse look组件。

5)在project视图中,找到sun光晕(在standard assets | light flares目录下),复制(选中后按ctrl+d)一份,重命名为“mysun”,如下图所示:

6)在inspector视图中,点击flare texture让project视图中与其对应纹理的文件位置显示出来,应该是一个叫做50mmflare的纹理。

《Unity开发实战》——2.4节自定义镜头光晕效果

9)要自己创建的话,(在photoshop中)创建几个circle(圆)形,添加不同的layer effects(层效果),如gradient overlay(渐变叠加)、stroke(描边)、inner glow(内发光)和outer glow(外发光)。

10)通过编辑那张原始的图片或者绘制几条线,然后把线变模糊,就可以重新创建一个星形的光晕了。

《Unity开发实战》——2.4节自定义镜头光晕效果

13)在project视图中选择directional light(方向光),在inspector视图中把flare的属性设置成mysun。

《Unity开发实战》——2.4节自定义镜头光晕效果

14)播放场景,绕着移动鼠标来回转,就可以看见镜头光晕就像摄像机对着光一样的效果。

2.4.3 实现原理

我们已经用unity内置的镜头光晕纹理作为设计图,而后,当玩家的视线接近光的方向时镜头光晕纹理就会显示。

2.4.4 更多内容

继续阅读