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!
Solved! Go to Solution.
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
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
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!
@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
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!!
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
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!
@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
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!