Files
mod_time_base/docs/zh.md
T

55 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Time Engine — 游戏时钟、昼夜与灯光
Time Engine 驱动游戏内时钟,并让场景随之变化:同一个地方在清晨、正午、傍晚和深夜看起来都不一样。它还用灯和窗户为场景打光,天黑之后还给你一盏便携提灯。这是一个引擎模组:Cthangover 和图块 RPG 等游戏都包含它,它的成果体现在每一幕场景中,而不是某个独立界面上。
## 时钟
时间显示在屏幕左上角。现实中的一秒是游戏里的一分钟,因此游戏里的一小时在现实中只需一分钟。有些动作会立刻消耗游戏时间——例如烹饪或制作会按配方所需时间把时钟往前拨。
日历做了简化:每月 30 天,一年 12 个月。
## 白昼与黑夜
每个场景的背景都绘有四种状态——**清晨**、**白天**、**傍晚**和**深夜**——画面会在它们之间平滑过渡:
```text
00 ─ 夜晚 ─ 04 ⇢ 06 ─ 清晨 ─ 09 ⇢ 11 ─── 白天 ─── 17 ⇢ 19 ─ 傍晚 ─ 21 ⇢ 22 ── 夜晚 ── 24
(⇢ = 两种状态之间两小时的渐变过渡)
```
![同一场景——Cthangover 中别墅外的磨坊——在 07:00、13:00、18:00 和 23:30:温暖的清晨、明亮的正午、傍晚的暮色,以及亮起窗户的深夜。](assets/day-cycle.jpg)
## 灯光
夜晚的场景除灯光外一片漆黑。窗户、蜡烛和灯在场景作者安放的位置发光,每盏灯都有自己的颜色、半径和强度。
![23:33 的别墅外:只有窗户亮着;屏幕顶部的提灯图标就是便携提灯。](assets/night.jpg)
**便携提灯。** 从 22:00 到 06:00,屏幕上方会出现一盏提灯。把它拖到场景上,就能照亮你想细看的地方。
![Cthangover 的厨房,被烛光和灯光照亮。](assets/kitchen-lights.jpg)
## 给作者
**在场景里布灯**通过该场景剧本中的 `light_set` 和一串灯光参数完成。位置用屏幕比例表示(0 到 1),因此适配任何窗口大小;每幕场景最多 10 盏灯,外加便携提灯:
```scenario
light_set [{"x":0.673,"y":0.461,"radius":500,"influence":1,"color":"#ffff00"},{"x":0.135,"y":0.315,"radius":500,"influence":1,"color":"#ffff00"}]
```
- `x`、`y` — 相对宽度和高度的位置比例;
- `radius` — 灯光照多远,以像素计;
- `influence` — 强度,从 0 到 1;
- `color` — 十六进制颜色。
空的 `light_set` 会移除场景的灯。Editor Tools 的灯光编辑器用鼠标布灯,并替你写好这行命令。当你切换到不使用深度光照的场景时,`lighting.clear_map` 场景动作会把上一幕的深度光照关掉。
**适配夜色的背景。** 背景要正确受光,需要旁边有一张深度图,命名方式是在图片名后加 `_depth`(例如 `bar.png` 和 `bar_depth.png`)。背景还可以带一张 `_albedo` 伴生图。没有这些图,场景灯光就没有可以附着的外形。
**其他模组**也读同一座时钟:RPG 图块地图与背景共用同一天,时间变化每游戏分钟向所有模组广播一次。
## 出现问题时
1. **场景在深夜依然明亮。** 它的背景没有深度图,或者场景没有使用随时间变化的色调。
2. **夜里没有提灯。** 它只在 22:00 到 06:00 出现,而且只在界面包含它的游戏里出现。