8

在我的 canvas three.js 场景中创建一个全方位连续地板的最佳方式是什么?

将 THREE.PlaneGeometry 附加到相机位置会更好,以便它与相机一起移动。

或者是否有另一种使用纹理对场景地板进行纹理处理的方法。

我的 PlaneGeometry 的可见性有些问题,出于某种原因,我必须与它保持一定距离才能看到它。

/* Floor  */    
var geometry = new THREE.PlaneGeometry( 1000, 1000, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x0000ff } );
var floor = new THREE.Mesh( geometry, material );
floor.material.side = THREE.DoubleSide;
floor.rotation.x = de2ra(90);
scene.add( floor );

对所有技术开放!

4

1 回答 1

11

在我的自上而下的游戏中,我有一个无限的海底。我将它重新定位到相机的 xy 坐标(与 z 保持距离)。然后我修改纹理的offset属性,使它看起来地板在移动,即使它粘在相机上。

关于“我的 PlaneGeometry 的可见性问题”,您可能会碰到相机的近或远投影平面(距离) - 任何比剪裁更近near或更远的东西far,即剔除,即不可见。您可以在相机的构造函数中配置它。

于 2013-05-03T06:15:43.700 回答