자동 눈 깜빡임 설정 (SDK for Cocos Creator)

업데이트: 2023/03/14

여기에서는 모델이 자동으로 눈을 깜빡이게 하는 방법을 설명합니다.
다음은 「SDK 가져오기」를 수행한 프로젝트에 추가하는 것을 전제로 한 설명입니다.

개요

모델에 표준 파라미터의 [왼쪽 눈 개폐(ParamEyeLOpen)], [오른쪽 눈 개폐(ParamEyeROpen)]가 설정되어 있는 경우 가져오기하여 생성되는 모델의 Prefab에는 자동으로 눈 깜빡임 설정이 이루어집니다.

위의 설정을 하지 않은 모델에 자동 눈 깜빡임을 시키는 경우는 본 기사에서 설명하는 순서로 설정할 수 있습니다.

눈 깜빡임 설정은 Cubism SDK에서는 EyeBlink라는 구성 요소를 사용합니다.

Cubism 모델에 EyeBlink를 설정하려면 다음 세 가지를 수행합니다.

  1. 눈 깜빡임을 관리하는 구성 요소를 연결
  2. 눈을 깜빡이게 하는 파라미터 지정
  3. 눈 깜빡임 파라미터의 값을 자동으로 조작하는 구성 요소 설정

눈 깜빡임을 관리하는 구성 요소를 연결

눈 깜빡임을 관리하는 CubismEyeBlinkController라는 구성 요소를 연결합니다.

CubismEyeBlinkController에는 두 가지 설정 항목이 있습니다.

  • Blend Mode: 지정된 파라미터에 현재 설정된 값에 대해 Eye Opening 값을 계산하는 방법을 지정합니다.
    • Multiply: 현재 설정된 값에 Eye Opening 값을 곱합니다.
    • Additive: 현재 설정된 값에 Eye Opening의 값을 더합니다.
    • Override: 현재 설정된 값을 Eye Opening 값으로 덮어씁니다.
  • Eye Opening: 눈 개폐의 값입니다. 1로 열린 상태, 0으로 닫은 상태로 취급합니다. 이 값이 외부에서 조작되면, 지정된 파라미터의 값도 연동합니다.

이번에는 Blend Mode를 [Override]로 설정하십시오.

눈을 깜빡이게 하는 파라미터 지정

[모델]/Parameters/ 아래에는 해당 모델의 파라미터를 관리하는 Node가 배치되어 있습니다.
또한 이 Node에 설정되어 있는 이름은 파라미터의 ID입니다.
이것은 CubismModel.parameters()로 취득할 수 있는 것과 동일합니다.

이 파라미터용 Node 중에서 눈 깜빡임으로서 취급하는 ID의 것에, CubismEyeBlinkParameter라는 컴퍼넌트를 연결합니다.

파라미터용 Node에 CubismEyeBlinkParameter가 연결되어 있으면, 장면 실행 시에 CubismEyeBlinkController가 그것을 참조해 눈의 개폐를 설정하게 됩니다.

이상의 설정으로, 스크립트 등으로 눈 깜빡임 조작을 실시할 수 있게 되지만, 이것만으로는 아직 자동으로 눈 깜빡임은 실시하지 않습니다.

자동으로 눈 깜빡임을 실시하게 하기 위해서는 정기적으로 값을 조작하는 컴포넌트도 설정해야 합니다.

눈 깜빡임 파라미터의 값을 자동으로 조작하는 구성 요소 설정

CubismEyeBlinkController와 마찬가지로 모델의 루트에 CubismAutoEyeBlinkInput이라는 구성 요소를 연결합니다.

CubismAutoEyeBlinkInput에는 다음 세 가지 설정 항목이 있습니다.

– Mean: 눈 깜빡임까지의 시간을 설정합니다. 단위는 초입니다. 실제로는 이 값에 Maximum Deviation에 의한 오차를 더한 시간이 사용됩니다.
– Maximum Deviation: Mean에서 설정한 시간에 더하는 변동의 최대값을 설정합니다. 설정할 값은 0 이상의 수치입니다.

위의 Mean에 설정한 시간으로 눈 깜빡임을 시키면, 주기가 균일해지기 때문에 캐릭터의 동작으로서는 부자연스러워져 버립니다.
그 때문에, 설정한 시간의 주기에 랜덤으로 변동을 더해, 동작이 자연스러워지도록 하고 있습니다.
실제 계산은 다음과 같습니다.

다음 눈 깜빡임까지의 시간 = Mean + (-Maximum Deviation에서 +Maximum Deviation 사이의 랜덤 값)

– Timescale: 눈을 열고 닫는 속도를 설정합니다. 설정하는 수치가 작을수록 느려집니다.

이번에는 Mean에 2.5를 Maximum Deviation에 2, Timescale에 10을 설정합니다.

이상으로 자동 눈 깜빡임 설정이 완료되었습니다.

이 상태에서 Scene을 실행하면 자동으로 눈 깜빡이게 할 수 있습니다.

이 기사가 도움이 되었나요?
아니요
이 기사에 관한 의견 및 요청사항을 보내 주시기 바랍니다.