【问题标题】:Never-ending floor in THREE.JS sceneTHREE.JS 场景中永无止境的楼层
【发布时间】:2013-04-27 02:22:09
【问题描述】:

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

对所有技术开放!

【问题讨论】:

  • 如果它没有纹理,我只会将它附加到相机上

标签: javascript canvas 3d three.js


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多