我正在使用 raycaster 查看我是否用鼠标(或触摸)击中了一个网格物体很薄,我可以增加任何可以与射线相交的大小。与游戏对象一样,(使用 three.js)我可以添加自己的碰撞网格,它显然不会渲染,但会触发射线吗?
因此,当我的光线击中与原始网格关联的(不可见的)粉红色圆柱体时,它会触发相交。
我不能简单地制作另一个与原始网格分组的网格并使其可见 = false;或不透明度 = 0;那行不通。我正在寻找“内置”的东西(如果存在)
非常感谢
最佳答案
您想在场景中添加一个响应光线转换但不渲染的碰撞网格。
为此,将您的碰撞网格添加为您的网格的子项,并将碰撞网格的 Material 的可见性设置为 false。
collisionMeshMaterial = new THREE.MeshBasicMaterial( {
visible: false
} );
碰撞网格不会渲染,但会响应光线转换。
three.js r.74
关于javascript - JSONLoader 光线转换器和碰撞网格 - three.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35820967/