実現したいこと
Android上でもEditor上と同じようにVideoPlayerが一瞬消えることなくシーン遷移を行いたい。
前提
プログラミング初心者で質問投稿も初めてなので情報が不足していたら申し訳ありません。
現在Unityを使ってスマホ版のゲームを作っています。
シーンを切り替える際にVideoPlayerを使ってフェードイン及びフェードアウト演出をしているのですが
Androidで実機テストをすると、フェードアウトの際にシーンが切り替わる直前に
VideoPlayerが一瞬非表示になり、ゲーム画面がその瞬間だけ見えてしまいます。
※一瞬なので再度VideoPlayerが表示された後にシーン遷移が発生している。
Editor上ではVideoPlayerは消えることなくそのままシーン遷移されており問題ないように見えます。
発生している問題・エラーメッセージ
Android上だと、シーンが切り替わる直前にVideoPlayerが一瞬非表示になってしまう。
該当のソースコード
Unity
1 2[SerializeField] private VideoClip vcFadeClip; // フェード用動画 3[SerializeField] private AudioClip acSEClip; // フェード用SE 4 5private SceneObject objScene = null; // 次のシーン 6private VideoPlayer vpFade = null; // フェード用VideoPlayer 7private AudioSource asFadeSE = null; // フェード用AudioSource 8 9void Awake() 10{ 11 vpFade = GetComponent<VideoPlayer>(); // VideoPlayerコンポーネント取得 12 asFadeSE = GetComponent<AudioSource>(); // AudioSourceコンポーネント取得 13 14 vpFade.time = 0f; // 動画の最初から再生 15} 16 17public void FadeOut(SceneObject scene) 18{ 19 gameObject.SetActive(true); // 表示 20 objScene = scene; // 次のシーンセット 21 vpFade.clip = vcFadeClip; // フェード用動画セット 22 vpFade.Play(); // 動画再生 23 GetComponent<RawImage>().enabled = true; // RawImage表示 24 vpFade.loopPointReached += FinishFadeOutVideo; // 動画終了時にFinishFadeOutVideo呼び出し 25 asFadeSE.PlayOneShot(acSEClip); // フェード用SE再生 26} 27 28public void FinishFadeOutVideo(VideoPlayer vp) 29{ 30 vpFade.Pause(); // 動画停止 31 SceneManager.LoadScene(objScene); // 次のシーンへ 32} 33
試したこと
原因が分からないので何を試したらいいのか分かっていないです。
補足情報(FW/ツールのバージョンなど)
バージョン:Unity 2021.3.12
動画ファイル情報:webm形式、VP8コーデック
VideoPlayerのRenderModeはRenderTextureで、インスペクター上でループはオフにしています。
あなたの回答
tips
プレビュー