项目优化之光照使用(Unity3D)

简介: 适当为游戏场景添加光照效果,能够有效增强场景氛围,让玩家体验更佳。今天将为大家分享在Unity中调整光照特效的7个技巧,让整个游戏场景氛围更引人入胜。

适当为游戏场景添加光照效果,能够有效增强场景氛围,让玩家体验更佳。今天将为大家分享在Unity中调整光照特效的7个技巧,让整个游戏场景氛围更引人入胜。

网络异常,图片无法展示
|


1.使用线性颜色空间

在为场景添加光照效果之前, 尽量将颜色空间设为线性(Linear)。线性颜色空间会更接近真实环境的渲染效果。Unity默认采用Gamma Color Space ,点击Edit > Project Settings > Player,在Other Settings下找到Color Space属性,并将其设为Linear。

网络异常,图片无法展示
|

Gamma与Linear效果对比(无后处理)

网络异常,图片无法展示
|

Gamma与Linear效果对比(含后处理)


2.使用全局光照(GI)

使用全局光照(GI)能够实现更加逼真的光照。全局光照系统能够对光照在表面反射或折射到其它表面(间接光照)的方式进行建模,而非限定光照只能从光源照射到某个表面。

网络异常,图片无法展示
|

实时全局光照开关对比

可以在光照设置面板中启用全局光照,依次点击Window > Lighting > Settings,打开Lighting面板,在Scene标签下勾选Realtime Global Illumination,设置Indirect Resolution可以改变实时全局光照的分辨率。

网络异常,图片无法展示
|

烘焙全局光照(Baked GI)和预计算实时GI都存在一些限制,二者均只计算静态对象的光照,所以动态对象无法反射光照到其它对象,反之亦然。但动态对象可以利用光照探头(Light Probes)来接受静态对象反射的光照。


3.光照颜色协调

设置光照时必须关注其颜色对场景整体氛围的影响,以创造更加美妙而和谐的光照。

网络异常,图片无法展示
|

2个主色,蓝色与橙色互补

网络异常,图片无法展示
|

3个相似的主色,从绿到黄

网络异常,图片无法展示
|

2个主色,蓝色与橙色互补

不同的光照颜色会为场景带来完全不同的氛围:

网络异常,图片无法展示
|


4.尽量使用浅色

光照尽量使用浅色,不要使用饱和度过高的颜色,浅色光照看起来更加自然,也更令人舒适。

网络异常,图片无法展示
|

饱和度高的光照与浅色光照对比


5.不断调整设置

不断尝试改变光照方向及阴影,查看并对比不同的效果。以找到最合适的设置。

网络异常,图片无法展示
|


6.调整环境颜色

尝试调整环境颜色(Ambient Color)来改变阴影颜色,从而获得更加逼真而自然的阴影效果。

网络异常,图片无法展示
|

依次点击Window > Lighting > Settings打开Lighting面板,在Scene标签下将Environment Lighting Source设为Color,然后将Ambient Color 设为合适的颜色。

网络异常,图片无法展示
|


7.使用后处理特效

使用Unity提供的后处理特效包,可以让整个场景的光照效果更加强烈。可以从Asset Store资源商店下载该后处理特效资源包。下面是在Unity 5.6中使用后处理特效的示例:

网络异常,图片无法展示
|

网络异常,图片无法展示
|

后处理特效是否启用的对比



相关文章
|
8月前
|
大数据 API 图形学
Unity优化——批处理的优势
Unity优化——批处理的优势
227 0
|
8月前
|
存储 人工智能 Java
Unity优化——脚本优化策略4
Unity优化——脚本优化策略4
125 0
|
8月前
|
安全 Java 图形学
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
88 0
|
6月前
|
存储 设计模式 监控
运用Unity Profiler定位内存泄漏并实施对象池管理优化内存使用
【7月更文第10天】在Unity游戏开发中,内存管理是至关重要的一个环节。内存泄漏不仅会导致游戏运行缓慢、卡顿,严重时甚至会引发崩溃。Unity Profiler作为一个强大的性能分析工具,能够帮助开发者深入理解应用程序的内存使用情况,从而定位并解决内存泄漏问题。同时,通过实施对象池管理策略,可以显著优化内存使用,提高游戏性能。本文将结合代码示例,详细介绍如何利用Unity Profiler定位内存泄漏,并实施对象池来优化内存使用。
378 0
|
5月前
|
开发者 图形学 iOS开发
掌握Unity的跨平台部署与发布秘籍,让你的游戏作品在多个平台上大放异彩——从基础设置到高级优化,深入解析一站式游戏开发解决方案的每一个细节,带你领略高效发布流程的魅力所在
【8月更文挑战第31天】跨平台游戏开发是当今游戏产业的热点,尤其在移动设备普及的背景下更为重要。作为领先的游戏开发引擎,Unity以其卓越的跨平台支持能力脱颖而出,能够将游戏轻松部署至iOS、Android、PC、Mac、Web及游戏主机等多个平台。本文通过杂文形式探讨Unity在各平台的部署与发布策略,并提供具体实例,涵盖项目设置、性能优化、打包流程及发布前准备等关键环节,助力开发者充分利用Unity的强大功能,实现多平台游戏开发。
139 0
|
5月前
|
开发者 图形学 UED
深度解析Unity游戏开发中的性能瓶颈与优化方案:从资源管理到代码执行,全方位提升你的游戏流畅度,让玩家体验飞跃性的顺滑——不止是技巧,更是艺术的追求
【8月更文挑战第31天】《Unity性能优化实战:让你的游戏流畅如飞》详细介绍了Unity游戏性能优化的关键技巧,涵盖资源管理、代码优化、场景管理和内存管理等方面。通过具体示例,如纹理打包、异步加载、协程使用及LOD技术,帮助开发者打造高效流畅的游戏体验。文中提供了实用代码片段,助力减少内存消耗、提升渲染效率,确保游戏运行丝滑顺畅。性能优化是一个持续过程,需不断测试调整以达最佳效果。
117 0
|
8月前
|
人工智能 安全 API
Unity优化——加速物理引擎1
Unity优化——加速物理引擎1
162 0
|
8月前
|
存储 人工智能 缓存
Unity优化——脚本优化策略3
Unity优化——脚本优化策略3
100 0
|
8月前
|
存储 缓存 Java
Unity优化——脚本优化策略2
Unity优化——脚本优化策略2
|
8月前
|
存储 XML 缓存
Unity优化——脚本优化策略1
Unity优化——脚本优化策略1
108 0