《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的纹理。


a0d17be38bf52d0e1fa69352454868a86e5ce71e

9)要自己创建的话,(在Photoshop中)创建几个Circle(圆)形,添加不同的Layer Effects(层效果),如Gradient Overlay(渐变叠加)、Stroke(描边)、Inner Glow(内发光)和Outer Glow(外发光)。
10)通过编辑那张原始的图片或者绘制几条线,然后把线变模糊,就可以重新创建一个星形的光晕了。


89dc6bfd667bf1a1534a8ae818d84527312b334f

13)在Project视图中选择Directional Light(方向光),在Inspector视图中把Flare的属性设置成MySun。


2e34dfac88a6855abdcf1e6535fe6237dd93c0ac

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

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

2.4.4 更多内容
光晕纹理可以为每个元素使用不同的布局和参数。如果你想了解更多关于Lens Flare effect的知识,可以查看Unity的文档:http://docs.unity3d.com/Documentation/Components/class-LensFlare.html

相关文章
|
7月前
|
图形学
【unity小技巧】实现FPS射击游戏枪武器随镜头手臂摇摆效果
【unity小技巧】实现FPS射击游戏枪武器随镜头手臂摇摆效果
67 0
|
开发框架 图形学
Unity Hub 自定义一个创建新项目模板(Template)
Unity Hub 自定义一个创建新项目模板(Template)
506 1
Unity Hub 自定义一个创建新项目模板(Template)
|
开发工具 图形学
|
PHP 图形学
Unity Cinemachine & Timeline 制作镜头动画
Unity Cinemachine & Timeline 制作镜头动画
706 0
|
图形学
Unity 基础 之 自定义编辑器布局
Unity 是一个强大的开发引擎,一起来认识一下编辑器布局吧。看看如何才能调整出你想要的布局吧,调整后果然舒适哦~
472 0
|
图形学
Unity组件:Lens Flare 镜头光晕
Lens Flares simulate the effect of lights refracting inside camera lens. They are used to represent really bright lights or, more subtly, just to add a bit more atmosphere to your scene. 镜头光晕 模拟相机镜头内的折射光线的效果。
4638 0
|
图形学
Unity 3D光源-Directional平行光/逆光效果,光晕详解、教程
Unity4大光源之平行光 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心...
2049 0
|
图形学
Unity 3D还原Scene场景、市面多数游戏视角高度自定义、第三人称视角分离功能:平移、拖动、看向中心等
Unity视角的高度自定义 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心...
1601 0
|
图形学
Unity 小技巧之 自定义List.Distinct去重
配合lambda表达式 TypeList = TempShoppingMallItemList.Distinct(new ListComparer((p1, p2) => p1.
1322 0