92 lines
4.5 KiB
Markdown
92 lines
4.5 KiB
Markdown
# Town Pack — 城镇、住宅与酒吧背景及酒吧环境音
|
||
|
||
Town Pack 是为小镇故事准备的现成布景:三张绘制好的背景图——城镇入口的街角、住宅门厅和夜晚的酒吧——外加酒吧的环境音循环。它不含剧情、场景或角色:图在哪里出现,由游戏自己决定。
|
||
|
||
两个内置游戏已经在共用它。**Cthangover** 使用城镇入口和门厅;**My Novel** 模板则把三张背景和酒吧环境音全用上了。由于两个游戏取用的是这个模组里的同一批文件,Town Pack 里的一处修正或一张更好的图,两边都能受益。
|
||
|
||
## 里面有什么
|
||
|
||
城镇入口 `town/town_entry`:铺着石板的街角,商店遮阳篷条纹相间。
|
||
|
||

|
||
|
||
住宅门厅 `home/vestibule`:带楼梯、扶手椅和挂画的门厅。
|
||
|
||

|
||
|
||
酒吧 `bar/bar`:挂着灯笼的桌台、吧台和一排排酒瓶。
|
||
|
||

|
||
|
||
酒吧环境音 `bar/bar_ambient`:供 Ambience 声音通道使用的酒吧氛围 Ogg Vorbis 循环。
|
||
|
||
三张图都是 1920 × 1024。每张图都有一个同名、带 `_depth` 后缀的灰色伴生文件:
|
||
|
||

|
||
|
||
深度图不会直接展示给你看。显示背景时,游戏会同时加载 `<name>_depth` 并交给光照系统,供放置在场景上的光源使用。没有深度图的背景也能正常显示。
|
||
|
||
## 在哪里能看到它
|
||
|
||
- **Cthangover:** `town_entry` 场景(城镇入口)和 `home_vestibule` 场景。
|
||
- **My Novel 模板:** `my_novel_town`、`my_novel_home` 和 `my_novel_bar`。酒吧场景还会播放 `bar/bar_ambient`。
|
||
|
||
同一段城镇入口,在 My Novel 模板里伴着一段叙述为游戏开场:
|
||
|
||

|
||
|
||
而在 Cthangover 里,同一个画面上,另一个故事给出了自己的选项:
|
||
|
||

|
||
|
||
Town Pack 属于两个游戏的合集,会随它们一起加载。仅安装它并不会把这些地点加进别的游戏:游戏必须在自己的场景里使用这些背景。
|
||
|
||
## 在你的游戏中使用这些背景
|
||
|
||
1. 把 `town_pack>=1` 加入内容模组的 `depends` 列表。
|
||
2. 把 `town_pack>=1` 加入游戏的合集,就像 My Novel 模板在 **Assets** 块中做的那样。
|
||
3. 按下文的名称引用资源。名称相对于 `backgrounds/` 和 `sounds/`,不带扩展名。
|
||
|
||
```jsonc
|
||
// mods/my_game/manifest.json — 添加到已有列表
|
||
"depends": ["town_pack>=1"]
|
||
```
|
||
|
||
下面这段取自模板的 `my_novel_bar` 场景,展示酒吧并播放环境音:
|
||
|
||
```json
|
||
{
|
||
"name": "my_bar",
|
||
"defaultBackground": "bar/bar",
|
||
"defaultAmbient": "bar/bar_ambient"
|
||
}
|
||
```
|
||
|
||
剧本也可以在对话中途切换画面:
|
||
|
||
```scenario
|
||
background town/town_entry
|
||
text "这个点,街上一个人影也没有。"
|
||
```
|
||
|
||
可用的名称如下:
|
||
|
||
```text
|
||
town/town_entry backgrounds/town/town_entry.png
|
||
home/vestibule backgrounds/home/vestibule.png
|
||
bar/bar backgrounds/bar/bar.png
|
||
bar/bar_ambient sounds/bar/bar_ambient.ogg
|
||
```
|
||
|
||
## 为你的游戏替换图片
|
||
|
||
想替换图片又不想改动 Town Pack,可以在自己的模组里放一个相对名称相同的文件(例如 `backgrounds/bar/bar.png`),并在 `depends` 里声明 `town_pack>=1`。依赖所有者的模组后加载、优先生效。替换背景时,还要附带一个同名的 `_depth` 文件:否则游戏仍会找到 Town Pack 原来的深度图,光照就会按旧图的构图分布。
|
||
|
||
没有依赖声明时,两个提供同名资源的模组加载顺序不确定;资源图谱工具会把这种情况报为错误。
|
||
|
||
## 如果有东西没显示
|
||
|
||
1. 背景变黑或缺失,多半是名称写错了。名称区分大小写,使用 `/`。
|
||
2. 确认 Town Pack 被包含在所启动的游戏里,而不只是安装了。
|
||
3. 酒吧没有声音:检查场景的 `defaultAmbient` 是否为 `bar/bar_ambient`,并确认 **Settings → Sound**(设置 → 声音)里 **Ambience** 已开启。声音播放由 Audio Engine 模组提供。
|