音频与视频格式支持
内置支持的音频格式
| 格式 | 扩展名 | 用途 | 循环支持 | 推荐度 |
|---|---|---|---|---|
| OGG Vorbis | .ogg | BGM | 原生支持(loop 标签) | ★★★★★ |
| WAV | .wav | SE 音效 | 无循环 | ★★★★ |
| TMW | .tmw | 吉里吉里自有格式 | 原生 | ★★★ |
| MIDI | .mid | 老游戏 BGM | 支持 | 社区基本不用了 |
| CD Audio | - | 老游戏 CD | 支持 | 只有 Kirikiri 1 还需要 |
| MP3 | .mp3 | 需要插件 | 插件支持 | ★★★(兼容性不如 OGG) |
BGM:首选 OGG Vorbis
OGG Vorbis 是吉里吉里2 社区的事实标准 BGM 格式:
- 开源免费、没有专利问题
- 压缩率高,音质好
- 引擎原生支持循环播放
- Releaser 打包时自动处理
循环 BGM 的两种方式
; 方式一:标签属性指定循环
[playbgm storage="bgm/title.ogg" loop=true]
; 方式二:用 Loop Tuner 工具标记循环点
; Loop Tuner 在 SDK 附带,能精确指定循环起点和终点
; 标记后的 OGG 文件引擎会自动按标记循环
Loop Tuner 对于需要精确过渡的 BGM(比如无缝循环)很有用:
Loop Tuner 使用:
1. 打开 Loop Tuner.exe
2. 载入 .ogg 文件
3. 播放,用滑块标记起点和终点
4. 保存 → 会生成 .ogg(内嵌循环标记)
SE 音效:WAV 最稳
音效(点击声、开门声、爆炸声等)一般用 WAV 格式:
[playse storage="se/click.wav"]
[playse storage="se/door.wav"]
SE 通常不需要循环、体积小、数量多,WAV 加载最快。如果 WAV 太大,可以转 OGG(但多小音效同时播放时 OGG 解码稍慢)。
语音:OGG 或 WAV
角色语音有两种做法:
| 方式 | 优点 | 缺点 |
|---|---|---|
| 逐句独立文件 | 按需加载,内存友好 | 文件多,命名管理麻烦 |
| 单文件 + 偏移定位 | 用 TJS2 精确控制播放起始 | 一个文件不能拆成多个 SE |
典型命名:
voice/
├── 01_heroine_001.ogg ← 角色1,第1句
├── 01_heroine_002.ogg
├── 02_hero_001.ogg ← 角色2,第1句
└── ...
播放方式:
; scenario 里
[playvoice storage="voice/01_heroine_001.ogg"]
heroine:欢迎来到我的世界。
语音自动播放的配置
吉里吉里2 默认支持语音与文本绑定——名字框和语音文件自动关联:
// 设置语音目录
KAG.manager.voicePath = "voice/";
// 按角色名字自动匹配
// heroine:文本 → 自动播放 voice/heroine_*.ogg
TMW 格式
TMW 是吉里吉里自有的音频格式(扩展名为 .tmw),内部是压缩后的 WAV。功能上和 OGG/WAV 没什么区别,社区几乎不用,除非你在维护一个极老的项目。
视频支持
原生支持的视频格式很有限:
| 格式 | 扩展名 | 说明 |
|---|---|---|
| Windows Media | .wmv | 原生支持,依赖 Windows Media Player |
| MPEG-1 | .mpg | 原生支持,兼容性好 |
| Bink Video | .bik | 需要 Bink 插件 |
| WebM | .webm | 需要插件(Kirikiri Z 支持) |
| MP4/H.264 | .mp4 | 需要 Windows Media Player 和系统解码器 |
嵌入视频
; 播放视频(全屏)
[playvideo storage="movie/op.wmv" fullscreen=true]
; 播放完自动回到原地继续
[playvideo storage="movie/ed.mpg" fullscreen=true];
; ^ 注意没有换行,tag 后面直接跟剧情文本
性能注意
- 视频解码是 CPU 密集任务,低配置机器可能卡
- WMV 依赖系统解码器,某些精简版 Windows 可能播不了
- 高质量 OP/ED 建议用 MPEG-1 格式(兼容性最好)
- Kirikiri Z 开始支持 WebM(硬件解码,更流畅)
音频播放控制
; BGM 控制
[playbgm storage="bgm/title.ogg" loop=true time=1000] ← 渐入
[stopbgm time=500] ← 淡出 500ms 后停止
[fadebgm volume=0.3 time=2000] ← 渐弱到 30% 音量
; SE 控制
[playse storage="se/explosion.wav"]
; SE 是一次性的,播完就没,不能 stop
; 音量设置
[tjs]
Wave.setBGMVolume(0.7);
Wave.setSEVolume(0.9);
Wave.setVoiceVolume(0.8);
声音循环性能
需要循环的音频(BGM)引擎在内部做了无缝循环。不需要在 WAV 末尾手动拼接一份来"伪造"循环——引擎的 loop 参数会自动处理。Loop Tuner 工具可以更精确地标记循环的起止点。
跨平台兼容性
| 平台 | BGM | SE | 视频 |
|---|---|---|---|
| Windows 原生 | OGG/WAV/MP3 | WAV/OGG | WMV/MPG |
| Kirikiroid2 | OGG/WAV | WAV | 支持但需播放器 |
| KrKr2 Next | OGG/WAV/MP3 | WAV | WebM/MP4(硬件解码) |
设计音频素材时以 OGG + WAV 为基准就能覆盖所有平台。