gpt4 book ai didi

java - libGDX 3D 阴影

转载 作者:搜寻专家 更新时间:2023-10-31 19:55:00 26 4
gpt4 key购买 nike

我正在使用 libGDX,这是一个桌面项目。

我有 2 个模型,一个是角色,另一个是 map ,如下图所示:

enter image description here

我的问题是:

如何将角色的影子转换到地板上?

如您所见,角色没有阴影,因此没有环境光。我必须使用什么或如何实现?我应该伪造阴影还是有真正的方法来转换阴影?

欢迎提出任何意见或建议。

最佳答案

您可以使用以下代码:

Environment environment;
DirectionalShadowLight shadowLight;

@Override
public void show() {
modelBatch = new ModelBatch();
environment = new Environment();
environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 1.0f, 1f, .6f, 1f));
environment.add((shadowLight = new DirectionalShadowLight(1024, 1024, 60f, 60f, .1f, 50f))
.set(1f, 1f, 1f, 40.0f, -35f, -35f));
environment.shadowMap = shadowLight;

shadowBatch = new ModelBatch(new DepthShaderProvider());
}

@Override
public void render(float delta) {
//create shadow texture
shadowLight.begin(Vector3.Zero, camera.direction);
shadowBatch.begin(shadowLight.getCamera());

shadowBatch.render(instances);

shadowBatch.end();
shadowLight.end();

//render scene
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);


modelBatch.begin(cam);
modelBatch.render(instances, environment); //environment has shadowMap!
modelBatch.end();
}

关于java - libGDX 3D 阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25196902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com