1

こんにちは、QCAR & JPCT-AE でアプリを作成しています。誰かが私のソースコードを見てアドバイスをくれますか? もしよろしければ、私のソースコードをお送りします。私のメールアドレスはlyhdra99@gmail.comです。

助けてください^^


最初

  1. JNI から JAVA に modelViewMatrix(QCAR::Matrix44F) を送信 ex) JNIEXPORT jfloatArray JNICALL Java_jp_may_com_VirtualButtonsRenderer_getNowMatrix(JNIEnv* env, jobject obj)
  2. 以下のようにこのモデルViewMatrixを使用します

public class VirtualButtonsRenderer implements GLSurfaceView.Renderer {


    public VirtualButtonsRenderer(Activity act) {
        Config.maxAnimationSubSequences = 999;
        // TODO Auto-generated constructor stub
        this.act = act;
        _Object3D = Loader.loadMD2(act.getResources().openRawResource(R.raw.tris), 1.0f);
        _Object3D.setName("MyTarget");
    }

    public native float[] getNowMatrix();

    public void onSurfaceCreated(GL10 gl, EGLConfig config) {

        initRendering();
        QCAR.onSurfaceCreated();
        world = new World();
        world.setAmbientLight(20, 20, 20);
        TextureManager tm = TextureManager.getInstance();
        com.threed.jpct.Texture Cover = new com.threed.jpct.Texture(BitmapFactory.decodeStream(act.getResources().openRawResource(R.raw.skin)));
        tm.addTexture("Cover", Cover);          
        _Object3D.setTexture("Cover");
        world.addObject(_Object3D);
        world.buildAllObjects();
        sun = new Light(world);
        sun.setIntensity(250, 250, 250);        
        Camera cam = world.getCamera();
        cam.moveCamera(Camera.CAMERA_MOVEOUT, 100);
        cam.lookAt(_Object3D.getTransformedCenter());           
        SimpleVector sv = new SimpleVector();
        sv.set(_Object3D.getTransformedCenter());
        sv.x -= 300;
        sv.z -= 0;
        sun.setPosition(sv);
        MemoryHelper.compact(); 

    }

    public void onDrawFrame(GL10 gl) {
        if (!mIsActive)
            return;
        if (renderFrame()) {
            Matrix NowMatrix = new Matrix();
            NowMatrix.fillDump(getNowMatrix());
            world.getCamera().setBack(NowMatrix);
            world.renderScene(fb);          
            world.draw(fb);     
            fb.display();
            return;
        } else {
            mIsTouch = false;
        }
    }

}

ここで、問題が発生しました。Object3D は、modelViewMatrix を使用してマーカー上で Teapot(QCAR Sample Object) のように移動できると思いました。しかし、それはできませんでした。

これは私の問題です^^;;

4

1 に答える 1