🐈

AWS S3に保存した動画をUnityで再生するメモ

2022/05/16に公開

はじめに

AWS S3 に保存した動画を、Unity で再生する手順をメモします。

完成イメージ

https://twitter.com/mitsuoka0423/status/1525853893401247744?s=20&t=Qmi9CXcFaBecG0HQj4c8EQ?conversation=none

Unityプロジェクトを作成する

Unity Hub を利用して、新規プロジェクトを作成する。

  • 新しいプロジェクト > 3Dを選択
  • 任意のエディターバージョンを選択(今回は2020.3.26f1を利用)
  • プロジェクト名を入力
  • 保存場所を選択
  • プロジェクトを作成をクリック

Image from Gyazo

作成が終わったら、プロジェクトを開きます。

動画を表示する用のPlaneオブジェクトを追加する

GameObject > 3D Object > Planeを選択する。

Plane:平面、水平面、(結晶体の)面

Image from Gyazo

追加されたPlaneは横に寝ているため、立てる。

Image from Gyazo

Image from Gyazo

PlaneオブジェクトにVideo Playerを追加する

Image from Gyazo

Hierarchy に Video Player が追加される。

Image from Gyazo

C#スクリプトを追加する

Assets > 右クリック > create > C# Script

Image from Gyazo

コードの中身はこちら。
video.urlの値は、再生する動画の URL に置き換える。

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

public class VideoDownloader : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        VideoPlayer video = gameObject.GetComponent<VideoPlayer>();
        video.playOnAwake = false;
        video.waitForFirstFrame = true;
        video.source = VideoSource.Url;
        video.url = "http://unity-video-s3-trial-20220509.s3-website-ap-northeast-1.amazonaws.com/video.mp4";

        video.prepareCompleted += VideoPlayerOnPrepareCompleted;
        video.Prepare();
    }

    private void VideoPlayerOnPrepareCompleted(VideoPlayer source)
    {
        source.Play();
    }
}

動作確認

動いた !

https://twitter.com/mitsuoka0423/status/1525853893401247744?s=20&t=Qmi9CXcFaBecG0HQj4c8EQ?conversation=none

GitHubで編集を提案

Discussion