在THREE.JS场景中永无止境的地板

时间:2013-05-02 19:20:20

标签: javascript canvas 3d three.js

在我的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 );

对所有技术开放!

1 个答案:

答案 0 :(得分:10)

我在自上而下的比赛中拥有无限的海底。我将它重新定位到相机的xy坐标(与z保持距离)。然后我modify the texture's offset property,这样即使它粘在相机上,地板也会移动。

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