虚幻引擎:4.22
VS:2017
1、蓝图简单做法
- 先创建个空场景,去掉所有自带的灯光,天空球等,让场景为纯黑色。
- 然后创建一个频谱Bar的Actor,里面只有一个Cube。
- 为频谱Bar创建一个变色材质。
- 主要使用了虚幻引擎中的插件(默认是没勾选的)。
- 要用到这个插件的API:CalculateFrequencySpectrum(这个API可以计算你导入音乐在设定的时间范围内的频谱)。
- 设计想法,设置SpectrumWidth为20,这样需要在场景中放入20个频谱Bar。
- 再创建,计算频谱的ControllerActor。在Components面板下添加Audio音频组件。
- 在ControllerActor中先创建SoundWave类型的变量Sound,并且公开此变量,用于选择要播放的音乐。
- 然后创建频谱Actor类型的数组,存储场景中所有的频谱Actor。
- 最后创建float类型的数组Frequencies,存储通过API计算出来的在设定时间内的频谱值数组。
- 在ControllerActor的BeginPlay中,先获取场景中所有的频谱Actor,赋值给频谱Actor数组。然后设置Audio组件的Sound,并在游戏开始时播放。
- 在ControllerActor的EventTick中通过API计算出来的频谱值,然后设置每个频谱Actor的Scale。
- 在场景中添加一个相机CameraActor,调整相机角度,用于播放时观看。
- 最后在关卡蓝图中调整视角为CamerActor视角。
- 添加一个效果图。
- 附上GitHub的工程:https://github.com/zhangmei126/MusicPlayer