Init
This commit is contained in:
38
03-UnrealEngine/Rendering/Lighting/音乐控制DMX灯光的简单方法.md
Normal file
38
03-UnrealEngine/Rendering/Lighting/音乐控制DMX灯光的简单方法.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: 音乐控制DMX灯光的简单方法
|
||||
date: 2022-11-09 17:13:17
|
||||
excerpt: 摘要
|
||||
tags:
|
||||
rating: ⭐
|
||||
---
|
||||
## 前言
|
||||
最近公司有个活涉及到DMX打光的活,还比较急。为了减少美术同学的压力,所以我就想通过音乐分析+播放Sequence的方式来实现。
|
||||
|
||||
UE有自带基于FFT的音乐分析功能,但只能根据频率进行对应的判断,比较麻烦所以放弃了。具体操作可以参考:
|
||||
https://www.bilibili.com/video/BV1FP411c79v/
|
||||
|
||||
## AudioAnalysisTools
|
||||
这里推荐使用audio-analysis-tools,原因是免费且开源,默认带有一些预设:IsHiHat、IsBeat、IsKick、IsSnare,同时可以通过频率范围来判断节拍。但也正因为此一些功能不够完善,需要自己改一下。
|
||||
下载地址:https://www.unrealengine.com/marketplace/zh-CN/product/audio-analysis-tools
|
||||
|
||||
以下是我做的一个案例,通过音乐分析与K帧来播放对应的子Sequence(预先K好DXM动画)来实现音乐控制DMX灯光效果:
|
||||

|
||||
|
||||
IsBeatRange是根据指定频率声音的音量进行判断,这里可以根据需要来设置判断条件:
|
||||

|
||||
|
||||
因为逻辑是写在Actor中的,所以搞了按键事件来停止音乐播放。
|
||||

|
||||
|
||||
不过需要注意:启用这个插件之后导入Wav就会变成这个资产。如果想要获得SoundWave资产就必须停用插件并且再次导入。
|
||||

|
||||
## DMX移植
|
||||
只需要在新工程里启用DMX插件,之后将官方的DMX的工程迁移即可。需要注意的是Sequence里的需要使用DMX,里面设置好DMXLibrary以及补丁(这中文翻译槽点满满)即可。
|
||||
|
||||
## 后续工作
|
||||
这个方案有一些缺点:
|
||||
1. AudioAnalysisTools需要播放声音才能获取的数据。
|
||||
2. AudioAnalysisTools无法使用UE自带的Asset,同时会导致无法在导入后生成SoundWave Asset。
|
||||
3. 无法在Sequence停止播放时停下(更好的控制)或者在拖动轨道时执行正确的行为。
|
||||
|
||||
这就需要通过自定义Sequence Track以及修改插件才能完美实现。
|
Reference in New Issue
Block a user