シーン1の開始時等で
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync("シーン2", LoadSceneMode.Additive);
を呼び出ししておく。(シーン2のVideoPlayerは自動再生をオフにしておく)
あとはキーが押されたらシーン2のVideoPlayerを再生すればいいです。
ただ、シーン1の開始直後にキーを押されるとやっぱりロードが間に合わないので、シーン2のロードが完了するまでキーを押せないようにする等の対応は必要かと思います。
SceneManagement.SceneManager.LoadSceneAsync - Unity スクリプトリファレンス
ものすごくざっくり書いたコードです。
負荷の考慮もしていませんので参考程度に使用してください。
また、以下ページもご確認ください。
https://teratail.com/help/question-tips
C#
1using System.Collections;
2using System.Collections.Generic;
3using UnityEngine;
4using UnityEngine.SceneManagement;
5using UnityEngine.Video;
6
7public class LoadScene : MonoBehaviour {
8
9 private AsyncOperation asyncLoad;
10
11 void Start () {
12 //シーン名は適宜変えてください
13 asyncLoad = SceneManager.LoadSceneAsync("シーン2", LoadSceneMode.Additive);
14 }
15
16 // Update is called once per frame
17 void Update () {
18 //ロードが完了している時に
19 if (asyncLoad.isDone) {
20 //スペースキーが入力されたら
21 if (Input.GetKeyDown(KeyCode.Space))
22 {
23 //シーン2のビデオを再生する(オブジェクト名は適宜変えてください)
24 GameObject.Find ("シーン2のVideoPlayerのオブジェクト名").GetComponent<VideoPlayer> ().Play ();
25 }
26 }
27 }
28}
29
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/26 16:24 編集
2018/06/27 01:28 編集
2018/06/27 05:46
2018/06/27 06:41