【Cubism SDKのバージョン】CubismSdkForUnity-4-r.6.2
【OS名・バージョン】Windows10
【開発使用ツール】Unity 2021.3.1f1
【不具合の状況】
・Unityでプロジェクトを作成し、CubismSdkForUnity-4-r.6.2をインポート
・任意のフォルダにLive2Dのデータを読み込み、Prefabを生成
・プロジェクトを再生し、SceneにPrefabをロードする
・Prefabに含まれるパーツが一瞬全部表示される
ご確認いただけますでしょうか。 よろしくお願いいたします。
いつも弊社製品をご愛顧くださり誠にありがとうございます。
Live2Dスタッフでございます。
Unityにモデルを配置した直後のフレームにパーツが表示される現象は仕様になります。
これは、Cubism SDKではモデルを描画するためのメッシュを2セット持っており、フレームごとにそれぞれを更新と描画で交互に入れ替えています。
そのため、表示された直後は更新されていないメッシュが表示に使用されているため、すべてのパーツが表示された状態になります。
表示した1フレーム目は表示しない、または LateUpdate()
のタイミングにモデルの以下の順で関数を呼び出します。
CubismModel.ForceUpdateNow()
CubismModel.ForceUpdateNow()
CubismRenderController.OnLateUpdate()
CubismMaskController.OnLateUpdate()
ただし、この処理はモデルの各コンポーネントより後に呼び出される必要があります。
実行順の制御についてはUnityのDefaultExecutionOrder
を利用する、またはCubism SDK付属の実行順を制御する機能を利用するなどいくつか方法がございます。
Cubism SDK付属の実行順を制御する機能については「独自のコンポーネントの実行順を制御させる」をご覧ください。
よろしくお願いいたします。
現象について仕様との事、承知いたしました。
取り急ぎ読み込んだ直後にモデルを画面に表示しない対策でうまく行ったようです。
ご確認ありがとうございました。