gpt4 book ai didi

java - 如何对地形和角色进行 3D 碰撞检测?龙王金格

转载 作者:行者123 更新时间:2023-11-30 11:31:28 26 4
gpt4 key购买 nike

我对 3D 碰撞检测有疑问。我将高度图制作为 .bmp 图像,并将其加载到游戏中。然后我有一个 .obj 模型作为我的播放器。但是我如何检查与玩家和地形的碰撞?我在谷歌上搜索了很多,但我找不到。我知道我必须找到法线和东西,但我不是一个真正优秀的程序员,所以我不知道如何找到法线,如果有法线,如何使用它们。有人可以用代码解释一下吗?我正在使用 opengl 绘制地形。

最佳答案

我建议您使用现有的物理游戏引擎。这是因为编写碰撞检测(和碰撞解决)可能非常棘手。特别是在 3D 中。您还需要非常了解三角函数。

如果您不想使用第三方产品并想编写自己的引擎,您的碰撞检测将如下所示:

Contact contact = Engine.getFirstHit(Terrain.getNearestPolygons(player), player);
if (contact.isHit) {
player.move(player.getVelocity().multiply(contact.getMoveAmount()));
contact.resolve();
} else {
player.move(player.getVelocity());
}

Engine.getFirstHit()contact.resolve() 将完成所有工作。您可以查看 Collision Detection 上的引用资料和“另请参阅”部分维基页面。

关于java - 如何对地形和角色进行 3D 碰撞检测?龙王金格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17141944/

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