広告
広告

uGUI 上で video player を使って動画を再生する

カテゴリ:unity

Unity 2017.1.1 の時点では UI 要素に video player をつけただけでは動画を再生できない. video player のテクスチャを Raw Image にコピーするコードが必要になる.

手順

  1. 適当なカンバスに Raw Image を作る
  2. その Raw Image に video player をつける
  3. video player の video clip に動画をセットする
  4. Audio Source を Raw Image のオブジェクトにつける
  5. 下記のスクリプトを Raw Image のオブジェクトにつける
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;

[RequireComponent(typeof(RawImage), typeof(VideoPlayer), typeof(AudioSource))]
public class VideoPlayerOnUGUI : MonoBehaviour {
    RawImage image;
    VideoPlayer player;
    void Awake() {
        image = GetComponent<RawImage>();
        player = GetComponent<VideoPlayer>();
        var source = GetComponent<AudioSource>();
        player.EnableAudioTrack(0, true);
        player.SetTargetAudioSource(0, source);
    }
    void Update() {
        if (player.isPrepared) {
            image.texture = player.texture;
        }
    }
}

広告
広告