新しいLive2D公式コミュニティ(日本向け)が公開されました!
ぜひご利用ください!
Live2D公式コミュニティ

■このコミュニティの今後について
このコミュニティ(forum.live2d.com)につきましては、しばらくの間新コミュニティと並行して運営しますが、2022年内を目処に閉鎖する予定です。
閉鎖時期や内容については決定次第お知らせいたします。
海外向けコミュニティについては変更ございません。
【各最新OSの対応状況について】
Cubism Editorは 4.1.02 正式版以降でWindows 11 及び macOS Monterey に対応しております。ぜひ最新版をご利用ください。
※macOSをお使いの方でOSアップデートする際は必ずCubism Editorのライセンスを解除してください。
Cubism EditorをインストールしているmacOSをアップグレードしたい
Cubism SDKについては各SDKのREADMEまたはNOTICEをご確認ください。

【Mac各機種への対応状況について】
現在、Cubism EditorはApple M1チップ搭載機種には対応しておりません。
詳細は 動作環境 をご参照ください。
関連するお問い合わせへの対応はこの文章をもって代えさせていただきます。
Cubism 製品のマニュアル・チュートリアルはこちら
 
Cubism Editorマニュアル    Cubism Editorチュートリアル    Cubism SDKマニュアル    Cubism SDKチュートリアル

SampleApp1でScene切り替え

SampleApp1を元に実装していたのですが、Live2Dモデルが配置されたシーンを二つ用意して、再生し、スクリプトでシーンを切り替えて、ゲームビューをクリックするとストップし、以下のエラーメッセージが出ます。

MissingReferenceException: The object of type 'Transform' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEngine.Transform.TransformPoint (Vector3 position)
LAppView.UpdateTouchPos_2DCamera (Vector3 inputPos)
LAppView.TouchesEnded (Vector3 inputPos)

SampleApp1を元にした実装で、シーン切り替えを行うにはどうすればいいでしょうか?

コメント

  • Transformの値がnullの時にも処理が走ってる時があるようなので
    以下のようにコード追加すれば、シーン切替できるかと思います

    [LAppView.cs]284行目あたり
    /*
     * カメラの Projection が Orthographic である場合(2Dカメラ)
     */
    protected void UpdateTouchPos_2DCamera(Vector3 inputPos)
    {
    	// コード追加 Start 
    	if (transform == null)
    	{
    		return;
    	}
    	// コード追加 End 
    	//--- calc local plane coord ---
    	{
    		Vector3 worldP_LT = transform.TransformPoint( localP_LT ) ;
    		Vector3 worldP_RT = transform.TransformPoint( localP_RT ) ;
    		Vector3 worldP_LB = transform.TransformPoint( localP_LB ) ;
    		
    		Vector3 ScreenLT = Camera.main.WorldToScreenPoint( worldP_LT ) ;
    		Vector3 ScreenRT = Camera.main.WorldToScreenPoint( worldP_RT ) ;
    		Vector3 ScreenLB = Camera.main.WorldToScreenPoint( worldP_LB ) ;
    		
    		Vector3 sVX = ScreenRT - ScreenLT;
    		Vector3 sVY = ScreenLB - ScreenLT;
     ・
     ・
    	}
    }
    
コメントするにはサインインまたは登録して下さい。