出现网格穿透的情况通常是由于网格的位置不正确所引起的。可以尝试调整 mesh 的位置,确保其位于正常的高度上。
例如,如果使用 gltf 文件导入网格,可以使用 scene.createDefaultEnvironment() 创建一个基本的环境和地面,然后使用 BABYLON.SceneLoader.ImportMesh() 函数导入并设置网格的位置:
// 创建场景
var scene = new BABYLON.Scene(engine);
// 创建环境和地面
scene.createDefaultEnvironment();
// 导入网格
BABYLON.SceneLoader.ImportMesh("mesh", "path/to/mesh/", "mesh.gltf", scene, function (newMeshes) {
// 设置网格位置
newMeshes[0].position = new BABYLON.Vector3(0, 1, 0);
});