Live2Dに関するユーザーのみなさま同士の交流・ご質問・不具合の報告・提案・要望などについて是非お寄せください。
※Live2D公式スタッフからの発言や回答については確約できないことを予めご了承ください。
Cubism 製品のマニュアル・チュートリアルはこちら
 
Cubism Editorマニュアル    Cubism Editorチュートリアル    Cubism SDKマニュアル    Cubism SDKチュートリアル

シーン移動・戻るを何度か繰り返すとオブジェクトが消えてしまう。

SampleApp1で作成したLive2Dモデルが入ったシーンを複数つくりました。
シーンを切り替えたり、前のシーンに戻ったりを何度か繰り返すとLive2Dモデルだけが消えてしまいます。

消えずに再読込みするにはどのようにすればよろしいでしょうか?

コメント

  • @kokoro さん

    SampleApp1をベースにどのようなコードを書かれていますか?
    こちらでもApplication.LoadLevel()を使ってシーン切り替えしてみましたが、再現しなかったので。
    また、Live2Dモデルが消えた際に何かエラーや警告などは出ているでしょうか?
  • ご返答ありがとうございます。

    起動時のエラー

    model.draw() 前に model.update() が呼ばれていない可能性があります

    UnityEngine.MonoBehaviour:print(Object)
    live2d.UtDebug:print(String, Object[])
    live2d.UtDebug:error(String, Object[])
    live2d.ModelContext:draw(DrawParam)
    live2d.Live2DModelUnity:draw()
    LAppModel:Draw() (at Assets/Scripts/sample/LAppModel.cs:296)
    LAppModelProxy:OnRenderObject() (at Assets/Scripts/sample/LAppModelProxy.cs:50)


    コードについては、こちらのフォーラムを参考にLAppView.csを変更しただけです。
    http://forum.live2d.com/discussion/222/sampleapp1でscene切り替え/p1
  • LAppView.cs変更しただけであれば問題なさそうに思います。
    Unityのプロジェクトを見ないとちょっと分からないので、
    可能であればUnityプロジェクトをfirestorageか何かでアップロードし、URLを送ってもらってよいですか?

    このフォーラム上で私のアイコンクリックし、メッセージボタンで教えてもらえれば他の方には見えないかと思います。
  • ファイル送付ありがとうございました。
    こちらでも同じ事象を確認でき、以下のような事象でした。

    ・<シーン1> haruモデル ⇔ <シーン2> haruモデル・・・シーン切り替えても問題なく描画できてる
    ・<シーン2> haru以外のモデル ⇔ <シーン2> haruモデル・・・シーン切り替えるとモデルが描画されない

    解決法ですが、以下の部分を修正すればOKです。

    LAppLive2DManager.cs
    // 追加
    public void DelModel()
    {
    	models.Clear(); // モデルクリア
    }
    
    シーン切り替えのスクリプト
    using UnityEngine;
    using live2d;
    
    public void SceneChange () {
    	// モデルクリア
    	LAppLive2DManager.Instance.DelModel();
    	Application.LoadLevel("シーン名");
    }
    
    修正前はLAppLive2DManagerのmodels数がシーンを切り替えるたびにカウントアップされていました。
    モデルをクリアする事で解決するかと思います。
  • 解決いたしました。
    ありがとうございました。
コメントするにはサインインまたは登録して下さい。