Hey, I have ecountered an issue and I hope someone can help me.
I uploaded some street parts (modeled not photo-scanned) to Ion. Each has a 8k Texture, the UV job isnt great but it works for the test. The problem is that after the upload the texture is very blurry. After some testing I figured out that at some models I am simply too far away and that the screen space error blurs the texture for perfomance. This is fixable with CesiumJS. You simply have to adjust the maximumScreenSpaceError to a somewhat decent level (the lower the better the quality but also the longer the loading time and bad performance). But at some objects it doesnt matter how close I am or what screenspaceError or so it is always blurry. For clearance, I usually use a GLB file with embedded Textures. And before and after the upload to Ion the object looks fine in a GLTF viewer (even though the topology is a mess after the Blender export). I also tested different texture resolutions and I am working on testing different formats like OBJ and FBX.
This grafic if its displayed shows a online Gltf Viewer on the left and Cesium on the right I also waited about a minute to make sure Ion has time to load textures. I uploaded this object as a 3D tile.
Thanks for reading I am very grateful for every tip.
Thanks for reporting your problem.
- When uploading to ion, are what options are you choosing?
- Can you provide the asset id of one of your blurry assets?
With answers to these, we might be able to provide some guidance (or fix possible issues on our side). Thanks!
Hey Matt, thanks for responding the ID is 1506268 and usually I upload a GLB with imbedded texture and most of the time I uncheck both Compressions. The GLB is exportet in Blender and it had color texture and a roughness texture.
Thanks. You mentioned this was a glb, but it looks like 1506268 was created from an FBX file. Was that a type on your part, or are you primarily working with FBX files?
Assuming FBX is correct, I did an initial triage of this particular asset and nothing out of the ordinary jumped out at me. I’ve written up an issue for the tilers team to look at with a link back to this post so that we follow up when we have more information.
If you can upload glb/gltf data instead, that would actually be preferred since it is an open standard (but we should still get to the bottom of the FBX issue)
In the meantime, can also you try setting the data type as 3D Capture instead of 3D Model. While you mentioned these weren’t photo-scanned, it might produce better results for this type of data (you would have to try). No promises, just a suggestion to experiment.
Thank you Matt, yeah I tried it with all kinds of formats to figure out if thats the issue sorry for sending you the FBX version. The glb version has the id : 1503169. By the way Uploading it as a 3D Capture fixed the Texture issue but it deforms the Object if you go further away. I assume that this is wanted and controllable with Cesium JS similar to the Texture Compression so thanks a lot.
Glad to hear that helped. Yes, if using 3D Tiles, Cesium3DTileset.maximumScreenSpaceError can control how much detail we load in for a given camera view.
I will also add that we are working on a major upgrade to 3D Capture tiling that will be released later this year which should be a major improvement. No ETA at this time.
I did write up an internal issue with the tilers team for us to look at your blurry textures, but also don’t have an ETA at this time.