Sphere 未在 Unity 中为 Google Cardboard 渲染

Posted

技术标签:

【中文标题】Sphere 未在 Unity 中为 Google Cardboard 渲染【英文标题】:Sphere not rendering in Unity for Google Cardboard 【发布时间】:2015-07-26 05:34:50 【问题描述】:

我正在关注 this 博客文章,了解如何在 Unity 中实现 360 度视频。最后,我使用ffmpeg 按照建议将视频分割成单独的帧。我还将第一帧设置为每个球体上每种材质的纹理。最终结果是这样的

bad sphere

但最大的问题是,一旦我在手机上构建并运行它或只是播放场景本身,球体就无法渲染。这可能是由于纹理是第一帧造成的吗?还是我犯了其他类型的错误?非常感谢。

【问题讨论】:

球体的UV贴图好像坏了 【参考方案1】:

Unity 中的电影通常被渲染为对象上的纹理。在移动设备上,问题变成设备只想在视频播放器中显示视频,因此不支持 Unity 类 MovieTexture。

我成功地绕过了这个问题,并使用 Unity Asset Store 中的一个名为 Easy Movie Texture 的 Unity 插件成功地在球体内部渲染了 360 度视频。

对于在 Mac 上工作,这是我所做的:

    从 Unity Asset Store 下载 Easy Movie Texture 插件 从 Assets/EasyMovieTexture/Scene 打开 Demo Sphere 演示场景 为您的项目创建一个新的(空)预制件,然后将 Sphere GameObject 从 Demo Sphere 场景拖到预制件上。 重新打开您的 Cardboard 场景并将新的 videosphere 预制件拖到您的层次结构中。 在 Quicktime 中打开您的源 360 度视频 文件 -> 导出 -> 720p 将文件扩展名从“.mov”更改为“.mp4” 将新的 mp4 文件拖到项目 Assets/Streaming Assets 目录中。注意:不要通过菜单系统导入,因为这会强制 Unity 转换为 OGG。 在 videosphere GameObject 的“Media Player Ctrl”脚本组件上,找到“Str_File_Name”字段并提供新导出的视频文件的完整文件名。确保包含扩展名作为字符串“mymovie.mp4”的一部分。

很确定这就是一切。希望它可以帮助其他人解决这个问题。

最后请注意,视频只会在设备上呈现。在编辑器中,您只会在球体上看到白色纹理。您必须发布到设备才能看到精彩的 360 度视频。

【讨论】:

以上是关于Sphere 未在 Unity 中为 Google Cardboard 渲染的主要内容,如果未能解决你的问题,请参考以下文章

如何解决问题:Unity Sphere Collider改变GameObject的方向?

Unity 3D - Sphere Collider 下的“Is Trigger”不允许我的火球/弹丸飞行

Unity 物体跟随鼠标点击移动,判断物体是否在移动

unity反射探针做镜面效果

unity反射探针做镜面效果

unity反射探针做镜面效果