0

3Dオブジェクトをロードするアプリケーションを作成しようとしています。

このオブジェクト(http://rgcouto.net/alexandre/COKE/fineObj/)をロードすると、すべて正常に動作します。スクリーンショット:http://rgcouto.net/alexandre/COKE/Screenshot_2013-01-10-15-04-42.png

しかし、blenderからエクスポートされたオブジェクト(http://rgcouto.net/alexandre/COKE/myObj/)をロードしようとすると、テクスチャが表示されず、オブジェクトが暗くなります。スクリーンショット:http: //rgcouto.net /alexandre/COKE/Screenshot_2013-01-10-15-02-27.png

私は何を間違えましたか?オブジェクトをテクスチャで表示するには、何をする必要がありますか?

私のブレンドファイル:http://rgcouto.net/alexandre/COKE/blend/

私のレンダラー:

public class ObjRenderer extends RajawaliRenderer {
    private static final String TAG = "renderer";
    private BaseObject3D mObjectGroup;
    Number3D mAccValues;

    public ObjRenderer(Context context) {
        super(context);
        setFrameRate(60);
        mAccValues = new Number3D();

}

protected void initScene() {

    // mLight = new DirectionalLight(1, -1, 1);
    // mLight.setPower(.9f);
    DirectionalLight light = new DirectionalLight(0, 0, 1);
    light.setPower(1);

    // light.setPosition(0, 20, -20);
    // light.setLookAt(0, 0, 0);

    mCamera.setPosition(0, 0, -14);
    mCamera.setLookAt(0, 0, 0);

    ObjParser objParser = new ObjParser(mContext.getResources(),
            mTextureManager, R.raw.camaro_obj);
    objParser.parse();
    mObjectGroup = objParser.getParsedObject();
    Log.d(TAG, "carreguei");
    DiffuseMaterial material = new DiffuseMaterial();
    material.setUseColor(true);
    mObjectGroup.setMaterial(material);
    mObjectGroup.addLight(light);

    // mObjectGroup.setScale(3);
    addChild(mObjectGroup);

    // mCameraAnim = new RotateAnimation3D(Axis.Y, 360);
    // mCameraAnim.setDuration(8000);
    // mCameraAnim.setRepeatCount(Animation3D.INFINITE);
    // mCameraAnim.setTransformable3D(mObjectGroup);
}

public void onSurfaceCreated(GL10 gl, EGLConfig config) {
    super.onSurfaceCreated(gl, config);
    // mCameraAnim.start();
}

public void onDrawFrame(GL10 glUnused) {
    super.onDrawFrame(glUnused);
    mObjectGroup.setRotY(mObjectGroup.getRotY() + 1);
    // mObjectGroup.setRotation(mAccValues.y, mAccValues.x, mAccValues.z);
}}

よろしくアレックス

4

2 に答える 2

1

マテリアル/オブジェクトに色またはテクスチャを追加する必要があります。ここを参照してください:http ://www.rozengain.com/blog/2011/12/05/rajawali-tutorial-3-materials/

これ以上お話しするには、OBJテキストを確認する必要があります。

乾杯

于 2013-01-21T17:09:40.670 に答える
1

オブジェクトを描画する前にテクスチャをバインドしますか?

多くのGPUでは、ここですでに説明したように、テクスチャは2の累乗でなければなりません。

OpenGL、シェーダーモデル3.3テクスチャリング:黒いテクスチャ?

2の累乗のテクスチャを使用しない場合の効果は、経験しているものであり、黒でレンダリングされたテクスチャです。

于 2013-01-22T08:38:07.007 に答える