【问题标题】:build oculus 360 video player in unity统一构建 oculus 360 视频播放器
【发布时间】:2016-10-27 17:21:54
【问题描述】:
我正在尝试为 Unity 中的 Oculus Rift 构建一个非常简单的 360 度视频播放器。
我有一个 360 度视频 .mp4 文件(已在第三方 Oculus 360 视频播放器中成功播放,所以我知道 Oculus 可以处理视频的质量)。
我想在里面制作一个带有摄像头的球体,并在应用启动时播放视频。很简单。但是遇到很多麻烦。非常感谢任何帮助。
我已将视频引入并尝试将其添加到 Skybox 材料中,但没有成功。当然,我也尝试将视频简单地设置为球体的材料,但这也没有奏效。我想这相对容易,但遇到了很多麻烦......
【问题讨论】:
标签:
unity3d
virtual-reality
oculus
video-player
【解决方案1】:
你可能会走构建球体的道路;将 MeshRenderer 应用于球体;将材质应用到材质附加了着色器的 MeshRenderer;然后将构建附加的着色器以允许反射到内部。 Jonathan Linowes 的“Unity Virtual Reality Projects”一书对此进行了解释。它有效。
如果视频纹理在一个方向上大于 4096 像素,您可能会遇到问题。 Unity 有这个限制。您必须考虑的另一点是,您用于在 Unity 中绘制的纹理必须与视频兼容——例如 BGRA(视频)到 RGBA(统一)。
所有这一切都可以通过编写自己的 DLL 来处理,例如通过 DirectX 将视频应用到 Unity 纹理。 Unity 提供了编写 C++ DLL 的示例,通过 DirectX 或 OpenGL 写入 Unity 纹理。这不是一个简单的步骤——但非常可行。