Unity用のGoogle Cardboard SDKをダウンロードしました。私は元気でVRプロジェクトを作成できます。セットアップは問題なく、すべてが正常に機能しています。
VRアプリの初心者です。 VRアプリに足を踏み入れたところです。
デフォルトのGoogle Cardboard Youtubeプレーヤーと同様に、Android用の独自のVR対応ビデオプレーヤーを作成する予定です。
誰でも私にリンクを提案したり、このアプリの開発を案内してくれますか?.
Scott Driscollの答えは完全に機能します。 Easy Movie Texture Unityプラグインを機能させるためにいくつかの初期の問題がありましたが、最終的にそれを理解し、問題なく動作しました。これで、iPhone 6の球の内側のテクスチャとして360ビデオが実行されるようになりました。そうなるとは思いませんでした。
Macで作業するために、私がしたことは次のとおりです。
それがすべてだと確信しています。それが他の人々がこの問題に固執しているのを助けることを願っています。スコット・ドリスコール、ありがとう!
最後に、エディタでのプレビューではなく、電話でのみビデオを表示できます。この方法でうまくいかなかった方がいいでしょうが、実際に解像度と配置の最初の問題が解決されたら、エディターでシーンを実行するたびにビデオを見る必要はありません。
これを行うための主な手順は次のとおりです。
上記の回答を確認しましたが、すべてにEasy Movie Texture Unityプラグインが必要であるか、コード化する必要があります。これには、資産を購入したり、コード化したりする必要のない別の簡単な解決策もあります。 Oculusは、ビルド済みの無料サンプルフレームワークを提供しており、問題なく使用できます。以下のソリューションは、Unity用のフォトビューアとビデオビューアの両方を作成する方法を示しています。
360度PhotoViewerの作成:
360度MoviePlayerの作成:
*デバイスで再生するには、ビルド設定に移動し、目的のプラットフォームを選択してすべてのシーンを削除し、[開いているシーンを追加]をクリックし、[プレーヤーの設定]の下の他の設定でサポートされているバーチャルリアリティをクリックします。 Androidの電話で再生するには、上記のようにGoogleVR SDKをダウンロードしてアセットフォルダーに入れ、アセットフォルダーでGVRViewerMainを見つけてシーンに入れ、チェックを外す必要があります。上記で行ったサポートされているバーチャルリアリティデバイスですべてをビルドして実行します(Unityで[play]を押すと、ゲームモードでビューを表示できるはずです)。それぞれのギアでビデオを表示できるはずです。 。
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]);
これを使用して、表面テクスチャと表面を作成します。
SurfaceTexture surfaceTexture = new SurfaceTexture(textureHandle[0]);
Surface surface = new Surface(surfaceTexture);
そして、そのサーフェスをAndroid.media.MediaPlayerに渡します。
MediaPlayer mediaPlayer = new MediaPlayer(getContext(), uriToMyMediaFile, surface);
そのテクスチャをシーンの正方形にバインドし、これをフレームごとに呼び出します。
surfaceTexture.updateTexImage()
そして、mediaPlayer.start();を呼び出すとビデオが再生されます。
Unityが独自のJavaコードをバックグラウンドで実行するように記述できる場合、これはUnityからそのテクスチャをサーフェスにバインドする場合に機能します。
MediaPlayerで再生できないビデオストリームがある場合(ライブビデオチャットなど)、サーフェスをAndroid.media.MediaCodecでも使用できますが、多くの設定作業が含まれます。
これはUnity 5.6以降で非常に簡単になりました。
唯一の欠点は、デフォルトではモノスコピック画像/ビデオのみを再生することであり、ステレオスコピック画像/ビデオを実行するには、微調整が必要です。