VideoPlayerで動画を再生する
VideoPlayerコンポーネントを使うと簡単に再生できる
https://docs.unity3d.com/ja/2020.2/ScriptReference/Video.VideoPlayer.html
RenderModeで、Rendererが持っているMaterialを上書きしたり、RenderTextureに書き込んだりできる
VideoClip自体はメモリを食わないがVideoPlayerに渡すとメモリを食う(RenderTextureがメモリを食う)
code:foo.cs
public UniTaskVoid CreateAsync(string url)
{
var go = new GameObject("video");
var videoPlayer = go.AddComponent<VideoPlayer>();
var renderTexture = new RenderTexture(TextureSize, TextureSize, 0);
videoPlayer.renderMode = VideoRenderMode.RenderTexture;
videoPlayer.targetTexture = renderTexture;
videoPlayer.url = url;
// VideoClipを使う場合はこっち
// videoPlayer.clip = clip
videoPlayer.isLooping = true;
// videoPlayer.SetDirectAudioMute(0, true);
videoPlayer.Prepare();
while (!videoPlayer.isPrepared) await UniTask.Yield();
videoPlayer.Play();
}
#VideoPlayer