Live2D for UnityのLive2Dモデルの解放について
いつもお世話になっております。
現在、複数のLive2Dを読み替えてキャラクターを表示しようとしております。
読み替え時に非表示にするLive2Dを解放しようとしておりますが、プロファイラーを確認する限りうまく解放できていないようです。
Live2Dを出力したシーンから別のLive2Dが表示されていないシーンへLoadLevelしたときには解放されているようです。
シーンの読み替え以外でLive2Dを解放することはできるのでしょうか?
実行環境とソースコードを添付いたします。
その他に必要なソースコード等がありましたら、ご連絡ください。
Windows7 Professional
Unity ver5.3.1p3
Live2D Cubism SDK 2.1.00
現在、複数のLive2Dを読み替えてキャラクターを表示しようとしております。
読み替え時に非表示にするLive2Dを解放しようとしておりますが、プロファイラーを確認する限りうまく解放できていないようです。
Live2Dを出力したシーンから別のLive2Dが表示されていないシーンへLoadLevelしたときには解放されているようです。
シーンの読み替え以外でLive2Dを解放することはできるのでしょうか?
実行環境とソースコードを添付いたします。
その他に必要なソースコード等がありましたら、ご連絡ください。
Windows7 Professional
Unity ver5.3.1p3
Live2D Cubism SDK 2.1.00
0
コメント
全解放時に「UsedTotal(Unity、GfxDriver)」「Textures」「Assets」「TotalObjectCount」が増えたままになっております。
上記全解放実行時には生成したLive2DGameObjectがヒエラルキーから削除されており、シーン上にもLive2Dの表示はなくなっております。
UnityEngine.SceneManagement.SceneManager.LoadSceneでいったん別のシーンへ遷移し、Live2Dを表示するシーンへ戻ってきたときには上記「UsedTotal(Unity、GfxDriver)」「Textures」「Assets」「TotalObjectCount」がLive2Dを読み込む前の状態に戻っていることを確認しております。
Live2D Unity SDKのSimpleプロジェクトで検証した所、Destory後にResources.UnloadUnusedAssetsでモデル開放できます。
ソースは添付したものをuGUIボタンから実行しています。
以下のリンクも参考になると思いますので御覧ください。
Unityにおけるメモリ管理 by Cygames
また過去にも同様のスレッドがありましたので、こちらも参考になると思います。【unity 4.6.4】Android での live2dモデル破棄時のメモリーリークについて