Imported Collada files missing faces

1286
6
Jump to solution
10-22-2017 11:13 AM
AbeleGiandoso
Occasional Contributor

Hi all. In my workflow I import some geometries from Maya to create more complex shapes. Since I need multiple UV sets to use dirt maps properly I can not use the obj format which only supports 1 UV set. That leaves me only with the collada format option. 

Unfortunately when I import collada files the models appear "broken": faces are missing especially when there are pointy ends, like spikes, or around UV seams. This doesn't happens with objs I noted.

Is there something I'm doing wrong? 

Something I should fix? 

Otherwise is there any way in CE to duplicate 1 uv set into the other ones? Then I could just use objs I guess. 

Thanks

Tags (4)
0 Kudos
1 Solution

Accepted Solutions
CherylLau
Esri Regular Contributor

Thanks for the files, and thanks for the great labeled screenshots.  They really helped us easily understand what you meant.

The faces are missing because in CityEngine we do some cleanup that removes zero area faces.  Some of the models you have are small, and this means that the details on the models, like the spikes and tips of decorative elements, are being removed because these faces are considered to be zero area faces.  If you make your models larger in Maya before you export, then they should work.

The bridge obj is 0.31m, which means the missing faces on the decorations are really tiny.  (Keyboard shortcut M then D to get the measurement tool, or select it in the toolbar).  In real life, I don't think you'd want a bridge that is only 30cm.  If you scale the bridge up to a more city-scale bridge length, then the decorations should be visible.  CityEngine is made for building-scale and city-scale scenes, so we try to cleanup excess geometry that essentially are "zero-area" faces at these scales.  The collada file is a cube because it is an unknown asset.  Given the error message, I assume that the model is also too small.

The tower obj is ok because it is 4m wide, but the collada file is 0.04m wide.  This is why the small decoration elements are missing in the collada file but ok in the obj file.  Try scaling up your model to a larger size.

View solution in original post

6 Replies
CherylLau
Esri Regular Contributor

I haven't tested this myself, but in the help doc, it says that if a texture layer (i.e. layers 1-5) has a texture assigned but the UVs are not defined for this layer, then it uses the UVs from UV set 0 by default.  If you just need the same UV set in each layer, it seems like you can rely on these defaults and use objs.

Texturing: Essential Knowledge 

With regards to collada, there could possibly be some bugs.  Would you be able to post one of the collada files that appear broken?

0 Kudos
AbeleGiandoso
Occasional Contributor

" With regards to collada, there could possibly be some bugs.  Would you be able to post one of the collada files that appear broken?"

I will as soon as I get home  I'll post the same OBJ and collada

"If you just need the same UV set in each layer, it seems like you can rely on these defaults and use objs."

The problem is that in my workflow I import a file with different shading group assigned per material (stone_SG, metal_SG, Wood_SG, RoofTiles_SG), I then comp split it by material name in CE and assign a random Texture to the new shapes according to the material using the UVs it has.

The problem is that for this to work the color.map needs to be tiled several times (TileUV (0,2,2) for instance,) but the dirtmap ( a leak texture) doesn't need this treatment.

Once I use theTileUV (0,2,2) operation though, this tiling get copied into the dirtmap and the dirtmap gets tiled too which is not good.

0 Kudos
CherylLau
Esri Regular Contributor

Yes, then if you need different uv values for each uv set, then relying on the default to uv-set 0 doesn't help in this case, of course.  Sorry, there is no way to copy uv sets from one uv set to another.

In the 2017.1 release, which will come out soon, there were some fixes dealing with the rendering of multiple uv sets in collada files.  This might help, but there also might be other problems, so it would be great if you could still post one of your broken collada files.  Thanks.

AbeleGiandoso
Occasional Contributor

Sure thing

On this note, adding a operation to duplicate a existing  UV set in the different channels would be totally cool

0 Kudos
AbeleGiandoso
Occasional Contributor

Hi

here are the files and some snapshots of Maya and CE.

Case 1: I modeled a simple low poly bridge in Maya and exported it as OBJ and DAE (Collada)

The OBJ imports with some mistakes, like some missing faces, while the DAE imports like a cube.

Case 2: I modeled a low poly Tower and exported it as OBJ and DAE (Collada)

The OBJ imports perfectly, while the DAE imported shapes misses several faces.

0 Kudos
CherylLau
Esri Regular Contributor

Thanks for the files, and thanks for the great labeled screenshots.  They really helped us easily understand what you meant.

The faces are missing because in CityEngine we do some cleanup that removes zero area faces.  Some of the models you have are small, and this means that the details on the models, like the spikes and tips of decorative elements, are being removed because these faces are considered to be zero area faces.  If you make your models larger in Maya before you export, then they should work.

The bridge obj is 0.31m, which means the missing faces on the decorations are really tiny.  (Keyboard shortcut M then D to get the measurement tool, or select it in the toolbar).  In real life, I don't think you'd want a bridge that is only 30cm.  If you scale the bridge up to a more city-scale bridge length, then the decorations should be visible.  CityEngine is made for building-scale and city-scale scenes, so we try to cleanup excess geometry that essentially are "zero-area" faces at these scales.  The collada file is a cube because it is an unknown asset.  Given the error message, I assume that the model is also too small.

The tower obj is ok because it is 4m wide, but the collada file is 0.04m wide.  This is why the small decoration elements are missing in the collada file but ok in the obj file.  Try scaling up your model to a larger size.