这是Rajawali VR例子的链接:
https://github.com/MasDennis/RajawaliVR
我想添加一个功能,用户可以在场景中移动相机,就像反恐精英等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);
}
我认为在我运行程序后它会每两秒向前移动一次,但左侧和右侧之间存在差异。
那么,谁能告诉我如何正确移动相机?
答案 0 :(得分:0)
我遇到了同样的问题,并设法通过修改RajiwaliSideBySideRenderer
课程并使mCameraLeft
和mCameraRight
公开来解决问题,以便能够修改每个人的位置手动
我确定有一个更好的解决方案,而且到目前为止,我试图找到一种方法来强制同时更新两个摄像机,但其中一个被修改,但我&#39 ;我还在试图弄清楚如何。