切换语言: Čeština Deutsch English Español Français 日本語 한국어 Nederlands Polski Português, Brasil Русский Українська

Time/zh: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m substituted links to go to official lua api documentation
m more link fixes
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}__NOTOC__
[[File:Time.png|150px|right|建造耗时图标]]
[[File:clock_hi_res.png|60px|right]]
=== 建造耗时 ===
游戏中的'''{{Translation|Time}}'''概念应用于多个方面,其中最重要的是制造时间和游戏时间。
当查看一个物品的合成方法时,你可能会看到一个时钟符号(如右图)和一个数字。数字表示生产这个物品需要多少个[[Game-second/zh|游戏秒]]。[[Assembling machine/zh|组装机]]由一个乘数因子来决定它的建造速度。[[Module/zh|插件]]也对建造耗时有所影响,为了一些增益效果,要么加速要么减速。


=== 游戏时间 ===
== 制造时间和速度 ==
将鼠标指针悬停在制造配方上时,可以看到时钟符号和一个数字,此数字是制造速度为1时制造单个物品所需的时间,单位为秒。{{L|Player}}的制造速度固定为1,而{{L|Assembling machine}}的制造速度则各自不同。使用{{L|Module}}会影响制造时间,有些插件会加快制造速度,而有些插件则会降低制造速度并提供其它增益。例如:玩家手工制造1个制造时间为10秒的物品需要10秒,而制造速度为0.5的{{L|Assembling machine 1}}制造1个相同物品则需要20秒。在规划生产线结构时需要特别注意根据类似上述的比例进行调整。


异星工厂里面的时间指的是:
== 刻 ==
刻(Tick)是衡量游戏内所有时间长度的基本单位。当游戏速度为1时,现实中的1秒等于60刻,此时游戏的每秒状态更新数(缩写为UPS)为60次。即在理想情况下,1刻总是等于1/60秒(约0.01667秒)。然而,当使用模组或控制台命令更改[https://lua-api.factorio.com/latest/classes/LuaGameScript.html#speed 游戏速度]时,1刻可能不再等于现实中的1/60秒。此外,当运行游戏的设备(尤其是移动设备)的性能不足以在现实中的1/60秒内完成游戏所需的全部运算时,游戏速度会自动减慢以至于卡顿。可以使用{{L|Debug mode}}中的"show-fps"命令查看当前的UPS,从而估计当前状态下的1刻等于多长时间。


* [http://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.tick 游戏时间]:基于[[Game-tick/zh|游戏刻]]或[[Game-second/zh|游戏秒]]。这是非常重要的。
[https://www.factorio.com/blog/post/fff-70 周五工厂报 #70]中解释了游戏引擎在每刻中运算的具体内容。
* [http://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.speed 游戏速度因子]:这个因子是用来调节真实事件与游戏时间之间的乘数的。


正常情况下真实事件与游戏时间是相等的,所以这个因子默认是1. 这个因子可以用[[Console commands/zh|控制台]]来对变量[http://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.speed game.speed]进行设置来改变。
== 秒 ==
如上所述,1秒总是包含60刻,因此理想情况下游戏中的1秒与现实中的1秒相等,即60刻。但当游戏以较低的速度运行时,1刻可能不再等于现实中的1/60秒,此时游戏中的1秒可能会比现实中的1秒略长。


游戏时间也可能会因为游戏进程的处理速度跟不上而变慢(例如100%的CPU资源被占用)。如果游戏跟不上真实的时间,游戏时间就会自动的减慢到合适的程度,结果就是游戏过程的卡顿。
== 日 ==
[[File:day_night_comparison.png|thumb|270px|right|昼夜交替。]]


[http://www.factorioforums.com/forum/viewtopic.php?f=5&t=7465 如何限制FPS到30?]
作为基准,{{L|Nauvis}}上的一日长度为25200刻,或7分钟。


=== 参见 ===
每日分为4个不同阶段,光照强度会随时间推移呈现周期性变化:
{| class="wikitable"
! 阶段 !! 内部名称 !! 光照强度 !! 开始时间 !! 结束时间 !! 持续时间(刻) || 持续时间(秒)
|-
|白昼 || dawn ||最强 ||0.75 ||0.25 ||12600 ||210
|-
|黄昏 || dusk ||逐渐减弱 ||0.25 ||0.45 ||5040 ||84
|-
|夜晚 || evening ||最弱 ||0.45 ||0.55 ||2520 ||42
|-
|黎明 || morning ||逐渐增强 ||0.55 ||0.75 ||5040 ||84
|}


* [http://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.tick 有关游戏刻的Lua控制台信息]
  ----------- 白昼 -------><----- 黄昏----->< 夜晚 -><----- 黎明 ----><-------- 白昼 -------
* [[Game-tick/zh|游戏刻]]
 
* [[Game-second/zh|游戏秒]]
% 0    5    10  15  20  25  30  35  40  45  50  55  60  65  70  75  80  85  90  95  100
* [[Game-day/zh|游戏日]]
  |----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|
* [[Units/zh|单位]]
 
黄昏时,光照强度会线性地从最强逐渐下降至最弱;黎明时,光照强度会线性地从最弱提高至最强。以上变化曲线的斜率不一定完全符合[https://lua-api.factorio.com/latest/classes/LuaSurface.html#darkness Lua控制台中的昼夜交替信息]返回的值。
 
在夜晚,玩家的电筒(在{{L|Vehicle}}中则是头灯)会自动开启,通电的{{L|Lamp}}也会自动开启。
 
注意:游戏中每个阶段的实际持续时间可能会有±1游戏刻的误差,这是由于运算中的四舍五入引起的。
 
== 相关讨论 ==
* [https://lua-api.factorio.com/latest/classes/LuaGameScript.html#tick 有关游戏刻的Lua控制台信息] (英文)
* [https://forums.factorio.com/7465 如何在低配置设备上将FPS限制为30?] (英文)
 
== 参见 ==
* {{L|Units}}
 
{{C|Main}}

Latest revision as of 13:47, 22 January 2025

游戏中的时间概念应用于多个方面,其中最重要的是制造时间和游戏时间。

制造时间和速度

将鼠标指针悬停在制造配方上时,可以看到时钟符号和一个数字,此数字是制造速度为1时制造单个物品所需的时间,单位为秒。玩家的制造速度固定为1,而组装机的制造速度则各自不同。使用插件会影响制造时间,有些插件会加快制造速度,而有些插件则会降低制造速度并提供其它增益。例如:玩家手工制造1个制造时间为10秒的物品需要10秒,而制造速度为0.5的组装机1型制造1个相同物品则需要20秒。在规划生产线结构时需要特别注意根据类似上述的比例进行调整。

刻(Tick)是衡量游戏内所有时间长度的基本单位。当游戏速度为1时,现实中的1秒等于60刻,此时游戏的每秒状态更新数(缩写为UPS)为60次。即在理想情况下,1刻总是等于1/60秒(约0.01667秒)。然而,当使用模组或控制台命令更改游戏速度时,1刻可能不再等于现实中的1/60秒。此外,当运行游戏的设备(尤其是移动设备)的性能不足以在现实中的1/60秒内完成游戏所需的全部运算时,游戏速度会自动减慢以至于卡顿。可以使用调试模式中的"show-fps"命令查看当前的UPS,从而估计当前状态下的1刻等于多长时间。

周五工厂报 #70中解释了游戏引擎在每刻中运算的具体内容。

如上所述,1秒总是包含60刻,因此理想情况下游戏中的1秒与现实中的1秒相等,即60刻。但当游戏以较低的速度运行时,1刻可能不再等于现实中的1/60秒,此时游戏中的1秒可能会比现实中的1秒略长。

昼夜交替。

作为基准,新地星上的一日长度为25200刻,或7分钟。

每日分为4个不同阶段,光照强度会随时间推移呈现周期性变化:

阶段 内部名称 光照强度 开始时间 结束时间 持续时间(刻) 持续时间(秒)
白昼 dawn 最强 0.75 0.25 12600 210
黄昏 dusk 逐渐减弱 0.25 0.45 5040 84
夜晚 evening 最弱 0.45 0.55 2520 42
黎明 morning 逐渐增强 0.55 0.75 5040 84
  ----------- 白昼 -------><----- 黄昏----->< 夜晚 -><----- 黎明 ----><-------- 白昼 -------
  
% 0    5    10   15   20   25   30   35   40   45   50   55   60   65   70   75   80   85   90   95  100
  |----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|

黄昏时,光照强度会线性地从最强逐渐下降至最弱;黎明时,光照强度会线性地从最弱提高至最强。以上变化曲线的斜率不一定完全符合Lua控制台中的昼夜交替信息返回的值。

在夜晚,玩家的电筒(在载具中则是头灯)会自动开启,通电的照明灯也会自动开启。

注意:游戏中每个阶段的实际持续时间可能会有±1游戏刻的误差,这是由于运算中的四舍五入引起的。

相关讨论

参见