Unity如何同步播放两个视频

时间:2018-08-01 02:36:44

标签: c# unity3d shader

我们正在使用Unity创建差异视频。 我想知道的是同步并复制两种不同类型的视频。

目前,我为右眼准备两部电影,为左眼准备两部电影,然后重复播放。 在这种情况下,两个视频可能未对齐。 代码如下。

df %>% mutate_at(vars(protein, fat), funs(residual(., energy)))
   energy  protein      fat
1    3582 70.27792 46.73896
2    3703 70.60333 46.50843
3    3810 72.33200 49.12606
4    3909 72.24825 48.32835
5    4047 76.23757 55.86791
...

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

public class Movie_Script : MonoBehaviour {
    public MovieTexture movie_l;
    public MovieTexture movie_r;
    public Renderer renderer;
    void Start () {

        renderer = GetComponent<Renderer>();
        movie_l = (MovieTexture)renderer.material.GetTexture("_Movie_L");
        movie_r = (MovieTexture)renderer.material.GetTexture("_Movie_R");

        movie_l.Play();
        movie_r.Play();          
    }
}

还有什么。 并排排列两部电影以制作一部电影,并且在播放时,左右裁剪以获得两个纹理,然后进行设置。 但是,在这种情况下,似乎需要花费一些时间才能将Texture转换为Texture 2D,并且降至约fps = 10(上限约为60)。

1 个答案:

答案 0 :(得分:0)

我有一些同步视频的经验,但是我正在使用 VideoPlayer ,请在播放之前准备videoPlayers。

IEnumerator prepareVideo() {

   videoPlayer1.Prepare();
   videoPlayer2.Prepare();
   while (!videoPlayer1.isPrepared)
   {
       Debug.Log("Preparing Video 1");
       yield return null;
   }
   Debug.Log("Done Video 1");

   while (!videoPlayer2.isPrepared)
   {
       Debug.Log("Preparing Video 2");
       yield return null;
   }
   Debug.Log("Done Video 2");

   videoPlayer1.Play();
   videoPlayer2.Play();
}