找回密码
 立即注册
查看: 615|回复: 5

unity灯光可以有两个Directional Light吗,unity会根据日光来模拟现实的时间吗?

[复制链接]
发表于 2021-1-8 17:46 | 显示全部楼层 |阅读模式
unity灯光可以有两个Directional Light吗,unity会根据日光来模拟现实的时间吗?
发表于 2021-1-8 17:50 | 显示全部楼层
答案自然是肯定的。
我们可以在Unity中试验一下,当只有一个光源时,效果如下图:
当我们再添加另外一个Directional Light时,场景就变成了这样:
整个场景确实变得更加明亮了,但正如其他答案中提到的,这样做会增加系统开销。
至于模拟现实时间改变光照,是可以通过改变Directional Light的旋转来简单实现这样的效果的,这里用最简单的光源围绕自身的一个轴旋转做一下示范:
如果想要得到更好的效果,完全可以动态改变光源的位置模拟从日出到日落的运动轨迹,并且再增加一个轴的旋转,使影子的变化更加符合实际。
当然如果觉得麻烦的话,也可以使用插件,许多昼夜天气系统的插件也已经实现了非常棒的昼夜变化效果,Check it out。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-1-8 17:52 | 显示全部楼层
在有其他解决方案的时候不要选择这种“看上去正确”的做法,倒不是说这种做法不行,不按物理布光也是常见的做法……但这是在没有其他方案的前提下。


大部分由美术导致的性能问题都出于“看上去正确”,比如,一个图的透明度不够高,不想着改贴图,而是直接多叠几层直到亮度足够。


要尽可能地做正确的事。
发表于 2021-1-8 18:00 | 显示全部楼层
可以加两个平行光,但环境光照里的sun只有一个。所以我觉得你所说的应该是平行光而非日光。
可以在游戏中更改太阳方向来模拟时间

可以通过添加平行光来加强阴暗面光照,但添加平行光会增加系统开销,在受光照物体较多的情况下不建议这么做。

加强物体阴暗面光照的方式有很多种,最简单的方法应该是加强环境光。
Windows  ->  lighting  -> settings   -> scene -> 调整“environment lighting”下的“intensity multiplier”

如果不是加强阴暗面光照,而仅是去除阴影的话,把light的shadow type改为no shadows
发表于 2021-1-8 18:08 | 显示全部楼层
在官方教程噩梦射手里面的光源就是两个平行光组成的,我也试着调过,发现单一光源对于它的场景来说显得单调,混光确实是有比较好的效果
发表于 2021-1-8 18:10 | 显示全部楼层
unity默认的天空盒可以根据平行光的角度来模拟日出日落,但是没有夕阳的效果,多个光源的情况不行
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-12-24 03:41 , Processed in 0.103291 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表