質問は基本的に1スレッドにつき1つの内容でお願いします。
また、お問い合わせの際は下記の情報を明記をお願いいたします。

▼ソフトウェアに関するご質問の場合
・【問題が発生したソフトウェア名とバージョン】(例:Cubism Editor 3.1.02、Euclid Editor 1.2.0 など)
・【ご利用のPC環境】例:Windows10、macOS HighSierra など
・【機種名】:MacBookPro 2017 など
・【グラフィックボード】例:GeForce GTX 950M など
・【メモリ】例:8GB
・【原画(イラスト)を制作したソフトウェア】例:Photoshop , CLIP STUDIO , SAI など
・【問い合わせ内容がわかるスクリーンショットまたは動画】例:パーツの表示状態など、お問い合わせ内容がわかる画像をご用意ください
---------------------------
▼SDKに関するご質問の場合
・現象の再現を行い検証させていただきますので、再現する最小のプロジェクトのご提供か、再現するまでの手順
・使用した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数がシーンを切り替えるたびにカウントアップされていました。
    モデルをクリアする事で解決するかと思います。
  • 解決いたしました。
    ありがとうございました。
コメントするにはサインインまたは登録して下さい。