我在使用libGdx呈現模型時遇到問題。
我已經在攪拌機中創建了一個簡單的汽車模型,但是當我在libGdx中渲染它時,它渲染不正確。
這是它看起來在攪拌機(它應該是怎樣看): Blender模型在libGDX中呈現不正確
這是它的外觀在libGdx:
正如你所看到的,輪子都指向錯誤的方向,這是沒有意義的,因爲我根本沒有把它們轉向它們。
它適用於模型中只有1個物體,但是當我添加更多物體(如輪子)時,會發生這種情況。
這裏是我的create()方法:
public void create() {
camera=new PerspectiveCamera(67,800,480);
camera.position.set(0f, 0f, 20f);
camera.lookAt(0f, 0f, 0f);
camera.near=1f;
camera.far=100f;
batch=new ModelBatch();
builder=new ModelBuilder();
UBJsonReader jsonreader=new UBJsonReader();
G3dModelLoader modelloader=new G3dModelLoader(jsonreader);
cubemodel=modelloader.loadModel(Gdx.files.getFileHandle("carmodel.g3db", Files.FileType.Internal));
cube=new ModelInstance(cubemodel,0,0,0);
environment=new Environment();
environment.set(new ColorAttribute(ColorAttribute.AmbientLight,0.65f,0.65f,0.65f,1f));
}
這裏是我的render()方法:
public void render() {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
Gdx.gl20.glEnable(GL20.GL_DEPTH_TEST);
camera.update();
batch.begin(camera);
batch.render(cube, environment);
batch.end();
camera.rotateAround(new Vector3(0f, 0f, 0f), new Vector3(0f, 1f, 0f), 0.5f);
}
這裏是我的模型: carmodel.g3db
如果您需要什麼然後問,我會發布它。
在此先感謝!
您相機的遠近比爲10,000!把它減少到不太容易出錯的地方,比如100。 – Xoppa
@Xoppa已經試過了,它沒有工作。我用了近10和遠1000年 – Paul