最近做了个吹气球的案例,远离就是获取设备的麦克风,对声音进行采样,我这里是手机测试。实现了吹气气球不断变大的效果。

直接上代码,工程源码文件我分享一个百度云地址。我的Unity版本是2018.2.1,手机测试时安卓。

项目工程地址:https://pan.baidu.com/s/15gK88rMI2yD0nZq3hJHTvQ

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
public class Audio : MonoBehaviour {public Text text;public AudioSource Myaudio;public AudioSource QiqiuAudio;public AudioSource BaozhaAudio;float timer = 0;public string sFrequency = "44100";public GameObject prefab;public GameObject Qiqiu;public float Speed = 1;float scale = 0;bool IsBaozha = false;// Use this for initializationvoid Start () {if (Application.isEditor)return;StartRecord();StartCoroutine("Wait");}IEnumerator Wait(){yield return new WaitForSeconds(0.25f);if (Volume > 10){scale += 0.1f*Speed;offset += 1.5f;if (scale <= 1)Qiqiu.transform.localScale = new Vector3(1+scale, 1+scale, 1+scale);//爆炸else{StopCoroutine("Wait");IsBaozha = true;StartCoroutine(BaoZhaEffect());}if (offset < 15){if(Random.Range(0,1.0f)>0.5f)StartCoroutine(RoateAndMove(offset, 0.15f));elseStartCoroutine(RoateAndMove(offset, -0.15f));}elseoffset = 0;}if(!IsBaozha)StartCoroutine(Wait());}//场景一开始就开启录音功能void StartRecord(){Myaudio.Stop();Myaudio.loop = true;Myaudio.mute = false;Myaudio.clip = Microphone.Start(null, true, 1, int.Parse(sFrequency));while (!(Microphone.GetPosition(null) > 0)){}    }float offset = 0;// Update is called once per framevoid Update () {if(!Application.isEditor)text.text = Volume.ToString();if(Input.GetKeyDown(KeyCode.Space)){          StartCoroutine(RoateAndMove(offset, 0.15f));}}IEnumerator RoateAndMove(float offset,float timer){Vector3 right, left, center;right = new Vector3(0, 0, -offset);left = new Vector3(0, 0, offset);center = Vector3.zero;Qiqiu.transform.DOLocalRotate(right, timer);yield return new WaitForSeconds(timer);Qiqiu.transform.DOLocalRotate(center, timer);yield return new WaitForSeconds(timer);Qiqiu.transform.DOLocalRotate(left, timer);yield return new WaitForSeconds(timer);Qiqiu.transform.DOLocalRotate(center, timer);}IEnumerator BaoZhaEffect(){QiqiuAudio.Play();Qiqiu.transform.DOScale(Vector3.one, 0.2f);yield return new WaitForSeconds(0.2F);if(!BaozhaAudio.isPlaying)BaozhaAudio.Play();prefab.SetActive(false);prefab.SetActive(true);Qiqiu.SetActive(false);}public float Volume{get{if (Microphone.IsRecording(null)){// 采样数int sampleSize = 128;float[] samples = new float[sampleSize];int startPosition = Microphone.GetPosition(null) - (sampleSize + 1);// 得到数据this.Myaudio.clip.GetData(samples, startPosition);// Getting a peak on the last 128 samplesfloat levelMax = 0;for (int i = 0; i < sampleSize; ++i){float wavePeak = samples[i];if (levelMax < wavePeak)levelMax = wavePeak;}return levelMax * 99;}return 0;}}public void ResetOnclck(){Qiqiu.SetActive(true);Qiqiu.transform.localScale = Vector3.one;scale = 0;offset = 0;IsBaozha = false;StartCoroutine("Wait");}
}

Unity获取麦克风实现吹气球效果相关推荐

  1. unity获取麦克风音量_Unity获取麦克风音量(实现音效波浪效果)

    1.每个方块(Cube)为一个波浪添加脚本MusicDance 2.整体获取马克风音量大小脚本MusicManager MusicDancepublic class MusicDance : Mono ...

  2. unity获取麦克风音量_Unity调取移动端的麦克风进行录音并播放

    本文实例为大家分享了Unity调取移动端的麦克风进行录音并播放的具体代码,供大家参考,具体内容如下 1.对MicroPhone类的理解 对麦克风的调用在Unity里主要是用到了MicroPhone这个 ...

  3. unity获取麦克风音量_深入探究Valve Index的耳机、麦克风设计过程

    查看引用/信息源请点击:映维网 本文来自于Valve音频工程师艾米莉·丽琪维 (映维网 2019年08月13日)继深入介绍了Index头显的视场之后,Valve日前撰文探究了设备耳机和麦克风方面的设计 ...

  4. unity获取麦克风音量_Unity3d:检查麦克风输入音量

    我想在可视化表示中使用用户在Unity3d中输入的麦克风音量 . 所以我'd like to get a value between 0 and 1 that tell how loud the us ...

  5. 试着在unity实现阴阳师抽卡效果

    试着在unity实现阴阳师抽卡效果 之前为了社团活动(DemoDay,一个展示社团成员游戏作品的社团展会)做了一个抽奖程序.因为是硬核游戏开发社团举办的游戏展,我为此特地做了一个阴阳师的抽卡系统如下 ...

  6. Unity从零开始实现一个全息效果Shader

    Unity从零开始实现一个全息效果Shader 前言 开始捣鼓 一.准备阶段 二.先从透明效果开始 三.顶点故障效果 四.扫描线效果 五.菲尼尔反射效果 六.颗粒效果 七.颜色故障效果 CustomE ...

  7. Android 录音获取麦克风实时音量(转)--资料

    Android 上有一些很有趣的应用,例如<吹裙子>.<吹气球>之类的.利用的是实时获取麦克风输入音量,然后进行相应的处理.录音过程中怎样获得声音的大小呢?下面有个实例 Jav ...

  8. android获取录音音量大小,Android 获取麦克风音量

    Android 上有一些很有趣的应用,例如<吹裙子>.<吹气球>之类的.利用的是实时获取麦克风输入音量,然后进行相应的处理.录音过程中怎样获得声音的大小呢?网上也不少人问如何处 ...

  9. Unity Shader · 科技感矩阵效果

    Unity Shader · 科技感矩阵效果 前言 最近想要做一个次世代卡通渲染(伪),选的是崩崩崩的小八(我最喜欢小八了). 先放几张截图,等全部做完之后再分享用到的一些技术叭. 赶紧做完发B站,等 ...

最新文章

  1. 使用Python和OpenCV在图像之间执行超快速的颜色转换
  2. Igraph包绘制network
  3. 一起谈.NET技术,ASP.NET Eval如何进行数据绑定
  4. 活动结束|金融圈第19期分享:数据系统如何防范金融非统性风险?
  5. 代腾飞(一读者再为IT诗人代腾飞名字作诗)
  6. Kotlin 4 构造,对象,修饰符,关键字,委托
  7. mysqli 返回一条结果_php中mysqli 处理查询结果集总结
  8. C语言中,全局变量滥用的后果竟如此严重?
  9. 手机滤镜怎么移植到ps上_一分钟教你电脑端Lr、Ps滤镜预设/手机端Lr预设如何导入【图文教程】...
  10. [原创]中秋随笔 祝大家中秋快乐
  11. 导出excel、word、csv文件方法汇总
  12. Vista v12.0 Win32-ISO 1DVD(地震数据处理)
  13. 用于预测的神经网络模型,神经网络模型可解释性
  14. c语言键盘连续双击程序,“到处乱跑”的光标!简单的C语言程序: 在室友的计算机上尝试!...
  15. php圆角的度数计算公式,角度数换算公式(三角函数计算换算角度)
  16. 【机器学习课程-华盛顿大学】:4 聚类和检索 4.4 MoG混合高斯模型编程测试
  17. 用shell画形状呀(可调节大小)
  18. RabbitMQ狂神说笔记(RabbitMQ B站狂神说笔记、KuangStudy、学相伴飞哥)
  19. 解决端口被进程占用 xxx port is already in use
  20. 网络安全学习Day3

热门文章

  1. P1162 填图颜色 洛谷(BFS的简单应用)
  2. 基于HSV颜色空间的辅助车牌定位
  3. 再次轻度破解EXE文件
  4. 纯干货:分享一些跨境电商客服经常会用到的话术(含中英文)
  5. 谷粉搜搜 九尾搜索 推荐
  6. ChatGPT智能AI对话软件
  7. 《狂飙》壁纸太帅,Python自动切换太酷(8)
  8. 深度学习入门 (九):卷积层和池化层的实现
  9. 【JZOJ 4598】准备食物
  10. 联想拯救者R720重装Win10系统的正确姿势