为游戏角色动画添加音效
2023年12月10日 2024年1月11日
Anim Notify Sounds
说明
为游戏角色添加走路, 跑步和跳跃音效
ExternalContent/Sounds | ||
---|---|---|
走路 | Footsteps/wav | sw_FS_Tile_01 - 10 |
跑步 | Foley/wav | sw_FS_RUN_01 - 10 |
跳跃 | Foley/wav | sw_Foley_Jump_01 - 03, sw_Foley_Jump_Land_Tile_01 - 03 |
在不同材质上走路对应不同的音效, 如草地, 金属和地砖. 具体实现, 参考特效之于物理材质. 当前只使用地砖音效
回顾特效之于物理材质
粒子系统 > 物理材质
- 创建物理材质
右键 > Physics > Physical Material
- 为Actor设置碰撞时传递的物理材质类型
Details > Collision > Phys Material Override
- 物理材质类型依赖模块
PhysicsCore
- 设置碰撞发生时, 在FHitResult结构体中存放材质信息
- 发生碰撞时, 根据材质信息, 播放对应特效
回顾AnimNotify
切换武器时锁定其他操作, 切换动画结束后解锁
- 创建动画通知派生类, 定义委托类型, 在Notify函数中通知客户端
- 获取动画全部通知事件, 查找指定类型动画通知, 注册处理函数
- 在动画时间轴添加动画通知事件
创建文件夹Content/Sounds/Character
为走路添加音效
创建Sound Cue资产
-
于
ExternalContent/Sounds/Footsteps/wav
中选中sw_FS_Tile_01 - 10, 右键 -
命名为SCue_FootstepsWalk, 打开
随机播放10种脚步声之一
为动画添加通知事件, 播放音效
双脚落地时添加; 当前动画对应帧存在其他项, 可参考这些帧
一只脚 | 另一只脚 | |
---|---|---|
Run_Fwd | 10 | 25 |
Run_Lt | 12 | 30 |
Run_Rt | 11 | 30 |
Run_Bwd | 15 | 33 |
以Run_Fwd为例
-
为一只脚添加通知事件
-
设置Sound Cue
-
为另一只脚添加通知事件
-
设置Sound Cue
当前存在问题: NPC即使在远处, 脚步声大小不变
仅测试动画音效, 关闭NPC行为树
为跑步添加音效
-
于
ExternalContent/Sounds/Foley/wav
中选中sw_FS_RUN_01 - 10, 右键 -
命名为SCue_FootstepsRun, 点击查看
-
在合适帧为双脚添加动画通知事件, 播放SCue_FootstepsRun
同样, 当前动画对应帧存在其他项, 可参考这些帧一只脚 另一只脚 RoadieRun_Fwd 16 36
为跳跃添加音效
两个, 对应起跳和落地
-
ExternalContent/Sounds/Foley/wav
中选中sw_Foley_Jump_01 - 03 -
命名为SCue_JumpStart, 点击查看
-
ExternalContent/Sounds/Foley/wav
中选中sw_Foley_JumpLand_Tile_01 - 03 -
命名为SCue_JumpEnd, 点击查看
-
在动画开始处添加动画通知事件, 播放Sound Cue
同样, 当前动画开始处存在其他项- JumpStart 0 JumpEnd 0