Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 移除模型内部的地板_Javascript_Three.js - Fatal编程技术网

Javascript 移除模型内部的地板

Javascript 移除模型内部的地板,javascript,three.js,Javascript,Three.js,我正在使用ThreeJS渲染房屋模型。我试着在房子周围种草。问题是,如果草是一个普通的飞机,它会出现在房子里面(见第一张截图),并且不会进入地下室。我曾尝试使用房屋的边界框移除部分地板,但这会在其他模型中导致问题(地板上有洞,请参见屏幕截图)。我需要一些方法来保留外面的草,然后把里面的草移走,但我不知道怎么做 任何帮助都将不胜感激 可以将当前的单个草地平面替换为四个不进入房屋的有界平面 +-----------+ | 1 | +---+---+---+ | 2 | | 3

我正在使用ThreeJS渲染房屋模型。我试着在房子周围种草。问题是,如果草是一个普通的飞机,它会出现在房子里面(见第一张截图),并且不会进入地下室。我曾尝试使用房屋的边界框移除部分地板,但这会在其他模型中导致问题(地板上有洞,请参见屏幕截图)。我需要一些方法来保留外面的草,然后把里面的草移走,但我不知道怎么做


任何帮助都将不胜感激

可以将当前的单个草地平面替换为四个不进入房屋的有界平面

+-----------+
|     1     |
+---+---+---+
| 2 |   | 3 |
+---+---+---+
|     4     |
+-----------+
编辑另一个选项是使用构造实体几何体(CSG):


这正是我在第二个屏幕截图上所做的。正如你所看到的,四个部分是不够的。我访问了这个链接。房子是Object3D的,里面有洞,所以如果我试着从草中减去它,我会把草放在里面。也许你需要沿着垂直方向展平你的房子,然后挤压它,然后使用CSG。你能建议如何沿着垂直轴展平房子吗?我对三点都不熟悉。实际上,只有当建筑中没有草与墙相交的部分悬垂或低垂时,这才有效。但如果是这种情况,则跟踪2D投影的轮廓(截断一个轴的每个位置向量)。