Real Vectorism. 훨씬 더 입체적으로...
유니티 비트 쪼개기 본문
반응형
소스코드
public class MusicBeatSplitting : MonoBehaviour
{
private double bpm = 95.0;
public AudioClip sfx;
public AudioClip music;
public AudioSource sfxSource;
public AudioSource musicSource;
private Coroutine beatSplitting;
// Start is called before the first frame update
void Start()
{
sfxSource.clip = sfx;
musicSource.clip = music;
musicSource.Play();
beatSplitting = StartCoroutine(beatSplit());
}
// Update is called once per frame
void Update()
{
}
private IEnumerator beatSplit()
{
while(musicSource.isPlaying)
{
sfxSource.Play();
yield return new WaitForSeconds((float)(60.0 / bpm));
}
yield break;
}
}
핵심은 IEnumerator를 반환하는 코루틴함수 beatSplit() 인데 while문에서 60.0 / bpm 으로 설정함
각 악곡마다 정해진 bpm으로 60.0을 나누면 정확하게 4비트 등분이 됨.
각 게임의 경우에 따라 8비트, 16비트, 24비트, 32비트 등 세분화된 비트쪼개기는 개발자별 역량이 되는대로 알아서 커스텀할 것.
주의사항은 악곡의 구성인데 최초 악곡이 시작되기 전 무음구간이 존재하는 경우에는 비트쪼개기가 맞지 않을 수 있음. 또한 사용할 악곡의 BPM을 소숫점을 절대로 버리는 일 없이 정확하게 알아야함.
동영상에서 사용된 악곡은 펌프 잇 업 Infinity 에 수록된 WezDevine - Bang The Bass 라는 악곡. BPM은 95.0
핵심정리
4비트 나누기 = 60.0 / (악곡의 BPM);
n비트는 4비트 나누기 기준으로 알아서 커스텀
p.s 001: 동영상이 짤렸을 경우 이쪽으로(네이버 블로그)
반응형
'C# (based by Unity)' 카테고리의 다른 글
또다른 깨달음 (0) | 2023.06.03 |
---|---|
생성자 오버로딩 (0) | 2022.07.05 |
잘은 모르겠지만 (0) | 2021.08.17 |
슈팅패러다임2 업데이트 (0) | 2021.05.18 |
Shooting Paradigm 2 플레이스토어 출시 (0) | 2020.11.24 |
Comments