■
の続き。
使ったバージョンは前回と同じく下記である。
Live2D Cubism 4.1
Cubism 4 SDK for Unity R3
Unity 2019.4.28f1 (64-bit)
void LateUpdate()
{
CubismModel model = this.FindCubismModel();
CubismPart part = model.Parts.FindById("PartID");
_part.Opacity = 0.5f;
}
こう書くと透明度が変化することを発見した。CubismPart.Opacityはどこかに記憶されていて起動時の値が入っているようである。記憶されている値を変更する方法は見つかっていない。とりあえずLateUpdate()で毎フレーム上書きすれば画面に反映されるのであるが、このタイミング以外で更新しても画面には全く反映されない。
あと前回も書いた通りLive2Dで言う「パーツ」はパーツウィンドウに表示されている物の内フォルダだけで、フォルダ以外の物はCubismModel.Partsの中には入ってやしないので注意。透明度を変化させたい物はパーツ(フォルダ)に入れておけということであろう。
まあCubism Editorで動画を作る時の「Live2D パーツ表示」の一覧にもパーツ(フォルダ)しか表示されないから使っている用語はともかく首尾は一貫している。
次回はUnityでの物理演算表示について書きたい。まあ古いCubism SDK(2以前)では色々面倒だったのが3以降では何もせずとも自動で物理演算表示できるようなのだが、どうも動作に癖があるようなので。Unityのバージョンとの相性?