添加碰撞检测到渲染功能在threejs中被冻结了

问题描述 投票:0回答:1

我是通过动手实践来学习三js的。在我的场景中,我有一辆车、一条轨道和一栋建筑,我想检测汽车与建筑的碰撞和轨道外的碰撞。我想检测汽车与建筑物的碰撞和轨道外的碰撞。

我看过一些碰撞检测的例子 https:/stemkoski.github.ioThree.jsCollision-Detection.html。 并添加了Stemkoski提供的相同代码。

但是当我尝试在渲染函数中添加该函数时,它使我的电脑速度变慢。

另外,我想检测汽车是否偏离了轨道,以及是否触及建筑物。

任何帮助将是感激的。

下面是完整的代码。

https:/github.comchintuyadavsaracar-game。

谢谢你。

javascript three.js collision-detection game-physics
1个回答
0
投票

你要为汽车的每个顶点投射一条射线,然后计算每个顶点的相交对象;这可能是计算密集型的。

如果你不需要很高的碰撞精度,而且你的车和碰撞对象很适合放在盒子里,你可以使用你的车的边界框,并检查它是否与其他对象的边界框相交,例如建筑物。

请看:https:/threejs.com

https:/threejs.orgdocsindex.html#apienmathBox3。

https:/threejs.orgdocsindex.html#apienmathBox3.setFromObject。

https:/threejs.orgdocsindex.html#apienmathBox3.intersectsBox。

© www.soinside.com 2019 - 2024. All rights reserved.