为什么 iOS three.js 的 glTFLoader 不显示 Monster 模型?

Why is not Monster model displayed by glTFLoader of three.js on iOS?

-规格-

three.js 版本:r84(现在)

设备:iPadAir2

iOS 版本:10.0.2

浏览器:Chrome、Safari

-glTFLoader-

URL : https://threejs.org/examples/#webgl_loader_gltf

怪物 -> 不显示

其他 -> 显示

我为什么要问这个问题?

我的自制模型也有同样的问题。 我的模型是通过以下过程导出的。

  1. MODO 建模、UV、蒙皮和动画
  2. MODO 导出的 Collada
  3. 通过 COLLADA2GLTF 工具从 Collada 转换 glTF

我的模型在 Windows 和 macOS 上显示,但在 iOS 上不显示。 所以,我和例子的情况一样。

是否有显示规则?

PS

我没有新的 Android 设备。我不查看 Android...

原因是骨骼数量上限。

如果我们使用的骨骼数量超过 OS 支持的数量,WebGL 渲染器会输出 "too many uniforms" 错误。

我听说 iOS(10.x?)支持 22 根骨骼(Phong 着色)或 22 根骨骼(Lambert 着色)。

此问题已在 github 上列出。

https://github.com/mrdoob/three.js/issues/7807

一个简单的解决方案是我们使用少于 22 根骨头。

嗯...对于人体模型等来说这是一个小数字。

谢谢 Marco13 和大家。

注:

怪物模型有 32 块骨头。 (我的 self-made 模型有 52 根骨头 (!)。)

我学会了如何使用 iOS safari + macOS safari 进行调试。

以下是怪物模型的日志