文章目录

  • 前言
  • 一、存放脚步声音
  • 二、设置脚步声
    • 1.角色发出声音的必备条件
    • 2.如何检测角色是否有移动
    • 3.如何实现角色踩踏位置的对应材质的声音
  • 三、修复下蹲移动时没有脚步声音

前言

FPS游戏之角色移动的脚步声
FootstepAudioData 脚本起到了保存人物的脚步声的作用,使得人物在行进过程中伴随着产生已保存的能够增强体验感的脚步声。
PlayerFootstepListener 在脚本中会判断角色发出声音的必备条件,当角色移动或者发生较大幅度动作的时候发出脚步的声音,使用Physic API检测角色是否有移动,同时用Physic API来实现角色踩踏位置的对应材质的声音。


一、存放脚步声音

创建一个FootstepAudioData脚本存放,并用一个列表存放声音

CreateAssetMenu(menuName = "FPS/Footstep Audio Data")]
public class FootstepAudioData : ScriptableObject
{public List<FootstepAudio> FootstepAudios = new List<FootstepAudio>();
}[System.Serializable]
public class FootstepAudio
{public string Tag;public List<AudioClip> AudioClips = new List<AudioClip>();public float Delay;
}

并在物体上设置好对应的组件

二、设置脚步声

1.角色发出声音的必备条件

角色移动或者发生较大幅度动作的时候发出声音

2.如何检测角色是否有移动

用Physic API检测

if (characterController.velocity.normalized.magnitude >= 0.1f){nextPlayTime += Time.deltaTime;if (characterController.velocity.magnitude >= 4){characterState = State.Sprinting;}bool tmp_IsHit = Physics.Linecast(footstepTransform.position,footstepTransform.position +Vector3.down * (characterController.height / 2 + characterController.skinWidth-characterController.center.y),out RaycastHit tmp_HitInfo,LayerMask);

3.如何实现角色踩踏位置的对应材质的声音

用Physic API检测

 if (tmp_IsHit){//TODO:检测类型foreach (var tmp_AudioElement in FootstepAudioData.FootstepAudios){if (tmp_HitInfo.collider.CompareTag(tmp_AudioElement.Tag)){if (nextPlayTime >= tmp_AudioElement.Delay){//TODO:播放移动声音int tmp_AudioCount = tmp_AudioElement.AudioClips.Count;int tmp_AudioIndex = UnityEngine.Random.Range(0, tmp_AudioCount);AudioClip tmp_FootstepAudioClip = tmp_AudioElement.AudioClips[tmp_AudioIndex];FootstepAudioSource.clip = tmp_FootstepAudioClip;FootstepAudioSource.Play();nextPlayTime = 0;break;}}}}

三、修复下蹲移动时没有脚步声音

选中一个物体,点击面板中的layer


然后点击addlayer 点击player如下图

然后将layer mask设置为default

项目实训(十二)FPS游戏之角色移动的脚步声相关推荐

  1. 山东大学项目实训——简易微信小游戏(一)

    一.项目背景 微信小程序接触真实用户快,对用户反馈快速体现,是一个非常好的实践平台.同时就行业背景来看,人们对于无需安装打开即玩的休闲类小游戏的需求依然存在. 二.工作内容 开发绳套奶牛.大鱼吃小鱼. ...

  2. 实训十二:路由器静态路由配置

    一. 实验目的 理解路由表 掌握静态路由的配置 二. 应用环境 在小规模环境里,静态路由是最佳的选择 静态路由开销小,但不灵活,适用于相对稳定的网络 三. 实验设备 1.DCR-2655 三台 2.网 ...

  3. 2022暑期项目实训(二)

    一.前期工作安排 6月21日召开组会进行分工安排后,考虑到大家的知识储备和对项目的了解有一定差别,为保证6月25日能够顺利完成计划任务,小组在6月22日晚再次召开组会,每位成员汇报自己当天的工作进度, ...

  4. 山东大学项目实训十六——可控音乐变压器Controllable Music Transformer

    Controllable Music Transformer Official code for our paper Video Background Music Generation with Co ...

  5. 项目实训(二):输入法开发(1)

    本次开发主要实现png转换svg并且输出功能 前端截图比较别扭,计划下一次开发实现,本次开发先使用upload图片上传组件 前端组件暂时使用element,待版本稳定后使用vuetify重构 核心部分 ...

  6. 【项目实训】0313公共周报

    项目实训总结二 一,本周工作 刘云聪: 1,实现前后端通讯搭建与测试 2,聚合端实现方法测试 廖嘉麒: 1,确立聚合端模型参照论文<2017-FedAvgCommunication-Effici ...

  7. 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二十四节:小项目实训《绝命沙滩》

    <使用Cocos2d-x 开发3D游戏>系列在线课程 第二十四节:小项目实训<绝命沙滩> 视频地址:http://edu.csdn.net/course/detail/1330 ...

  8. 章节十五:项目实操:PK小游戏(3)

    章节十五:项目实操:PK小游戏(3) 目录 章节十五:项目实操:PK小游戏(3) 1. 明确项目目标 2. 分析过程,拆解项目 3. 代码实现,逐步执行 3.1 定义Book类 3.2 类BookMa ...

  9. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(二)-docker安装与学习

    目录 前言: 一.docker安装 1.centos7使用yum安装 二.命令行创建 docker 容器测试 前言: 项目实训立项通过后的几天均在学习 docker 的相关知识,上一篇文章也简单记述了 ...

最新文章

  1. javascript编写_如何通过编写自己的Web开发框架来提高JavaScript技能
  2. 【2012.4.22】北京植物园卧佛寺
  3. C#关于电脑DPI改动显示的问题
  4. spring集成RabbitMQ配置文件详解(生产者和消费者)
  5. Pytorch Fashion_MNIST直接离线加载二进制文件到pytorch
  6. transactional注解的使用_Java:Spring @Transactional工作原理
  7. POJ培训计划2253_Frogger(最短/floyd)
  8. centos 6.2安装mysql_centos6.2安装mysql
  9. 基于RV1126平台imx291分析 --- 统计已注册的设备信息
  10. python素数的判断方法_判断是否是素数(质数)的几种简单方法
  11. word刷子刷格式_用word格式刷快速调整文档格式-word技巧-电脑技巧收藏家
  12. windows安装choco
  13. 92款超级漂亮的css按钮样式 复制即用
  14. PC时代的20位英雄
  15. python培训价格多少呢-python培训得花多少钱呢?
  16. windows 下 用 dos 备份 oracle 数据库,并删除七天前的备份
  17. 拼多多货源代销怎么样,货源怎么找?
  18. 珠穆朗玛币王:11月25日人无信不立,业无信不兴(空军肆虐,多头溃败)
  19. 如何购买大容量的邮箱?哪里可以申请注册大量邮箱?
  20. python爬取豆瓣图片

热门文章

  1. 内网渗透工具bloodhound安装及使用
  2. 快手上市,投资人张斐说:多数人惊叹算法威力,少数人理解网络结构
  3. 深度学习:注意力机制与外部记忆
  4. 2月第1周安全回顾:移动设备威胁增加 常用软件补丁密集
  5. “use strict“是什么? 使用它有什么优缺点?
  6. VUE重点—腾讯云存储
  7. 联想拯救者刃9000K 2023 34IRZ款调整内存频率
  8. 中M22春C、Java入门练习-7.8
  9. 重磅! 教育部正式宣布大学 “取消” 985/211
  10. 02-k8s环境部署(生产环境使用kubelet1.16.2)