简单350 发表于 2021-1-8 17:46

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

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

poney 发表于 2021-1-8 17:50

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

jimmy肖明 发表于 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默认的天空盒可以根据平行光的角度来模拟日出日落,但是没有夕阳的效果,多个光源的情况不行
页: [1]
查看完整版本: unity灯光可以有两个Directional Light吗,unity会根据日光来模拟现实的时间吗?