闪烁的动态光源

Time:5 分钟

开发者可以通过动态照明打造更具有真实感的游戏世界。但需要注意的是,现实生活中的光源并不是纹丝不动的。无论是野营时的篝火或是明暗交替的灯光,我们身边的各种光源都是持续移动着的。在本教程中,我们将会学习一种让灯光变亮或变暗的简单方法,并通过其构建更为真实的光源效果。

创建光源

在学习关于光源的设置方法时,首要任务自然是构建动态照明对象。本教程将会使用 PointLight 对象,但其与 SpotLight 的工作方式完全相同。同时,我们还需要一个脚本来控制发光效果。

营火示例:

ExampleCampFire

编写代码

本示例中的一大部分内容都涉及到了Articles/Roblox Coding Basics Loops|循环。对循环(特别是Articles/For 循环)尚未掌握的开发者应当对这部分内容进行理解与回顾,然后再学习本教程中的内容。

让我们开始编写代码!首先,我们需要创造带有一长串参数的一个函数。可不要认为这些参数过于冗长:这里的每一个参数对于整个函数(特别是主循环)的正常运转都是不可或缺的。下面就让我们来详细了解一下代码的形态与各参数的作用吧!

function AdjustLights(Start, End, Interval, Time, Table_of_lights)
	for Index = Start, End, Interval do
		wait(Time)
	end
end
  • Start:主循环的起始数字。

  • End:主循环的结束数字。

  • Interval:这将是主循环计数用的数字。需要注意的是,主循环计数时可以进行正向或负向计数。

  • Time:循环每个周期之间的时长。

  • Table_of_lights:此函数将控制所有灯光的列表。

仔细观察上述代码后,你可能会发现这段代码根本不会执行任何可见操作。下面让我们来对其进行进一步分析:在主循环中, Index 值代表了 for 循环的当前值,且与我们之前所提到的各个参数息息相关。因此,这个函数也拥有极大的灵活性,只需对其稍加修改,就能改变其功能。下面让我们来看一个示例:

Roblox官方链接:闪烁的动态光源