Rao*_*Rao 7 unity-game-engine google-cardboard virtual-reality
我刚刚下载了Google Cardboard SDK以实现统一.我很好,能够创建VR项目.安装很好,一切正常.
我是VR Apps的诺布.刚刚介入VR应用程序.
我正计划为Android创建我自己的VR Enabled Video Player,就像默认的Google Cardboard Youtube播放器一样.
任何人都可以建议我链接或指导我开发此应用程序.
小智 11
Scott Driscoll的回答完全有效.我有一些初步的问题让Easy Movie Texture Unity插件为我工作,但最终想通了,它完美无缺.我现在在iPhone 6上的球体内部运行360视频作为纹理.我不得不说,我不认为它会发生.
在Mac上工作,这就是我所做的:
很确定这就是一切.希望它可以帮助其他人坚持这个问题.谢谢Scott Driscoll!
最后一点,您只能在手机上观看视频,而不能在编辑器中预览.如果它不能以这种方式工作会更好,但实际上一旦分辨率和放置的初始问题得到解决,我不需要每次在编辑器中运行场景时都能看到视频.
以下是我们如何执行此操作的主要步骤:
详细信息:http://immersivetechblog.foundry45.com/2015/07/31/implementing-360-video-in-unity-for-gear-vr-and-cardboard/
小智 1
我无法帮助您使用 Unity,但在 java 中,您可以使用 OpenGL-ES 创建纹理:
private static int GL_TEXTURE_EXTERNAL_OES = 0x8D65;
....
GLES20.glGenTextures(1, textureHandle, 0);
GLES20.glBindTexture(GL_TEXTURE_EXTERNAL_OES, textureHandle[0]);
Run Code Online (Sandbox Code Playgroud)
用它来创建表面纹理和表面:
SurfaceTexture surfaceTexture = new SurfaceTexture(textureHandle[0]);
Surface surface = new Surface(surfaceTexture);
Run Code Online (Sandbox Code Playgroud)
然后将该表面传递给 android.media.MediaPlayer:
MediaPlayer mediaPlayer = new MediaPlayer(getContext(), uriToMyMediaFile, surface);
Run Code Online (Sandbox Code Playgroud)
将该纹理绑定到场景中的一个正方形,并在每一帧调用它:
surfaceTexture.updateTexImage()
Run Code Online (Sandbox Code Playgroud)
当您调用 mediaPlayer.start(); 时,视频就会播放;
如果 Unity 允许您编写自己的 java 代码在后台运行,那么当您将该纹理绑定到 Unity 的表面时,这应该可以工作。
如果您有无法使用 mediaPlayer 播放的视频流(例如实时视频聊天等),您也可以将 Surface 与 android.media.MediaCodec 一起使用,但涉及更多设置工作。
归档时间: |
|
查看次数: |
32309 次 |
最近记录: |