Threejs缓冲几何体raycast不能命中

3
我正在创建一个细分的平面缓冲几何体以提高性能,但是我的光线投射无法命中PlaneBufferGeometry。
我在控制台中得到了这个错误,我认为这可能是问题所在:
THREE.BufferGeometry.computeBoundingSphere(): 
Computed radius is NaN. The "position" attribute is likely to have NaN values.

我创建缓冲几何体的代码如下:

var geometry = new THREE.PlaneBufferGeometry(maxs['ROW'], maxs['COL'], maxs['ROW'] / 4, maxs['COL'] / 4);

var floor = new THREE.Mesh(geometry, floorMaterial);

floor.rotation.x = -(Math.PI / 2);
floor.position.y = y;

我正在使用npm包中最新版本的ThreeJS。

你们能告诉我我做错了什么吗?由于ThreeJS是被压缩的,所以我无法真正查看代码以找到为什么会出现错误。


зЎ®дїќж‚Ёдј йЂ’з»™THREE.PlaneBufferGeometryзљ„жњЂеђЋ2дёЄеЂјдёєж•ґж•°... parseInt( maxs['ROW'] / 4 ), parseInt( maxs['COL'] / 4 )гЂ‚ - mrdoob
@mrdoob搞定了!奇怪的是,我以为它们已经是整数了。请将您的评论更改为答案,我会标记它为正确的。 - Keith M
1个回答

4

请确保你传递给THREE.PlaneBufferGeometry的最后两个值为整数......parseInt( maxs['ROW'] / 4 ), parseInt( maxs['COL'] / 4 )


parseInt( ... ,10) 更好 - Marcel Falliere

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接