当一个“功能”比一个错误更糟糕
When a “feature” is worse than a bug

原始链接: https://medium.com/@egorich42/when-a-feature-is-worse-than-a-bug-hello-sketchfab-b88a10d52511

最近的一个案例凸显了从Sketchfab下载的.usdz模型的一个令人沮丧的问题。虽然在苹果原生查看器中显示正确,但通过官方USD导入器将相同的文件导入Blender时,会导致角色翻转、对象分离以及姿势重置。 根本原因不是Blender或模型本身,而是Sketchfab的处理方式。为了优化存储并统一格式,Sketchfab会重新打包上传的模型,添加改变原始结构的包装层。这种“优化”引入了错误,因为下载的模型并非艺术家最初创建的模型。 3DWay的后端负责人认为,这以牺牲用户为代价来使Sketchfab受益,将其比作压缩游戏纹理或缩小鞋子——改变了预期的产品。虽然处理各种模型结构很复杂,但保留原始资产结构对于准确共享和避免意外导入问题至关重要,而3DWay已经成功地实现了这一点。苹果的查看器可能能够处理这些修改后的文件,因为它对USDZ格式有更深入的理解。

这个Hacker News讨论围绕一篇博文,该博文认为Blender导入Sketchfab的模型出现问题是Sketchfab的错。但一位评论员指出,作者承认Blender的USD导入器*也*存在问题,并且Apple的查看器可以正确处理相同的文件。 该评论员质疑Sketchfab是否真的有错,认为问题可能存在于Sketchfab处理*之前*的原始模型中。他们认为Apple对USDZ格式(由Pixar和Apple开发)更深入的理解使其能够正确解析,即使是复杂的文件。 最终,该评论员认为这篇博文可能是在为作者的公司做自我宣传,而不是对技术问题的明确诊断。他们呼吁在Blender中测试原始的、未处理的模型,以确定根本原因。
相关文章

原文

Recently I ran into a pretty nasty case.
A .usdz model downloaded from Sketchfab (this detail is important).

In the first screenshot it’s opened in Apple’s built-in Viewer:

Press enter or click to view image in full size

The same file is imported into Blender via official USD importer:

Press enter or click to view image in full size

The character is flipped upside down, the spear is separated, and the pose is reset to a T-pose.

Why? Because of …Sketchfab.

Yes, the problem is not in Blender’s importer, and not in the model itself. The issue really comes from Sketchfab’s side.

When Sketchfab processes an uploaded model, it changes its internal structure — repacks the meshes and adds its own wrapper layers on top of everything.

You alwayse can check it yourself — inside every downloaded model from Scetchfub you will see a lot ow wrappers like:

Press enter or click to view image in full size

So yes, the model downloaded from Sketchfab doesn’t have the same structure the artist originally created, and yes, that can easily cause bugs like the one on the screenshot.

I can understand Sketchfab’s logic here: when you process tens of thousands of models in all possible formats, bringing them to a unified structure sounds like a smart optimization step.

But this step gives benefits to the company, not to its users. It removes transparency and adds uncertainty.

And if your solution makes life easier for the team but worse for the users, then it’s a bad solution. No exceptions.

Imagine if Steam, for the sake of “storage optimization,” decided to automatically compress all game textures down to 640×480 and re-encode the audio tracks to mono — because, you know, it’s more efficient that way.

Or think about a shoe store that shrinks every pair of shoes to save space during delivery.
You order size 43, but what arrives is 39 — and their support just says,
“Sorry, that’s on you. We optimized it.”

Especially since it’s totally possible to handle user-uploaded models and render them correctly without forcing everything into a single unified structure.

That’s exactly how we do it at 3DWay, where I’m the Backend Lead and was responsible for solving this problem.

Yes, letting creators upload models in any structure and allowing others to download them in the exact same form can be painful.

And it is painful, believe me! Especially when it’s not a neat .usdz package but something like .fbx or .obj with separate textures.)
But still — it’s not rocket science.

Even if the platform keeps all the same elements and “just” reshuffles and repackages them, changing the original structure of a user-uploaded asset is still a very, very bad idea.

If I upload some content that’s meant to be shared with others, I naturally expect them to see the original, not some “processed” version of it.

Sure, you can say that Blender’s USD importer is dumb, and that Sketchfab doesn’t actually remove anything, it just reshuffles and repackages stuff.

But changes are changes. If I upload some content that’s meant to be shared with others,
I naturally expect them to see the original, not a “processed” version.

P.S. Why does Apple’s built-in Viewer handle it just fine?
I guess it’s because it understands the format on a much deeper level. Since USDZ is a technology originally developed by Pixar and Apple, the macOS viewer’s parser can correctly read even the most twisted USD file.

My Linkedin: https://www.linkedin.com/in/yahorch/
My Instagram:
https://www.instagram.com/egorich42/
My Telegram: https://t.me/e_chuchvaga

联系我们 contact @ memedata.com