0

Android用の360ビデオプレーヤーアプリに取り組んでいます。タッチモード、ジャイロモード、段ボールモードの3つの再生モードがあります。Cardboard ステレオ レンダラーでジャイロスコープ モードと Cardboard モードを正常に表示できますが、タッチ モードの方向センサーを停止する方法が見つかりませんでした。

通常、私はSensorManagerこの関数を操作してから、アプリケーションのsm.unregisterListener(this, sm.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR));de として機能していたオブジェクトまたはクラスで使用SensorListenerします。問題は、この作業が現在 Google Cardboard コードでネイティブに行われており、センサーの変更がどこで処理されているかを確認できないことです。

したがって、私の質問は次のとおりです。上記の方法以外に、方向センサーを停止する方法はありますか? または、このメソッドを機能させる他の方法はありますか?

ビュー、レンダラー、およびアクティビティで使用しようとしましたが、機能しませんでした。また、Google cardboard api で検索しましたが、何も役に立ちません。これが不可能な場合、異なる再生モードで 2 つの別個のレンダラーと関連付けられたビューを使用することは実行可能ですか? もしそうなら、それらを機能させる方法についてのガイドをいただければ幸いです。

さらに情報が必要な場合は、私に尋ねてください。他にも喜んで説明させていただきます。

4

1 に答える 1

1

クラスの関数に適用ViewMatrixすることで、それを行うためのトリックを見つけました。eyeMatrixonDrawEye()RajawaliCardboardRenderer

@Override
public void onDrawEye(Eye eye) {
    eyeMatrix.setAll(getCurrentCamera().getViewMatrix());
    eyeQuaternion.fromMatrix(eyeMatrix);
    getCurrentCamera().setOrientation(eyeQuaternion);
}
于 2015-09-28T09:00:06.873 に答える