립싱크 설정 (SDK for Cocos Creator)
업데이트: 2023/03/14
여기에서는 모델에 AudioSource 음량으로 립싱크시키는 방법을 설명합니다.
다음은 「SDK 가져오기」를 수행한 프로젝트에 추가하는 것을 전제로 한 설명입니다.
AudioSource에서 음량을 취득하고 설정하기 위해 별도로 Cocos Creator에서 다룰 수 있는 형식의 오디오 파일을 준비하십시오.
개요
립싱크 설정은 Cubism SDK에서 MouthMovement라는 구성 요소를 사용합니다.
Cubism 모델에 MouthMovement를 설정하려면 다음 세 가지를 수행합니다.
1. 립싱크를 관리하는 컴포넌트를 연결
2. 립싱크시키는 파라미터를 지정
3. 지정된 파라미터의 값을 조작하는 컴퍼넌트 설정
립싱크를 관리하는 구성 요소 연결
모델의 루트가 되는 Node에 립싱크를 관리하는 CubismMouthController라는 컴포넌트를 연결합니다.
CubismMouthController에는 두 가지 설정 항목이 있습니다.
- Blend Mode: 지정된 파라미터에 현재 설정된 값에 대해 Mouth Opening 값을 어떻게 계산할지 지정합니다.
- Multiply: 현재 설정된 값에 Mouth Opening 값을 곱합니다.
- Additive: 현재 설정된 값에 Mouth Opening 값을 더합니다.
- Override: 현재 설정된 값을 Mouth Opening 값으로 덮어씁니다.
- Mouth Opening: 입 개폐의 값입니다. 1로 열린 상태, 0으로 닫은 상태로 취급합니다. 이 값이 외부에서 조작되면, 지정된 파라미터의 값도 연동합니다.
이번에는 Blend Mode를 [Override]로 설정하십시오.
립싱크시키는 파라미터 지정
[모델]/Parameters/ 아래에는 해당 모델의 파라미터를 관리하는 Node가 배치되어 있습니다.
또한 이 Node에 설정되어 있는 이름은 파라미터의 ID입니다.
이러한 Node에 연결된 CubismParameter는 CubismModel.parameters로 취득할 수 있는 것과 동일합니다.
이 Node 중에서 립싱크로 취급하는 ID의 것에 CubismMouthParameter라는 컴퍼넌트를 연결합니다.
이상의 설정으로, 입 개폐 조작을 실시할 수 있게 됩니다.
하지만 이것만으로는 아직 실행해도 립싱크는 하지 않습니다.
자동으로 립싱크하려면 CubismMouthController의 Mouth Opening 값을 조작하는 구성 요소도 설정해야 합니다.
지정된 파라미터의 값을 조작하는 컴퍼넌트 설정
모델의 루트가 되는 Node에 립싱크의 입력용 컴퍼넌트를 연결합니다.
MouthMovement에는 입력 샘플로서 AudioSource 볼륨과 Sin파로 입 개폐 값을 조작하는 구성 요소가 포함되어 있습니다.
이번에는 AudioSource에서 값을 설정할 수 있도록 CubismAudioMouthInput이라는 구성 요소를 연결합니다.
CubismAudioMouthInput에는 다음 네 가지 설정 항목이 있습니다.
- Audio Input: 입력에 사용할 AudioSource를 설정합니다. 여기에서 설정한 AudioSource에 설정된 AudioClip의 음량을 사용합니다.
- Sampling Quality: 샘플링할 음량의 정확도를 설정합니다. 아래의 설정 순서가 낮을수록 정밀도가 높아지지만 계산 부하도 높아집니다.
- High
- Very High
- Maximum
- Gain: 샘플링된 음량을 몇 배로 취급할지 설정합니다. 1로 1배입니다.
- Smoothing: 음량으로 산출할 개폐 값을 얼마나 스무딩할지 설정합니다. 값을 늘릴수록 매끄러워지지만 계산 부하도 증가합니다.
이번에는 설정을 다음과 같이 합니다. Audio Input에는 AudioSource를 연결한 Node를 설정해 둡니다.
- Sampling Quality: High
- Gain: 1
- Smoothing: 5
마지막으로 음량을 취득하려면 Node에 AudioSource를 연결하고 상기 CubismAudioMouthInput의 Audio Input에 설정합니다.
이것으로 립싱크 설정이 완료되었습니다.
이 상태에서 장면을 실행하면 AudioSource에 설정된 오디오 파일이 재생되고 음량에 따라 모델이 립싱크하게 됩니다.