我面临一些渲染问题。试图建立一个2d平台游戏,我的计划是创建与搅拌机的演员。我是新手,搅拌机和libgdx,不知道错误在哪里。
在《搅拌机》中,演员看起来很好。由libgdx渲染,我只看到奇怪的形式,根本不像我的演员。
-----编辑好,我缩小了问题的范围。在blender中,我创建了一个简单的立方体。在我的libgdx应用程序中,如果只渲染多维数据集而不渲染其他内容,则可以很好地渲染此多维数据集。如果我之前渲染了其他(2d)元素,并且我认为我在那里做了一些错误的事情,那么问题就会出现。
也许吧,因为我有两个摄像头?立方体的透视摄影机,其余部分的正交摄影机。。
立方体在此处呈现:
@重写公共void render(){//System.out.println(“render”);如果(正在加载
Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
modelBatch.begin(cam);
modelBatch.render(instances, environment);
modelBatch.end();
}
我的主类也有一个render方法。从那里,立方体渲染被称为:
@Override
public void render() {
this.handleInput();
//this.handleContacts();
this.moveCamera();
GL10 gl = Gdx.graphics.getGL10();
// Camera --------------------- /
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
gl.glViewport((int) glViewport.x, (int) glViewport.y,
(int) glViewport.width, (int) glViewport.height);
//tiledMapCam.zoom = 1f;
tiledMapCam.update();
tiledMapCam.apply(gl);
// background
tileRenderer.setView(tiledMapCam);
tileRenderer.render();
batch.setProjectionMatrix(tiledMapCam.combined);
batch.begin();
for (Ball b : balls)
b.render();
for (Rock r : rocks)
r.render();
player.render();
spieler3d.render();
batch.end();
// Box2d
physics.step();
updateObjects();
physics.debugRenderer.render(physics.world, tiledMapCam.combined);
}
-----结束编辑
我试图改编libgdx中的一个示例来渲染演员。这是斯皮尔3D课。
public class Spieler3d implements IObject {
AssetManager assets;
PerspectiveCamera camera;
ModelInstance instance;
ModelBatch modelBatch;
SpriteBatch spriteBatch;
@Override
public void create() {
camera = new PerspectiveCamera(67, Gdx.graphics.getWidth(),
Gdx.graphics.getHeight());
camera.position.set(1,1,1);
camera.lookAt(0,0,0);
camera.near = 1;
camera.far = 100;
camera.update();
assets = new AssetManager();
assets.load("models/person_animated.g3dj", Model.class);
spriteBatch = new SpriteBatch();
modelBatch = new ModelBatch();
// assets.getLogger().setLevel(Logger.DEBUG);
}
private void doneLoading() {
instance = new ModelInstance(assets.get("models/person_animated.g3dj",
Model.class));
}
float counter;
@Override
public void render() {
if ((instance != null)
&& ((counter += Gdx.graphics.getDeltaTime()) >= 1f)) {
counter = 0f;
instance = null;
assets.unload("models/person_animated.g3dj");
assets.load("models/person_animated.g3dj", Model.class);
assets.finishLoading();
}
Gdx.gl.glClearColor(0.2f, 0.2f, 0.2f, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
Gdx.gl.glEnable(GL20.GL_DEPTH_TEST);
if (assets.update()) {
doneLoading();
}
if (instance != null) {
modelBatch.begin(camera);
modelBatch.render(instance);
modelBatch.end();
}
}
@Override
public void dispose() {
assets.dispose();
modelBatch.dispose();
spriteBatch.dispose();
}
@Override
public void resize(int width, int height) {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
@Override
public void setPosition(float x2, float y2) {
// TODO Auto-generated method stub
}
@Override
public float getWidth() {
// TODO Auto-generated method stub
return 0;
}
@Override
public float getHeight() {
// TODO Auto-generated method stub
return 0;
}
@Override
public float getX() {
// TODO Auto-generated method stub
return 0;
}
@Override
public float getY() {
// TODO Auto-generated method stub
return 0;
}
}
在创建模型的实例之前,您看起来并不是在解析模型。
JsonModelLoader loader = new JsonModelLoader();
model = new Model(loader.parseModel(Gdx.files.internal("models/person_animated.g3dj", null));
instance = new ModelInstance(model);
来源:http://www.badlogicgames.com/wordpress/?p=2967
我目前正在libgdx中试验不同的相机(使用ShapeRenderer)。然而,我发现在某些旋转时,它会停止渲染形状的部分。 例如,带有相机的正常形状 位置:(8.999996,7.699995,5.599995) 方向: (0.04838332,-0.60004705,-0.7576189): 但是,对于相机位置:(8.999996,7.699995,5.0999956)方向:(0.678907
问题内容: 我有一个使用FitViewport的尺寸为800x480的游戏世界,最初使用像素来渲染box2d物体+固定装置,因此所有物理效果看起来都是漂浮而缓慢的。通过查看文档,我发现box2d使用度量单位,因此我将box2d的位置和大小转换为32倍,因此最终得到了25x15米的box2d世界。 我遇到的问题是,现在box2d对象变得非常小。如何缩小它们,使它们在屏幕上显示常规尺寸? 问题答案:
当项目的父POM由于其子级而使用打包模式POM时,是否可以使用Spring Boots Maven插件命令? 我有一个多模块maven项目,它有一个“主”POM,它是Spring Boot父模块的子模块。看起来像这样: 这基本上是我们的“主人”POM,每个孩子都用它作为父母。现在我们要从这个“master”POM所在的工作目录中执行命令。问题是,这会生成一个,这是奇怪的,因为module1(这个类
我有两个VBO,我试图渲染,它们在屏幕上应该有两个不同的位置。当我试图修改其中一个VBO的位置时,它会被转移到另一个VBOs。 示例-我更改了对象2的y位置,对象1和对象2现在都存在于该y位置。 我用于转换VBO的代码: 请注意位置,旋转,缩放都是Vector3fs,modelMatrix是well,模型矩阵。 此外,这是一个工具包。degToRad类似于数学。toRadians()类型的方法。
6.1 渲染模板 一旦你拥有一个模版文件,你可以通过给一个map来给它传递数据。 map是一个变量及赋予的值的集合,模板使用它来得到变量的值,或者对于块标签求值。 它的渲染函数有一个可选的变量键值对map 通过 ctx.Render() 方法来渲染模板,例如: func (r *Render) Serve(ctx *faygo.Context) error { return ctx.Ren
我在android上使用libgdx时遇到字体问题。当我第一次打开应用程序时,它们工作得很好。但是,当我暂停应用程序然后继续时,字体呈现不正确。 下面是我如何创建字体的。 我的暂停/恢复方法中没有任何内容,不确定是否应该有什么内容。 这是它之前/之后的样子。