4

我很陌生three.js。在我的项目中,您可以通过一系列带有对象横截面图像的平面。问题是材质不会立即加载,并且上下移动太快会导致某些平面显示为黑色。我需要改变这种行为。有没有办法

  1. 更改一些属性,使平面透明 - 但加载时图像仍应不透明
  2. 或者在加载纹理之前根本不显示/渲染平面?

我完全不确定我是否走在正确的轨道上,我希望更有经验的人可以提出具体的解决方案。

谢谢!

4

1 回答 1

6

不确定您是否已经清除了这个问题,但我通过修改不透明度设置做了一个方便的小功能来解决这个问题,其中的基本设置是:

function loadTexture( path ){

    var mat = new THREE.MeshBasicMaterial({
        map: new THREE.ImageUtils.loadTexture( path, null, function() {
            mat.opacity = 1;
        } ),
        opacity: 0
    });

    return mat;
}
于 2013-07-24T21:26:16.007 回答