自動まばたき

[最終更新日:2022/12/08]

 

まばたきに使用するパラメータの特定

自動まばたきエフェクト機能を使用することで、モデルに対してランダムなまばたき動作を適用することができます。
自動まばたきエフェクトを適用するために以下の処理を行います。

・.model3.jsonファイルに記述された、自動まばたきエフェクトの値を適用するパラメータとの対応付け

・まばたきの時間間隔を設定し、更新処理を呼ぶ

このうち、.model3.jsonファイルに記述される自動まばたきエフェクトとパラメータを対応付ける情報は、ICubismModelSettingインターフェースを実装するCubismModelSettingJsonクラスを利用することによって取得することができます。

 

.model3.jsonファイルの中に定義を入れるには「まばたき設定」を確認してください。
Editor上でまばたき・リップシンク設定を行ってから出力すると、.model3.jsonファイルには以下のように記述されます。

 

 

CubismEyeBlinkの利用

実際にまばたきさせるにはCubismEyeBlinkクラスを利用します。
このクラスはICubismModelSettingインターフェイスを介して、
.model3.jsonファイルに記述されたまばたき用パラメータに対し、
間隔がランダムなまばたき動作を提供します。

 

CubismEyeBlinkインスタンスの生成

CubismEyeBlinkインスタンスの生成にはNative(C++)のCubismEyeBlink::Create関数、Web(TypeScript)、JavaのCubismEyeBlink.create関数を使用します。
引数にCubismModelSettingJsonインスタンスを渡すことによって、.model3.jsonファイルの設定を自動的に取得します。
省略した場合はまばたきのIDは未指定になります。

 

 

まばたきの設定

Native(C++)のCubismEyeBlink::SetBlinkingInterval関数、Web(TypeScript)、JavaのCubismEyeBlink.setBlinkingInterval関数や、Native(C++)のCubismEyeBlink::SetBlinkingSettings関数、Web(TypeScript)、JavaのCubismEyeBlink.setBlinkingSettings関数によってまばたきの時間を指定できます。
SetBlinkingInterval関数で設定するまばたきの間の時間は、0秒から設定時間の2倍までのランダム性があります。

 

また、Native(C++)のCubismEyeBlink::SetParameterIds関数、Web(TypeScript)、JavaのCubismEyeBlink.setParameterIds関数や、Native(C++)のCubismEyeBlink::GetParameterIds関数、Web(TypeScript)、JavaのCubismEyeBlink.getParameterIds関数によって、まばたきするパラメータをあとから変更することができます。

 

 

モデルへの適用

まばたきを適用するにはNative(C++)のCubismEyeBlink::UpdateParameters関数、Web(TypeScript)、JavaのCubismEyeBlink.updateParameters関数を使用し、第一引数に対象のモデル、第二引数に前回更新からの差分時間を入れます。

 

 

破棄

モデルが解放されるタイミングでCubismEyeBlinkインスタンスも破棄する必要があります。

 

Javaではガベージコレクションに解放を任せる方針のため、破棄の手続きは不要です。

© 2010 - 2022 Live2D Inc.