首页 > 解决方案 > 在 Unity 中播放一系列 360 度视频

问题描述

我希望通过 C# 脚本在 Unity 中播放一系列 360 度视频。每个视频都有相应的持续时间相同的音频(使用 Ffmpeg 提取)并且应该与视频同步播放。我还想在每个视频之间显示一个持续时间为 1 秒的灰屏。

我尝试了 stackoverflow 中提供的类似脚本(稍作修改),可以按顺序播放普通视频。该脚本使用画布上的 RawImage 来渲染视频。我正在尝试将其修改为 Sphere 而不是 RawImage,然后在球体上使用 Flipverticals 着色器并将 360 视频渲染到球体。不确定这种方法。

// Raw Image to Show Video Images [Assign from the Editor]
public RawImage image;
public List<VideoClip> videoClipList;
private List<VideoPlayer> videoPlayerList;
private int videoIndex = 0;

// Assign the Texture from Video to RawImage to be displayed
image.texture = videoPlayerList[videoIndex].texture;

我希望能够播放一系列 360 度视频 - 视频的编号和名称应在运行时提供。

标签: c#unity3d

解决方案


    private GameObject textureObj; // Your sphere with a MeshRenderer
    private Texture2D storeTexture; // Just a texture from assets thats use to transport the stream
    private Renderer textureRenderer;

    private void Start() {
        this.storeTexture = videoPlayerList[videoIndex].texture;

        this.textureRenderer = this.textureObj.GetComponent<Renderer>();
        this.textureRenderer.material.mainTexture = this.storeTexture;
    }

推荐阅读