我正在使用 Three.js 开发体素游戏。为此,我需要生成填充屏幕所需的尽可能多的块。目前,我正在围绕玩家加载一个半径为 20 的圆。
计算填充相机视锥体所需的块的精确范围并避免计算不可见块的最简单方法是什么?
每个块都有完全相同的大小(假设我们有一个向量size
具有正确的值),并且位于 Y=0(X 和 Z 变化)。
var frustum = new THREE.Frustum();
frustum.setFromMatrix( new THREE.Matrix4().multiply( camera.projectionMatrix, camera.matrixWorldInverse ) );
for (var i=0; i<objects.length; i++) {
objects[i].visible = frustum.intersectsObject( objects[i] );
}
仅渲染相机视锥体内的对象
有记录的here
希望这对你有帮助吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)