c# - 在 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 度视频 - 视频的编号和名称应在运行时提供。
解决方案
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;
}
推荐阅读
- google-tag-manager - gtm 上的函数调用是否可用于向 Clevertap 发送事件?
- python - 通过循环遍历函数名称列表并使它们成为变量,从模块中调用许多 python 函数
- javascript - 如何在反应导航中将函数/方法作为参数传递。导航
- python - 使用具有 500k 行数据的 pandas read_sql 时出现内存错误
- sql - 从汽车列表中提取年份。如何从带有文本和其他数字的字符串中获取四位数字
- javascript - 该元素不会接受 textContent 输入
- php - 我想使用 forEach 或 PHP 中的循环在一个数组中的多个对象中获取特定值
- css - Hexo 无法加载样式表
- python - 使用通用格式将浮点数转换为字符串时如何抑制科学记数法?
- c - C printf func.. 不打印所有字符(printf 或 fileRead 错误)