2

これは、Rajawali VR の例のリンクです。

https://github.com/MasDennis/RajawaliVR

Counter-Strike などの FPS ゲームのように、シーン内でユーザーがカメラを動かせる機能を追加したいと考えています。

そこで、RajawaliVRExampleActivity の onCreate メソッドに次のコードを記述します。

/**this is the method*/ 
@Override
public void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN
                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
            WindowManager.LayoutParams.FLAG_FULLSCREEN
                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

    super.onCreate(savedInstanceState);

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);


    mRenderer = new RajawaliVRExampleRenderer(this);
    mRenderer.setSurfaceView(mSurfaceView);
    setRenderer(mRenderer);

    /**this is what I write*/
    final Handler handler = new Handler();
    Runnable runnable = new Runnable() {
        int i = 1;
        @Override
        public void run() {
            mRenderer.getCurrentCamera().setZ(i--);
            Log.i("i = ", ""+i);
            handler.postDelayed(this,2000);
        }
    };
    handler.postDelayed(runnable,2000);
}

プログラムを実行すると2秒ごとに進むと思いますが、左側と右側に違いがあります。

では、カメラを正しく動かす方法を誰が教えてくれますか?

4

1 に答える 1

0

私は同じ問題を抱えていましたが、それぞれの位置を手動で変更できるように、RajiwaliSideBySideRendererクラスを変更しmCameraLeftて公開することで問題を解決できました。mCameraRight

より良い解決策があると確信しており、現在、カメラの1つが変更されたときに両方のカメラを同時に強制的に更新する方法を見つけようとしていますが、まだ方法を見つけようとしています.

于 2015-02-27T09:55:20.870 に答える