Files

6.7 KiB
Raw Permalink Blame History

伙伴技能特效与音效制作记录

2026-10-21:十位伙伴的技能表现已接入正式 PrototypeArena。本批补齐四条 TangoFlux 音效,九条计划音效均有真实产物及生成回执。

已制作资源

特效目录:AIClient/Assets/Bundles/Combat/Partners/。各行文件名均以 Vfx_ 开头、.prefab 结尾。

伙伴 特效文件名 触发与形态
石球 RockBallGuard shield:琥珀护环与石甲颗粒,跟随目标直到护盾耗尽/到期
火喵 FireCatFlare hit:火花与橙色冲击环;复用火焰蓄力、发射与弹道
芽芽 BudBudBloom heal:绿环、粉色花瓣与治疗十字
闪闪雀 SparkBirdBolt hit:连接施法挂点与命中目标的蓝色折线雷电
泡泡龟 BubbleTurtleBubbles slow:围住目标的蓝色泡泡
岩甲犀 RockRhinoQuake slow:贴地震波与飞散石块;石击沿用岩石命中
烈焰狮 FlameLionBreath ability release:面向目标的锥形喷焰;hit:火焰命中
藤灵 VineSpriteVines heal:上升藤蔓、叶片与绿环
雷纹豹 ThunderLeopardClaw hit:紫色雷电连接与三道爪痕
潮汐鲸 TideWhaleTide shield:半球水罩与涟漪,状态结束清理

Pipeline 同时制作六个共用低多边形网格:SkillStone、SkillLeaf、SkillHealCross、SkillBubble、SkillWaterDome、SkillVineHelix(.asset)。PartnerSkillGlow.mat 使用现有 AIGame/EnemyCombatParticle Shader,白纹理及顶点色;不修改敌人共用材质。所有 Prefab、材质、网格均在编辑器内持久化。

新增音效位于 AIClient/Assets/Bundles/Sound/SFX/BattleSkills/:

文件 用途 成品长度 实际 seed
Sfx_Heal.wav 治疗 0.55s 52005
Sfx_Slow.wav 减速 0.50s 52007
Sfx_Lightning.wav 雷电命中 0.38s 52008
Sfx_EnemyHit.wav 软受击 0.26s 52009

按 D:/UD/AI/XModel/TangoFlux_AI调用指南.md 调用本地 127.0.0.1:8012。每条源音频2秒、50步、guidance 4.5,最多2条并发;65Hz高通、起音裁切、5ms淡入/50ms淡出、峰值约 -1.94dBFS。成品 PCM16/44.1kHz/双声道,Unity 导入为 PCM、DecompressOnLoad、保留采样率。源文件与请求缓存:Tools/output/partner_skill_sfx/;回执:Doc/Design/Sound/BattleSkills/Partners/generation.json;九条连听文件:同目录 preview_all_nine.wav。前五条保留 Slice 原始回执和真实 seed。本批未声称完成主观听审;发布授权审查沿用原 manifest 的 pending 状态。

标准制作与接入步骤

  1. 在 Config/Combat/partner_presentations_v1.json 配置角色、效果索引、声音索引、地面效果、持续时间与池容量。数据效果仍由 skill_runtime_v1.json 的服务器逻辑决定。
  2. 用 BuildPartnerSkillFx.Build 经 Unity Pipeline 制作/更新持久化美术资产,再用 BuildBattleSkills.Build 构建正式表现池并嵌入已有战场。
  3. 声音按 TangoFlux 指南生成,保留 request/job/source/output 哈希;补登记 manifest,设置 Unity 导入参数。维护共用音效优先于按角色重复生成。
  4. BattleSkillPresentation 仅消费已结算的 cast_start、release、projectile、hit、shield、heal、slow 等事件;原 Attack 仍按既有15种角色的 attackImpact 对齐。19个既有 SkillMuzzle 随角色朝向与T2缩放;表现组件不计算伤害/治疗/减速。
  5. 验证索引与文件、音频格式及回执、真实轨迹、播放清理和画面,追加资源登记后完成。

正式池当前15类效果、76个根粒子实例、8个音源、9条音效、10个伙伴配置。雷电折线复用池中的 LineRenderer;运行时不创建材质、粒子或声音对象。雷电/群体治疗/减速同一次 cast 同种声音只播一次;普通软受击避免旧敌人声音与新伙伴声音重复叠播,硬壳/护盾反馈仍保留。

暂停与倍速作用于表现时钟及粒子;声音保留原始音高。过期的一次性事件跳过,未到期护盾和弹道可恢复。取消/死亡/目标消失/状态到期/battle_end/禁用均清理对应租约,代数标识避免旧租约停止刚复用的粒子。战斗结束保留计数供验收、清空播放对象。

验收证据

  • audio_config_validation.json:十个配置与 Prefab、九条音效的源/请求/成品哈希、成功任务、起音/淡出/响度/零削波通过。
  • behavior.json:十种专属效果与九种声音均触发;连接端点、多目标音效去重、超池复用、过期跳过、暂停/2倍速/静音、死亡/到期/取消/结束/禁用清理通过。23份既有服务器轨迹覆盖十个伙伴,全部回放至末尾无残留。
  • battle_visual.json:真实 PrototypeFlow 消费服务器第20关T2轨迹并截图,验证正式战场、既有挂点和雷电命中。测试夹具不写真实账号。
  • Assets/Screenshots/partner_skills_overview.png:十角色独立特效总览;partner_skills_battle.png:正式场景命中。已目视检查颜色、形态、源点到目标及亮背景可见度。
  • VerifyBattleRuntime.Assets:正式战场76实例/8音源/9音效、19个局部-Z挂点、10伙伴/5敌人动作相位绑定通过。
  • python -m unittest discover -s Tools/tests -p test_skill_design.py:8项通过;python Tools/verify_partner_skills.py、python Tools/validate_skill_runtime.py 通过。

尚未进行微信真机帧耗、内存与混音主观验收;本次为编辑器功能及视觉验收。本批不改服务器逻辑、数值或现有账号,未重启8080服务。收尾退出测试 Play,保留原编辑场景。

重建入口:

python Tools/generate_partner_skill_sfx.py
Unity Pipeline: BuildPartnerSkillFx.Build -> BuildBattleSkills.Build
python Tools/verify_partner_skills.py
Unity Pipeline (Play): VerifyPartnerSkillFx.Behavior / ContactSheet
Unity Pipeline (Play): VerifyBattleRuntime.VisualSkills
Unity Pipeline (Stop): VerifyPartnerSkillFx.Finish / VerifyBattleRuntime.Assets

混音试听交付(2026-10-22)

已补齐5份技能/UI离线混音试听,涵盖菜单、9种技能单项、1×/2×第20关T2轨迹与密集叠加;保持正式增益、不限幅不归一化,所列样例零越界,最高4倍过采样峰值-3.47dBFS。具体文件、听审关注点及方法边界见 MixReview/Production.md。Unity实录尝试超时并已恢复干净Boot场景;产物不冒充实录,主观听感和微信设备验收仍待确认。正式技能单路仅0.0375,单音峰值约-30dBFS,已标记技能被敌人反馈遮蔽的听审关注点;未改变正式混音。