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

时间:2017-02-07 09:59:02

标签: javascript android ios three.js gltf

-spec -

three.js版本:r84(现在)

设备:iPad Air2

iOS版:10.0.2

浏览器:Chrome,Safari

-glTFLoader -

网址:https://threejs.org/examples/#webgl_loader_gltf

怪物 - >没有显示

其他人 - >显示

为什么我会问这个问题?

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

  1. MODO建模,UV,蒙皮和动画
  2. MODO出口的Collada
  3. 通过COLLADA2GLTF工具从Collada转换glTF
  4. 我的模型显示在Windows和macOS上,但未在iOS上显示。 所以,我和示例的情况相同。

    是否有显示它的规则?

    PS

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

1 个答案:

答案 0 :(得分:1)

原因是骨头的最大数量。

如果我们使用超过OS支持的骨骼数量,WebGL渲染器会输出“制服太多”错误。

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

此问题已在github上列出。

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

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

嗯......对于人体模型而言,这是一个很小的数字,等等。

谢谢Marco13和大家。

注意:

Monster模型有32块骨头。 (我的自制模型有52个骨头(!)。)

我能够学习如何使用iOS safari + macOS safari进行调试。

以下是Monster模型的日志。

enter image description here

enter image description here