外观
VFX 的事件、归属与恢复
特效服务于观察、行动和结果反馈,沿用美术方向与对应系统规格。预警、接触、成功、失败和持续状态各自传达必要信息,不能靠更强亮度替代不清楚的规则,也不能通过特效提前公开调查谜底
当前世界运行时提供静态场景与白天成像,没有工具、战斗或通用粒子事件系统。本页定义首次制作时的最小契约,尚无相应运行验收;不会因编写本页安装 Hanabi、建立对象池或新增战斗框架
输入与制作步骤
输入包括触发行为、所属对象或场景、玩家需读懂的信息、观察距离、可用素材和当前实现入口。先在实际画面确定轮廓与强弱关系,再选择现有材质、网格、动画或确有必要的粒子实现;数量与成本预算由同场景测量确定
- 把一次效果拆成触发、持续、结束和中断,注明使用世界时间还是仍在运行的界面时间,与声音共用业务事件语义
- 在对应对象规格或既有资产记录中填写下面的事件字段,只为已有或本轮实现的效果登记,不创建全游戏通用效果清单
- 先用低成本表现检查实际距离下的意义;世界状态负责成败,效果读取状态,不修改碰撞权威位置或提交任务结果
- 接入所属实体或场景生命周期,停止操作保持幂等;重复触发行为明确为忽略、重启或叠加,不能由偶然执行顺序决定
- 在正常、密集触发、暂停、切场、重试和恢复中检查状态及画面;需要降低动态或闪烁时保留静态图形、轮廓或文字等必要信息
事件记录与责任
| 字段 | 填写内容 |
|---|---|
| 事件与意义 | 哪个实际规则发出事件,表现输入接受、预警、命中、工具生效还是异常结束 |
| owner | 所属实体的稳定对象关系或场景实例;是否允许脱离 owner 继续播放 |
| start / stop | 开始条件、正常结束、取消、owner 销毁、场景退出的停止条件 |
| 循环与并发 | 单次还是持续循环;相同 owner 重复触发策略,已验证的上限与超额处理 |
| 空间与时钟 | 世界或局部坐标、跟随位置、朝向、时间源、暂停后冻结还是继续 |
| 资源与优先级 | 既有资产 ID、材质/声音引用、必须保留的信息,重叠时的压制顺序 |
| 恢复 | 重试、读档、重入后从有效状态重建还是不重播;不可残留的对象 |
| 检查 | 可计算条件、目标场景和输入路线、需要观察的距离与时间点 |
例如“工具处理成功”只有系统确认处理结果后才触发;取消的尝试不播放成功提示,重入已完成状态不再次表现为首次成功。具体工具及提交条件归委托和系统规格,此例不是新增工具设计
生命周期验收
| 路线 | 状态检查 | 画面与声音检查 |
|---|---|---|
| 正常触发与结束 | 事件和 owner 正确,结束后临时对象移除 | 时机与结果一致,效果不盖住目标与必要 UI |
| 快速重复与多个 owner | 按登记的并发策略处理,无错误串用 | 能区分重要预警,重叠不吞掉必要信息 |
| 暂停与恢复 | 时钟遵循规格,恢复不突增或重复触发 | 没有突然闪回、拖尾跳变或声音重启 |
| 切场、取消与重试 | 旧 owner 及循环清理,停止可重复调用 | 新场景无旧粒子、光源、相机偏移和循环声 |
| 读档或重新进入 | 从持久状态决定表现,不保存临时实体引用 | 不播放不该重复的奖励/完成效果 |
输出与检查入口
交付事件契约、资产与实现引用、自动条件和实际观察。机器检查对象数量、有效 Transform、事件次数、清理结果与暂停时钟;视觉检查轮廓、遮挡、透明叠加、节奏与闪烁,详见视觉自查
以下 fish 命令检查现有工程与 capture 工具;当前 Viewer tour 不含上述事件,不能作为特效通过证据
fish
cargo test --manifest-path game/Cargo.toml --features viewer --locked
python3 -B -m unittest discover -s tools/tests -p test_capture.py接入真实效果后扩展同一运行路径并记录运行命令。资源缺失或生命周期断言失败时修加载或 owner 关系;无法读懂反馈时回到事件意义和视觉层级;性能异常先测同场景的效果开关与重叠,再决定限流、复用或简化材质,不先建重型调度系统
来源与适配
基于 Meng To 的 create-game-vfx与 build-game-audio-feedback 方法改编,固定 commit a965851e27dc179e693fde1bee94457a64e1a7a5,Copyright (c) 2026 Meng To,MIT LICENSE
Modified for N:SIDE:将触发、归属、清理、并发与可读性方法连接到 Bevy 的实际场景和叙事状态,未采用 Three.js、浏览器音频解锁、移动端或预建对象池要求。完整声明与保留原文见仓库根 THIRD_PARTY_NOTICES.md 与 third_party/skills/mengto-skills/