ゲームの中で動画再生する方法

投稿者: | 2020-01-29


Planeの表面などで動画再生してみます。

PlaneオブジェクトにVideo Playerコンポーネントを追加します。

Render ModeをMaterial Overrideにします。

Video Clipに動画のアセットをドラッグアンドドロップします。

無料の動画素材サイトなどから動画を入手して、Import New Asset…からUnityにインポートしています。

Play On Awakeにチェックが入っていると、ゲームが始まった時に、冒頭のようにPlaneの表面に動画が再生されます。

Render ModeをCamera Far Planeに変えて、CameraにFPSコントローラのカメラのついた頭のオブジェクトをアタッチしてみます。

すると、カメラの遠面に動画が表示されました。

動画の再生・停止をスクリプトで制御する

PlaneのPlay On Awakeのチェックを外し、Render ModeをMaterial Overrideに戻しました。

Planeに新規スクリプトを追加します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;

public class VideoScript : MonoBehaviour
{
    VideoPlayer video;
    // Start is called before the first frame update
    void Start()
    {
        video = GetComponent<VideoPlayer>(); 
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetKeyDown(KeyCode.E))
        {
            if(video.isPlaying)
            {
                video.Pause(); // 動画を停止
            }
            else
            {
                video.Play(); // 動画を再生
            }           
        }
    }
}

再生中かどうかは、isPlayingの値でわかります。それがtrueのときはPause()で停止、FalseのときはPlay()で再生します。

これでEキーを押すと、動画の再生・停止ができるようになります。

コメントを残す

メールアドレスが公開されることはありません。