Unity 场景烘培 ——unity灯光和设置天空盒(二)

2024-01-24 23:59

本文主要是介绍Unity 场景烘培 ——unity灯光和设置天空盒(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提示:文章有错误的地方,还望诸位大神指出。

文章目录

  • 前言
  • 一、光源种类
    • 1.Directional Light(方向光,平行光)
    • 2.Point Light(点光源)
    • 3.Spotlight(聚光灯)
    • 4.Area Light(区域光,面光源)
  • 二、光源属性
  • 三、使用天空盒
    • 下载使用天空盒
  • 总结


前言

接着前面一章继续: link
学习必须一步一步来,不要着急忙慌,拿起就开干。
下面我们先学习了解unity的灯光(light),学习了解了灯光,才能使用多种灯光相互配合才能达到我们想要的效果。

一、光源种类

(摘录:大佬链接: link
unity中的灯光主要有四种:Directional Light(方向光,平行光)、Point Light(点光源)、Spotlight(聚光灯)、Area Light(区域光,面光源)

1.Directional Light(方向光,平行光)

Directional Light 是使用最多的一种光源,效果相当于现实世界中的太阳光。光源的位置和大小都不会影响物体的渲染效果,但是光方向会有影响。同时也是最省资源的一种光。
这个几乎只要不是黑夜,都会默认添加一个,充当太阳光。

2.Point Light(点光源)

Point Light类似于灯泡,从一点向四面八方发射光线。影响该范围内的所有物体。但是比较耗资源。实际使用中大多采取烘焙的方式。
如同下图一样:
在这里插入图片描述

3.Spotlight(聚光灯)

Spotlight从一点向某个方向发出光线,按照圆锥体范围照射,类似于手电筒。
在这里插入图片描述

4.Area Light(区域光,面光源)

Area Light 使用较少,不能用于实时光照,通常用于光照烘焙。
这个光比较特殊,我一般用于需要提升某个空间整体的亮度时才会添加,比如整个房间太暗了,首先太阳光(Directional Light)照射不进来,使用Point Light(点光源)光又不均匀。而Spotlight(聚光灯)更不行,只能光照一个面,还有光源圆形边,值得一提的是这个光也是光照一个方向。
Area Light它只能作用于静态物体,通过烘焙来生成光照贴图,从而减少了性能的开销。

二、光源属性

在这里插入图片描述
在light组件中有很多属性,下面介绍一些重要的属性。

1.Type 可以选择光的类型,也就是上面介绍的那四种。

2.Color 光的颜色。

  1. Range 范围,控制点光源和聚光灯照射的范围距离,平行光没有这个属性。

4.Spot Angle 角度,控制聚光灯圆锥张角的大小,只有聚光灯有这个属性。

5.Intensity 强度 ,控制光照的强度。

6.Cookie 用于指定拥有alpha通道的纹理,意思是光线在不同的地方有着不同的亮度。如果光源是聚光灯或者方向光的话,就可以指定一个2D纹理,如果是点光源的话,必须指定一个cubemap纹理。Cookie的效果就类似于星光灯。通过调节不同位置灯光的亮度可以使光照射出指定的图案。

7.CookieSize 控制缩放Cookie投影。

8.Shadow Type 阴影类型, 一共有三种。

    No Shadows(无阴影)Hard Shadows(硬阴影)边缘锯齿比较明显,耗费资源较少。Soft Shadows(软阴影)锯齿处理较好,阴影柔和真实,但是耗费资源较多。

Shadow下的参数介绍(No Shadows没有这些参数)

    Strength 阴影强度,取值0-1,0代表没有阴影,1代表全黑。Resolution 分辨率,控制阴影的质量Bias 偏移量 阴影与物体之间的距离,取值0-0.5。Normal Bias 微调阴影边缘。Near Plane 近平面的值,当光源与物体的距离小于该值,则不会产生阴影。

9.Draw Halo 绘制光晕,开启光晕效果。

10.Flare 耀斑,指定耀斑镜头光晕的效果。

11.Render Mode 渲染模式

    Auto 自动, 根据光源亮度和运行时质量设置来选择important还是not importantImportant 重要, 光源进行逐像素渲染Not Important 不重要, 光源以最快的速度渲染

12.Culling Mask,剔除遮蔽图,选中的层所关联的对象会受到光源照射的影响。在制作过程中需要剔除掉烘焙或者自发光的物体。

三、使用天空盒

为何使用天空盒?
比如你看向窗外,对比一下嘛
unity自带样式:
在这里插入图片描述
加了好看的天空盒:
在这里插入图片描述

下载使用天空盒

1.去Unity - Windows – Asset Store,搜AllSky Free -10 Sky / Skybox Set(免费),添加到我的资源
2.从 Unity 的菜单 Window-> Package Manager ->
在这里插入图片描述
3…从 Unity 的菜单 Window-> Rendering ->Lighting Settings,打开你下载的天空盒,直接拖过去就好了。在这里插入图片描述
可以使用各中各样的天空盒来模拟不同的环境。

总结

无论是灯光还是天空盒,需要我们对他们了解并组合使用,才能让场景更加真实好看!
继续学习更新。

这篇关于Unity 场景烘培 ——unity灯光和设置天空盒(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/641459

相关文章

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

python中Hash使用场景分析

《python中Hash使用场景分析》Python的hash()函数用于获取对象哈希值,常用于字典和集合,不可变类型可哈希,可变类型不可,常见算法包括除法、乘法、平方取中和随机数哈希,各有优缺点,需根... 目录python中的 Hash除法哈希算法乘法哈希算法平方取中法随机数哈希算法小结在Python中,

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛