「Unityで動画を再生してみる。」の続き。
VideoPlayerのプロパティ
https://docs.unity3d.com/ScriptReference/Video.VideoPlayer.html
VideoPlayerをスクリプトから使う
一時停止ボタン
CustomVPというスクリプトを作ってRawImageにアタッチする。
コードは以下のとおり。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using UnityEngine; using UnityEngine.Video; public class CustomVP : MonoBehaviour{ public VideoClip videoClip; public GameObject screen; void Start(){ var videoPlayer = screen.AddComponent<VideoPlayer>(); // videoPlayeコンポーネントの追加 videoPlayer.source = VideoSource.VideoClip; // 動画ソースの設定 videoPlayer.clip = videoClip; videoPlayer.isLooping = true; // ループの設定 } public void VPControl(){ var videoPlayer = GetComponent<VideoPlayer>(); if(!videoPlayer.isPlaying) // ボタンを押した時の処理 videoPlayer.Play(); // 動画を再生する。 else videoPlayer.Pause(); // 動画を一時停止する。 } } |
RawImage上のCustomVPのVideoClipとScreenに以下のように動画とRawImageをドロップする。
Buttonを追加してOn Click()に以下のように処理を追加する。
これで、実行後にButttonをクリックで動画がPose/Playを繰り返すはずだ。
RawImage上の動画は予期した通りの動作をする。
だが、Plane上の動画は再生しっぱなしになる。
どういう違いか、何が問題かわからない。