1

我在three.js中制作了类似地下停车场的东西我已经在搅拌机中制作了它并且渲染没问题。问题出在地板上=)

我有 2 种不同的纹理:

  • 漫反射纹理 jpg 没有透明度(沥青)
  • 带 alpha 的漫反射纹理 png(仅限停车标记,如带箭头的出口、停车线等)

所以我已经从搅拌机中导出了网格,并且我有这些材质设置:

{
    "DbgColor" : 15658734,
    "DbgIndex" : 0,
    "DbgName" : "wire_006135006.002",
    "blending" : "AdditiveBlending",
    "depthTest" : true,
    "depthWrite" : false,
    "colorAmbient" : [1.0, 1.0, 1.0],
    "colorDiffuse" : [1.0, 1.0, 1.0],
    "colorSpecular" : [0.5, 0.5, 0.5],
    "mapDiffuse" : "test.png",
    "mapDiffuseWrap" : ["repeat", "repeat"],
    "shading" : "Phong",
    "alphaTest" : 0.5,
    "opacity" : 0.5,
    "transparency" : 0.5,
    "transparent" : true,
    "vertexColors" : false
},

{
        "DbgColor" : 15597568,
    "DbgIndex" : 1,
    "DbgName" : "wire_006135006.001",
    "blending" : "NormalBlending",
    "colorAmbient" : [0.6839832884666812, 0.6807164770471523, 0.6709177117186442],
    "colorDiffuse" : [0.6839832884666812, 0.6807164770471523, 0.6709177117186442],
    "colorSpecular" : [0.0, 0.0, 0.0],
    "depthTest" : true,
    "depthWrite" : true,
    "mapBump" : "asfalt_specular.jpg",
    "mapBumpWrap" : ["repeat", "repeat"],
    "mapDiffuse" : "floor_2.jpg",
    "mapDiffuseWrap" : ["repeat", "repeat"],
    "shading" : "Phong",
    "specularCoef" : 1,
    "transparency" : 1.0,
    "transparent" : false,
        "vertexColors" : false
},

对于第一种材料,我已经更改了下一个属性:

  1. “透明”:是的,
  2. “alphaTest”:0.5,
  3. “透明度”:0.5,
  4. “深度写”:假,

所以我不明白,wtf是我的带有alpha的png没有显示......

只有黑色纹理或透明,但我看不到白色标记。

请帮助我,如何设置我的 png alpha 透明度?我已经尝试了很多例子并且没有运气(

4

1 回答 1

0

问题出在我用作纹理的图像中。原始图像的尺寸如下:1999 × 7141。显然,出于某种未知原因,three.js 无法使用如此出色的纹理。我已将尺寸减小到 1000 × 3572,现在可以了。

于 2013-07-02T19:02:24.303 回答