AudioToolKit 音频管理插件 AudioToolKit是一款比较方便的音频管理插件,本文提供介绍和使用方法讲解,不提供插件。该插件全部由代码组成,附带demo. AudioToolKit并不是一款没有它你就做不了的插件,它主要是省些代码及可视化管理。 优点: (1)通过Category管理音频,不需要为音频管理另外写专门脚本。 (2)Pitch并不是按unity自带的AudioSource里的pitch speed,而是按音乐里的半音程来设置,更实用些。 【配置】 (1)创建一个GameObject并命名为AudioController,并添加 插件的AudioController脚本。 (2)指定AudioObjectPrefab,这里用插件自带的prefab即可, ![]() 或者自己新建一个GamObject然后添加AudioObject脚本,AudioSource会被自动添加(AudioSource不要作任何如AudioClip之类的设置)如果需要池就添加插件的PoolableObject脚本 ![]() (3)创建一个类别 ![]() (4)创建一个AudioItem 注意: AudioItem不能重名,即使是不同的Catagory ![]() (5)创建一个Audio Sub-Item, Audio Sub-Item是真正指定音频文件的地方。 ![]() 基本设置到这就完成了,可以正常使用了,还可以根据需求调整参数 【使用】 1 播放AudioItem: AudioController.Play( "MyUniqueAudioItemName" ) 2 播放唯一的Music: AudioController.PlayMusic( "MusicAudioItemName" ) 注意:AudioController.Play播放的音效是互不影响,可以叠加的,而AudioController.PlayMusic只播放当前的唯一音乐,并且自动处理淡入淡出等。 3 播放列表: PlayList实际上就是string数组,PlayList里的音乐可以在不同的Category里。 void SetAndPlay() { string[] playList = new string[2]; playList[0] = "01"; playList[1] = "02"; AudioController.SetMusicPlaylist(playList); AudioController.PlayMusicPlaylist(); } 之后播放下一首 AudioController.PlayNextMusicOnPlaylist(); 4 更多例子: AudioController.Play( "MySoundEffect1" ); AudioController.Play( "MySoundEffect2", new Vector3( posX, posY, posZ ) ); AudioController.PlayMusic( "MusicTrack1" ); AudioController.SetCategoryVolume( "Music", 0.5f ); AudioController.PauseMusic(); 【改变Pitch】 (1) 用unity自带的AudioSource里的pitch改 AudioObject obj = AudioController.Play("01"); obj.audio.pitch = 0.3f; (2) 使用AudioToolKit的初始pitch设置(下图的Pitch Shift), 或者随机pitch设置(下图的Random Pitch),均以 半音程为1个单位。 ![]() (3) AudioObject obj = AudioController.Play("Sound1"); obj.audio.pitch = AudioObject.TransformPitch(10); |
unity3d AudioToolKit 音频管理插件使用方法
最新推荐文章于 2024-06-04 14:59:35 发布