Select to view content in your preferred language

3D Tiles Service Fails to Render in ArcGIS Pro 3.2.2

562
9
Jump to solution
02-29-2024 11:06 PM
Lerman
by
Occasional Contributor

Hi Everyone!

 

I attempted to load a 3D Tiles service in ArcGIS Pro 3.2.2, but the data did not display. From the Diagnostic Monitor's log, I learned:

<Event time="Thu Feb 29 10:42:10.123" type="Error" thread="c1a0: BGL3D ResourceWorker Web" elapsed="0" function="" code="">
3DTiles: In 'b3dm url': Json parsing error: Required GLTF extension 'KHR_texture_basisu' is not supported
</Event>

In the ArcGIS Pro help documentation, Esri provided a list describing supported and unsupported extensions, as seen in the help link: https://pro.arcgis.com/en/pro-app/latest/help/mapping/layer-properties/work-with-3d-tiles-layers.htm However, the 'KHR_texture_basisu' extension does not appear in the table provided in the link above.

My question is, considering that 3DTiles/gltf has many extensions, how can I know which extensions are supported or not supported by ArcGIS? For example, are WebP and CRN texture compression formats supported?

Thank you very much!

 

0 Kudos
1 Solution

Accepted Solutions
Andrew--Johnson
Esri Regular Contributor

@Lerman 

The 3D tiles specification has an extensive list of extensions so we decided to list the more major/commonly used extensions in the documentation. All other messaging  for a specific dataset can be found in the diagnostic monitor. Currently, WebP and CRN texture formats are not supported.

thanks,

Andrew

 

View solution in original post

9 Replies
Lerman
by
Occasional Contributor
0 Kudos
Andrew--Johnson
Esri Regular Contributor

@Lerman 

The 3D tiles specification has an extensive list of extensions so we decided to list the more major/commonly used extensions in the documentation. All other messaging  for a specific dataset can be found in the diagnostic monitor. Currently, WebP and CRN texture formats are not supported.

thanks,

Andrew

 

Lerman
by
Occasional Contributor

@Andrew--Johnson 

Thank you very much for your reply! it has cleared up many doubts in my mind. Will the next version or future versions of ArcGIS Pro support ktx2, WebP, and CRN textures? Additionally, I have another question. When I load some 3dTiles data in ArcGIS Pro, the data does not display. In the Diagnostic Monitor, there is no log information or clear error reason logs. For example,

<Event time="Monday, March 04 9:33:39.785" type="Error" thread="5408: BGL3D ResourceWorker Web" elapsed="0" function="" code="">
3DTiles: Error getting resource: file://C:/Users/Administrator/Desktop/tiles/tileset.json [code:6]
</Event>

This data can be loaded in Cesium. Where should I start troubleshooting, and do you have any suggestions? Thank you!

0 Kudos
Andrew--Johnson
Esri Regular Contributor

@Lerman  We do not have plans to support WebP or CRN. We do support KTX2 and will continue supporting that over the other textures. Can you confirm the tileset.json is in that location? Based on the message either it's not there or there's an issue reading it. If you are able to share the folder of 3d tiles data I can also take a look on my end.

thanks,

Andrew

0 Kudos
Lerman
by
Occasional Contributor

Thank you @Andrew--Johnson !

1. Is the ktx2 texture supported now or is it planned to be supported in the future? Since 'KHR_texture_basisu' is not supported, I don't think ArcGIS Pro 3.2.2 should support ktx2 material yet.

2. I have one osgb data and I did the following tests:

1) Convert OSGB data to 3dTiles dataset, then add it in ArcGIS Pro, the data is not displayed, Diagnostic Monitor log shows:

3DTiles: Error getting resource: file://C:/Users/Administrator/Desktop/3dtiles/osgbdata1/osgb_3dtiles_dataset1/Tile_%2B004_%2B003/Tile_%2B004_%2B003.json [code:2]

2) Convert 3dTiles dataset to 3D tiles packages (.3tz), then add it in ArcGIS Pro, the data is not displayed, Diagnostic Monitor log shows:

3DTiles: Error getting resource: file://C:/Users/Administrator/Desktop/3dtiles/osgbdata1/osgb_3dtiles_package1.3tz/Tile_%2B004_%2B003/Tile_%2B004_%2B003.json [code:2]

3) Publish the 3D tiles packages (.3tz) to ArcGIS Online, then add it in ArcGIS Pro via the 3D Tiles layer URL, and the data displays properly.

I think these three cases should be consistent, either all of them should be displayed or none of them should be displayed. I'm not sure why this is happening now.

(Note: The data download address has been removed after testing.)

Thank you so much!!

 

0 Kudos
Andrew--Johnson
Esri Regular Contributor

@Lerman 

KTX2 textures are planned to be supported in the future. Likely not in the next release but in the following release later this year. I can update the doc to make it clear that it's not supported for next release.

Thanks for sharing the data. This specific error is a bug with decoding the URL. We are working on a fix now so plan to see this resolved in the ArcGIS Pro 3.3 release which is tentatively planned for release in early May.

thanks,

Andrew

0 Kudos
Lerman
by
Occasional Contributor

@Andrew--Johnson 

Hi Andrew!

Thank you so much!

1. Regarding the bug in decoding the URL, can I fix it by modifying the 3dtiles file?

2. There is another case where the data is not displayed on load and there is no warning or error logs in Diagnostic Monitor. I have performed the following tests using a piece of 3dobject type data:

1) Add the 3dTiles dataset to ArcGIS Pro, the data is not displayed, and the Diagnostic Monitor does not show the 3dTiles log.
2) Convert the 3dTiles dataset to 3D tiles packages (.3tz), then add it in ArcGIS Pro, the data is not displayed, and the Diagnostic Monitor does not show the 3dTiles log.
3) Publish the 3D tiles packages (.3tz) to ArcGIS Online, then add it in ArcGIS Pro via the 3D Tiles layer URL, the data is not displayed, Diagnostic Monitor has Debug level logs, no warning or error logs displayed.

The 3D tiles packages (.3tz) can be downloaded at :https://geoseb629ff0d07e.maps.arcgis.com/sharing/rest/content/items/8efb389cfa794448bd0536fc8eb5a7b8...

The 3D Tiles layer URL is: https://tiles.arcgis.com/tiles/YajZw8qVLMD7vmIv/arcgis/rest/services/Building2Shells_3dtilespackage/...

In the meantime, I have generated a slpk file using the 3dobject data. The download address for the slpk file can be found at: https://geoseb629ff0d07e.maps.arcgis.com/sharing/rest/content/items/c47777863f0f4a29948026a83de05ff2... , and you can see the location of the data by addiong this file.

Much appreciated, thanks!

0 Kudos
Andrew--Johnson
Esri Regular Contributor

@Lerman  you could try fixing it by removing the special characters in the path.

For the other dataset it is not rendering because it is invalid according to the 3D tiles specification. 

The root tileset is missing the refine property. This is required per the spec

"A refinement type is required for the root tile of a tileset;"

https://github.com/CesiumGS/3d-tiles/tree/main/specification 

We are looking into some defensive fixes to handle this dataset so if that is something we can do then it will be for the ArcGIS Pro 3.3 release as well.

Also, when working with 3rd party datasets its good to validate these datasets using the Cesium created validator https://github.com/CesiumGS/3d-tiles-validator 

I have not personally worked with this so cannot speak to its accuracy but I know we have our own I3S Validation tool to ensure 3rd party vendors are creating I3S scene layers according to the spec we have written.

thanks,

Andrew

 

Lerman
by
Occasional Contributor

@Andrew--Johnson 

 

Hi, Andrew,

Okay, in addition to missing the 'refine' property, there may also be an issue with the 'transform' property for this data, although it displays correctly in Cesium.

Thank you very much for your detailed explanations, which have cleared up many of my doubts. I have gained a lot of knowledge through this. I appreciate the time and effort you have dedicated to this. I am eagerly looking forward to the release of ArcGIS Pro 3.3. Thank you!