3d-tiles transparent texture issue

i everyone

The transparent texture doesn’t work for models in 3d-tiles

The problem is shown below:

As the figure shows, the tree model is created by two background-transparent pictures, the texture is transparent for the background scene,

but it is not transparent for the building models in 3d-tiles.

Any help is appreciated.

Chris

Hi Chris,

Have you pulled from the 3d-tiles branch recently? We merged some code here: https://github.com/AnalyticalGraphicsInc/cesium/pull/5254 about a week ago that should have fixed this issue. Hopefully that will fix the problem.

Best,

  • Rachel

Thanks Rachel

Now I pulled the newest 3d-tiles branch. Some new problems appeared.

  1. The tree background is now transparent to the buildings but the trees themselves are translucent to the surrounding environment. (See the picture below, the trees in front of the left building is perfect, but the other trees are translucent)

  2. Some building wall materials which were opaque previously are now translucent (See the picture below, the building on the right has translucent walls)

Chris

在 2017年5月16日星期二 UTC+8上午12:55:50,Rachel Hwang写道:

By the way, the gltf model is qpaque but when converted to glb, it becomes translucent. (See the picture below, the left is gltf, the right is glb)

I use gltf-pipeline to convert gltf to glb

Hmm, our 3d team has had some issues with transparency before. It’s possible that a setting in your source model is the issue – we’d recommend checking:
if it’s obj, then check the .mtl for Tr 0. obj2gltf assumes 0 is fully transparent and 1 is nontransparent if you’re using a standard mtl.

Hope that helps,

  • Rachel

Hi Rachel

I use .obj model, and there is no ‘Tr’ in .mtl, only ‘d 1.000000’.

So I change the ‘d 1.000000’ to ‘Tr 1.000000’, but the problem is still here.(The gltf is opaque but the glb is translucent)

I use obj2gltf to generate gltf to obj, and gltf-pipeline to generate glb from gltf.

This problem did not appear in the previous version of 3d-tiles branch.

That is all the information I can provide, maybe it can help you solve the problem later.

Chris

在 2017年5月17日星期三 UTC+8上午4:29:15,Rachel Hwang写道:

rootoutside.mtl (5.16 KB)

rootoutside.obj (616 KB)

Hi Chris,

Can you send us the converted gltf and glb s as well? We may be able to take a look with some internal tools.

Best,

  • Rachel

Hi Chris, I tried your model but I’m not seeing any translucency. First I ran through obj2gltf with the -b option and then obj2gltf without -b and then gltf-pipeline. In both cases this is the result I see (attached).

opaque.png

Sorry Sean,

I forgot to upload the texture files.

I think the rransparency only appears when textures are applied.

But there are a lot of texture files, so that I can’t upload them.

I will send the converted gltf and glb with textures embed.

Chris

在 2017年5月18日星期四 UTC+8上午7:15:31,Sean Lilley写道:

Hi Rachel

Here is the converted gltf and glb.

I also send you the .b3dm and the gltf with batchid extension (rootoutside_bid.gltf, the glb is converted from this gltf).

Chris

在 2017年5月18日星期四 UTC+8上午3:07:49,Rachel Hwang写道:

rootoutside.b3dm (809 KB)

rootoutside.gltf (1.26 MB)

rootoutside_bid.gltf (1.13 MB)

rootoutside.glb (806 KB)

I think I found the problem and opened a PR here: https://github.com/AnalyticalGraphicsInc/gltf-pipeline/pull/284.

As a bit of a side note, if you use the --checkTransparency flag in obj2gltf I believe the problem also goes away.

Thanks so much, Sean

The problem is solved after using the diffuse-texture-alpha-fix branch of gltf-pipeline

Now the glb model is opaque.

在 2017年5月19日星期五 UTC+8上午8:29:38,Sean Lilley写道: